add the new module

git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1356093 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Olivier Lamy 2012-07-02 07:37:52 +00:00
parent 1484a3316a
commit b66f289d2b
4 changed files with 216 additions and 0 deletions

51
archiva-testutil/pom.xml Normal file
View File

@ -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>

View File

@ -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() );
}
}

View File

@ -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() );
}
}

View File

@ -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() );
}
}
}