summaryrefslogtreecommitdiffstats
path: root/archiva-modules
diff options
context:
space:
mode:
Diffstat (limited to 'archiva-modules')
-rw-r--r--archiva-modules/archiva-base/archiva-testutil/pom.xml51
-rw-r--r--archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaBlockJUnit4ClassRunner.java43
-rw-r--r--archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaSpringJUnit4ClassRunner.java45
-rw-r--r--archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ListGenerator.java77
-rw-r--r--archiva-modules/archiva-base/pom.xml1
5 files changed, 217 insertions, 0 deletions
diff --git a/archiva-modules/archiva-base/archiva-testutil/pom.xml b/archiva-modules/archiva-base/archiva-testutil/pom.xml
new file mode 100644
index 000000000..829385fb8
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-testutil/pom.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>archiva</artifactId>
+ <version>1.4-M3-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>archiva-testutil</artifactId>
+ <name>Archiva :: Test Utility</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-test</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>xmlunit</groupId>
+ <artifactId>xmlunit</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaBlockJUnit4ClassRunner.java b/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaBlockJUnit4ClassRunner.java
new file mode 100644
index 000000000..4a6a2bb23
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaBlockJUnit4ClassRunner.java
@@ -0,0 +1,43 @@
+package org.apache.archiva.test;
+
+/*
+ * Copyright 2012 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.InitializationError;
+
+import java.util.List;
+
+/**
+ * @author Eric
+ */
+public class ArchivaBlockJUnit4ClassRunner
+ extends BlockJUnit4ClassRunner
+{
+
+ public ArchivaBlockJUnit4ClassRunner( Class<?> klass )
+ throws InitializationError
+ {
+ super( klass );
+ }
+
+ @Override
+ protected List<FrameworkMethod> computeTestMethods()
+ {
+ return ListGenerator.getShuffleList( super.computeTestMethods() );
+ }
+}
diff --git a/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaSpringJUnit4ClassRunner.java b/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaSpringJUnit4ClassRunner.java
new file mode 100644
index 000000000..7dbdebe71
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ArchivaSpringJUnit4ClassRunner.java
@@ -0,0 +1,45 @@
+package org.apache.archiva.test;
+
+/*
+ * Copyright 2012 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.InitializationError;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import java.util.List;
+
+/**
+ * @author Eric
+ */
+public class ArchivaSpringJUnit4ClassRunner
+ extends SpringJUnit4ClassRunner
+{
+
+ public ArchivaSpringJUnit4ClassRunner( Class<?> clazz )
+ throws InitializationError
+ {
+ super( clazz );
+ }
+
+ @Override
+ protected List<FrameworkMethod> computeTestMethods()
+ {
+ return ListGenerator.getShuffleList( super.computeTestMethods() );
+ }
+
+
+}
diff --git a/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ListGenerator.java b/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ListGenerator.java
new file mode 100644
index 000000000..69ee4e77f
--- /dev/null
+++ b/archiva-modules/archiva-base/archiva-testutil/src/main/java/org/apache/archiva/test/ListGenerator.java
@@ -0,0 +1,77 @@
+package org.apache.archiva.test;
+
+/*
+ * Copyright 2012 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.junit.runners.model.FrameworkMethod;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * @author Eric
+ */
+public class ListGenerator
+{
+ private static int MAXROUND = 1;
+
+ private ListGenerator()
+ {
+ }
+
+ static List<FrameworkMethod> getShuffleList( List<FrameworkMethod> computeTestMethods )
+ {
+ String javaSpecVersion = System.getProperty( "java.specification.version" );
+ // 1.6 1.5 version not shuffled to allow build
+ if ( javaSpecVersion.equals( "1.6" ) || javaSpecVersion.equals( "1.5" ) )
+ {
+ return computeTestMethods;
+ }
+ if ( computeTestMethods == null )
+ {
+ return null;
+ }
+ List<FrameworkMethod> generated = new ArrayList<FrameworkMethod>( computeTestMethods );
+
+ Collections.sort( generated, new FrameworkMethodComparator() );
+
+ // 1.7 and more generated shuffled list
+ // double test method to have more change of failure
+ /*for ( int i = 0; i < MAXROUND; i++ )
+ {
+ Collections.shuffle( computeTestMethods );
+ generated.addAll( computeTestMethods );
+ }*/
+ //generated.add( computeTestMethods.get( 0 ) );
+
+ //Collections.shuffle( computeTestMethods );
+ //generated.addAll( computeTestMethods );
+
+ return generated;
+ }
+
+ private static class FrameworkMethodComparator
+ implements Comparator<FrameworkMethod>
+ {
+ public int compare( FrameworkMethod frameworkMethod, FrameworkMethod frameworkMethod1 )
+ {
+ return frameworkMethod.getName().compareTo( frameworkMethod1.getName() );
+ }
+ }
+
+}
diff --git a/archiva-modules/archiva-base/pom.xml b/archiva-modules/archiva-base/pom.xml
index 1431d932a..981d47d79 100644
--- a/archiva-modules/archiva-base/pom.xml
+++ b/archiva-modules/archiva-base/pom.xml
@@ -29,6 +29,7 @@
<packaging>pom</packaging>
<modules>
+ <module>archiva-testutil</module>
<module>archiva-common</module>
<module>archiva-model</module>
<module>archiva-configuration</module>