You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/04/28 01:12:32 UTC
svn commit: r769199 [12/19] - in /maven/mercury/trunk:
mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/
mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/
mercury-core/src/main/java/org/apache/maven/mercury/artifact/...
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersionTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersionTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersionTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/artifact/version/DefaultArtifactVersionTest.java Mon Apr 27 23:12:25 2009
@@ -23,7 +23,7 @@
/**
* Test DefaultArtifactVersion.
- *
+ *
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
*/
@@ -39,9 +39,10 @@
String qualifier )
{
ArtifactVersion artifactVersion = newArtifactVersion( version );
- String parsed = "'" + version + "' parsed as ('" + artifactVersion.getMajorVersion() + "', '"
- + artifactVersion.getMinorVersion() + "', '" + artifactVersion.getIncrementalVersion() + "', '"
- + artifactVersion.getBuildNumber() + "', '" + artifactVersion.getQualifier() + "'), ";
+ String parsed =
+ "'" + version + "' parsed as ('" + artifactVersion.getMajorVersion() + "', '"
+ + artifactVersion.getMinorVersion() + "', '" + artifactVersion.getIncrementalVersion() + "', '"
+ + artifactVersion.getBuildNumber() + "', '" + artifactVersion.getQualifier() + "'), ";
assertEquals( parsed + "check major version", major, artifactVersion.getMajorVersion() );
assertEquals( parsed + "check minor version", minor, artifactVersion.getMinorVersion() );
assertEquals( parsed + "check incremental version", incremental, artifactVersion.getIncrementalVersion() );
@@ -52,37 +53,37 @@
public void testVersionParsing()
{
- checkVersionParsing( "1" , 1, 0, 0, 0, null );
- checkVersionParsing( "1.2" , 1, 2, 0, 0, null );
- checkVersionParsing( "1.2.3" , 1, 2, 3, 0, null );
- checkVersionParsing( "1.2.3-1" , 1, 2, 3, 1, null );
- checkVersionParsing( "1.2.3-alpha-1" , 1, 2, 3, 0, "alpha-1" );
- checkVersionParsing( "1.2-alpha-1" , 1, 2, 0, 0, "alpha-1" );
- checkVersionParsing( "1.2-alpha-1-20050205.060708-1" , 1, 2, 0, 0, "alpha-1-20050205.060708-1" );
- checkVersionParsing( "RELEASE" , 0, 0, 0, 0, "RELEASE" );
- checkVersionParsing( "2.0-1" , 2, 0, 0, 1, null );
+ checkVersionParsing( "1", 1, 0, 0, 0, null );
+ checkVersionParsing( "1.2", 1, 2, 0, 0, null );
+ checkVersionParsing( "1.2.3", 1, 2, 3, 0, null );
+ checkVersionParsing( "1.2.3-1", 1, 2, 3, 1, null );
+ checkVersionParsing( "1.2.3-alpha-1", 1, 2, 3, 0, "alpha-1" );
+ checkVersionParsing( "1.2-alpha-1", 1, 2, 0, 0, "alpha-1" );
+ checkVersionParsing( "1.2-alpha-1-20050205.060708-1", 1, 2, 0, 0, "alpha-1-20050205.060708-1" );
+ checkVersionParsing( "RELEASE", 0, 0, 0, 0, "RELEASE" );
+ checkVersionParsing( "2.0-1", 2, 0, 0, 1, null );
// 0 at the beginning of a number has a special handling
- checkVersionParsing( "02" , 0, 0, 0, 0, "02" );
- checkVersionParsing( "0.09" , 0, 0, 0, 0, "0.09" );
- checkVersionParsing( "0.2.09" , 0, 0, 0, 0, "0.2.09" );
- checkVersionParsing( "2.0-01" , 2, 0, 0, 0, "01" );
+ checkVersionParsing( "02", 0, 0, 0, 0, "02" );
+ checkVersionParsing( "0.09", 0, 0, 0, 0, "0.09" );
+ checkVersionParsing( "0.2.09", 0, 0, 0, 0, "0.2.09" );
+ checkVersionParsing( "2.0-01", 2, 0, 0, 0, "01" );
// version schemes not really supported: fully transformed as qualifier
- checkVersionParsing( "1.0.1b" , 0, 0, 0, 0, "1.0.1b" );
- checkVersionParsing( "1.0M2" , 0, 0, 0, 0, "1.0M2" );
- checkVersionParsing( "1.0RC2" , 0, 0, 0, 0, "1.0RC2" );
- checkVersionParsing( "1.7.3.0" , 0, 0, 0, 0, "1.7.3.0" );
- checkVersionParsing( "1.7.3.0-1" , 0, 0, 0, 0, "1.7.3.0-1" );
- checkVersionParsing( "PATCH-1193602" , 0, 0, 0, 0, "PATCH-1193602" );
- checkVersionParsing( "5.0.0alpha-2006020117" , 0, 0, 0, 0, "5.0.0alpha-2006020117" );
+ checkVersionParsing( "1.0.1b", 0, 0, 0, 0, "1.0.1b" );
+ checkVersionParsing( "1.0M2", 0, 0, 0, 0, "1.0M2" );
+ checkVersionParsing( "1.0RC2", 0, 0, 0, 0, "1.0RC2" );
+ checkVersionParsing( "1.7.3.0", 0, 0, 0, 0, "1.7.3.0" );
+ checkVersionParsing( "1.7.3.0-1", 0, 0, 0, 0, "1.7.3.0-1" );
+ checkVersionParsing( "PATCH-1193602", 0, 0, 0, 0, "PATCH-1193602" );
+ checkVersionParsing( "5.0.0alpha-2006020117", 0, 0, 0, 0, "5.0.0alpha-2006020117" );
checkVersionParsing( "1.0.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.0.-SNAPSHOT" );
checkVersionParsing( "1..0-SNAPSHOT", 0, 0, 0, 0, "1..0-SNAPSHOT" );
checkVersionParsing( "1.0.-SNAPSHOT", 0, 0, 0, 0, "1.0.-SNAPSHOT" );
checkVersionParsing( ".1.0-SNAPSHOT", 0, 0, 0, 0, ".1.0-SNAPSHOT" );
- checkVersionParsing( "1.2.3.200705301630" , 0, 0, 0, 0, "1.2.3.200705301630" );
- checkVersionParsing( "1.2.3-200705301630" , 1, 2, 3, 0, "200705301630" );
+ checkVersionParsing( "1.2.3.200705301630", 0, 0, 0, 0, "1.2.3.200705301630" );
+ checkVersionParsing( "1.2.3-200705301630", 1, 2, 3, 0, "200705301630" );
}
public void testVersionComparing()
@@ -115,7 +116,7 @@
assertVersionOlder( "2.0-1", "2.0.1" );
assertVersionOlder( "2.0.1-klm", "2.0.1-lmn" );
- //assertVersionOlder( "2.0.1-xyz", "2.0.1" );
+ // assertVersionOlder( "2.0.1-xyz", "2.0.1" );
assertVersionOlder( "2.0.1", "2.0.1-123" );
assertVersionOlder( "2.0.1-xyz", "2.0.1-123" );
@@ -140,7 +141,7 @@
assertVersionOlder( "1.0.0-SNAPSHOT", "1.1-SNAPSHOT" );
assertVersionOlder( "1.1-SNAPSHOT", "1.2.0-SNAPSHOT" );
- //assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-SNAPSHOT" );
+ // assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-SNAPSHOT" );
assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-alpha-2-SNAPSHOT" );
assertVersionOlder( "1.0-alpha-1-SNAPSHOT", "1.0-beta-1-SNAPSHOT" );
@@ -150,7 +151,7 @@
assertVersionOlder( "1.0-SNAPSHOT", "1.0-1-SNAPSHOT" );
assertVersionOlder( "1.0-1-SNAPSHOT", "1.0-2-SNAPSHOT" );
- //assertVersionEqual( "2.0-0-SNAPSHOT", "2.0-SNAPSHOT" );
+ // assertVersionEqual( "2.0-0-SNAPSHOT", "2.0-SNAPSHOT" );
assertVersionOlder( "2.0-SNAPSHOT", "2.0-1-SNAPSHOT" );
assertVersionOlder( "2.0.0-SNAPSHOT", "2.0-1-SNAPSHOT" );
assertVersionOlder( "2.0-1-SNAPSHOT", "2.0.1-SNAPSHOT" );
@@ -163,7 +164,7 @@
public void testSnapshotVsReleases()
{
- //assertVersionOlder( "1.0-RC1", "1.0-SNAPSHOT" ); not feasible if "1.0-SNAPSHOT" < "1.0-beta-1" too
+ // assertVersionOlder( "1.0-RC1", "1.0-SNAPSHOT" ); not feasible if "1.0-SNAPSHOT" < "1.0-beta-1" too
assertVersionOlder( "1.0-SNAPSHOT", "1.0-RC1" );
assertVersionOlder( "1.0-SNAPSHOT", "1.0-rc1" );
assertVersionOlder( "1.0-SNAPSHOT", "1.0-rc-1" );
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/crypto/pgp/PgpStreamVerifierTest.java Mon Apr 27 23:12:25 2009
@@ -30,125 +30,130 @@
import org.bouncycastle.openpgp.PGPSecretKeyRing;
/**
- *
- *
* @author Oleg Gusakov
* @version $Id$
- *
*/
public class PgpStreamVerifierTest
extends TestCase
{
- private static final String keyId = "0EDB5D91141BC4F2";
+ private static final String keyId = "0EDB5D91141BC4F2";
- private static final String secretKeyFile = "/secring.gpg";
- private static final String secretKeyPass = "testKey82";
+ private static final String secretKeyFile = "/secring.gpg";
- private static final String publicKeyFile = "/pubring.gpg";
-
- private PGPSecretKeyRing secretKeyRing;
- private PGPSecretKey secretKey;
- private PGPPublicKey publicKey;
-
- PgpStreamVerifierFactory svf;
-
- PgpStreamVerifier sv;
-
- protected void setUp()
- throws Exception
- {
- InputStream in = getClass().getResourceAsStream( secretKeyFile );
- assertNotNull( in );
-
- secretKeyRing = PgpHelper.readKeyRing( in, keyId );
- assertNotNull( secretKeyRing );
-
- secretKey = secretKeyRing.getSecretKey( Long.parseLong( keyId, 16 ) );
- publicKey = secretKeyRing.getPublicKey();
-
- StreamVerifierAttributes attributes = new StreamVerifierAttributes(PgpStreamVerifierFactory.DEFAULT_EXTENSION, true, true);
-
- InputStream is = getClass().getResourceAsStream( publicKeyFile );
- svf = new PgpStreamVerifierFactory( attributes, is );
- is.close();
-
- is = getClass().getResourceAsStream( secretKeyFile );
- svf.init( is, keyId, secretKeyPass );
- is.close();
- }
-
- protected void tearDown()
- throws Exception
- {
- super.tearDown();
- }
- //-------------------------------------------------------------------------------------------------
- public void testGenerateSignature()
- throws IOException, StreamObserverException
- {
- PgpStreamVerifier sv = (PgpStreamVerifier)svf.newInstance();
- InputStream in = getClass().getResourceAsStream( "/file.gif" );
-
- int b;
- while( (b = in.read()) != -1 )
- sv.byteReady( b );
-
- String sig = sv.getSignature();
-
- assertNotNull( sig );
-
- assertTrue( sig.length() > 10 );
-
-// System.out.println("Signature is \n"+sig+"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
- }
- //-------------------------------------------------------------------------------------------------
- public void testVerifySignature()
- throws IOException, StreamObserverException
- {
- PgpStreamVerifier sv = (PgpStreamVerifier)svf.newInstance();
-
- InputStream in = getClass().getResourceAsStream( "/file.gif" );
- String sig = PgpHelper.streamToString( getClass().getResourceAsStream( "/file.gif.asc" ) );
-
- sv.initSignature( sig );
-
- int b;
- while( (b = in.read()) != -1 )
- sv.byteReady( b );
-
- boolean verified = sv.verifySignature();
-
- assertTrue( verified );
-
- System.out.println("BouncyCastle Signature is "+verified);
- }
- //-------------------------------------------------------------------------------------------------
- public void testVerifyExternalSignature2()
- throws IOException, StreamObserverException
- {
- InputStream in = getClass().getResourceAsStream( "/file.gif" );
- InputStream sig = getClass().getResourceAsStream( "/file.gif.asc.external" );
- InputStream publicKeyRingStream = getClass().getResourceAsStream( publicKeyFile );
-
- boolean verified = PgpHelper.verifyStream( in, sig, publicKeyRingStream );
-
- assertTrue( verified );
-
- System.out.println("3rd Party Signature is "+verified);
- }
- //-------------------------------------------------------------------------------------------------
- public void testVerifyBCSignature()
- throws IOException, StreamObserverException
- {
- InputStream in = getClass().getResourceAsStream( "/file.gif" );
- InputStream sig = getClass().getResourceAsStream( "/file.gif.asc" );
- InputStream publicKeyRingStream = getClass().getResourceAsStream( publicKeyFile );
-
- boolean verified = PgpHelper.verifyStream( in, sig, publicKeyRingStream );
-
- assertTrue( verified );
-
- System.out.println("BC Signature is "+verified);
- }
- //-------------------------------------------------------------------------------------------------
+ private static final String secretKeyPass = "testKey82";
+
+ private static final String publicKeyFile = "/pubring.gpg";
+
+ private PGPSecretKeyRing secretKeyRing;
+
+ private PGPSecretKey secretKey;
+
+ private PGPPublicKey publicKey;
+
+ PgpStreamVerifierFactory svf;
+
+ PgpStreamVerifier sv;
+
+ protected void setUp()
+ throws Exception
+ {
+ InputStream in = getClass().getResourceAsStream( secretKeyFile );
+ assertNotNull( in );
+
+ secretKeyRing = PgpHelper.readKeyRing( in, keyId );
+ assertNotNull( secretKeyRing );
+
+ secretKey = secretKeyRing.getSecretKey( Long.parseLong( keyId, 16 ) );
+ publicKey = secretKeyRing.getPublicKey();
+
+ StreamVerifierAttributes attributes =
+ new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, true, true );
+
+ InputStream is = getClass().getResourceAsStream( publicKeyFile );
+ svf = new PgpStreamVerifierFactory( attributes, is );
+ is.close();
+
+ is = getClass().getResourceAsStream( secretKeyFile );
+ svf.init( is, keyId, secretKeyPass );
+ is.close();
+ }
+
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+
+ // -------------------------------------------------------------------------------------------------
+ public void testGenerateSignature()
+ throws IOException, StreamObserverException
+ {
+ PgpStreamVerifier sv = (PgpStreamVerifier) svf.newInstance();
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+
+ int b;
+ while ( ( b = in.read() ) != -1 )
+ sv.byteReady( b );
+
+ String sig = sv.getSignature();
+
+ assertNotNull( sig );
+
+ assertTrue( sig.length() > 10 );
+
+ // System.out.println("Signature is \n"+sig+"\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
+ }
+
+ // -------------------------------------------------------------------------------------------------
+ public void testVerifySignature()
+ throws IOException, StreamObserverException
+ {
+ PgpStreamVerifier sv = (PgpStreamVerifier) svf.newInstance();
+
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+ String sig = PgpHelper.streamToString( getClass().getResourceAsStream( "/file.gif.asc" ) );
+
+ sv.initSignature( sig );
+
+ int b;
+ while ( ( b = in.read() ) != -1 )
+ sv.byteReady( b );
+
+ boolean verified = sv.verifySignature();
+
+ assertTrue( verified );
+
+ System.out.println( "BouncyCastle Signature is " + verified );
+ }
+
+ // -------------------------------------------------------------------------------------------------
+ public void testVerifyExternalSignature2()
+ throws IOException, StreamObserverException
+ {
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+ InputStream sig = getClass().getResourceAsStream( "/file.gif.asc.external" );
+ InputStream publicKeyRingStream = getClass().getResourceAsStream( publicKeyFile );
+
+ boolean verified = PgpHelper.verifyStream( in, sig, publicKeyRingStream );
+
+ assertTrue( verified );
+
+ System.out.println( "3rd Party Signature is " + verified );
+ }
+
+ // -------------------------------------------------------------------------------------------------
+ public void testVerifyBCSignature()
+ throws IOException, StreamObserverException
+ {
+ InputStream in = getClass().getResourceAsStream( "/file.gif" );
+ InputStream sig = getClass().getResourceAsStream( "/file.gif.asc" );
+ InputStream publicKeyRingStream = getClass().getResourceAsStream( publicKeyFile );
+
+ boolean verified = PgpHelper.verifyStream( in, sig, publicKeyRingStream );
+
+ assertTrue( verified );
+
+ System.out.println( "BC Signature is " + verified );
+ }
+ // -------------------------------------------------------------------------------------------------
}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java Mon Apr 27 23:12:25 2009
@@ -27,181 +27,171 @@
import org.apache.maven.mercury.event.MercuryEvent.EventMask;
/**
- *
- *
* @author Oleg Gusakov
* @version $Id$
- *
*/
public class EventFrameworkTest
-extends TestCase
+ extends TestCase
{
- static final int THREAD_COUNT = 5;
- static final int EVENT_COUNT = 10;
-
- ExecutorService es;
-
- EventManager em;
-
- Listener listener;
-
- @Override
- protected void setUp()
- throws Exception
- {
- es = Executors.newFixedThreadPool( THREAD_COUNT );
- }
-
- public void testListenAllEvents()
- throws Exception
- {
- runTest( null, null, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT );
- }
-
- public void testListenMaskedListenerEvents()
- throws Exception
- {
- runTest( null
- , new MercuryEvent.EventMask(EventTypeEnum.localRepository)
- , THREAD_COUNT * EventFrameworkTest.EVENT_COUNT
- , 0
- );
- }
-
- public void testListenMaskedManagerEvents()
- throws Exception
- {
- runTest( new MercuryEvent.EventMask(EventTypeEnum.remoteRepository)
- , null
- , 0
- , THREAD_COUNT * EventFrameworkTest.EVENT_COUNT
- );
- }
-
- public void testListenMismatchedMaskEvents()
- throws Exception
- {
- runTest( new MercuryEvent.EventMask(EventTypeEnum.remoteRepository)
- , new MercuryEvent.EventMask(EventTypeEnum.localRepository)
- , 0
- , 0
- );
- }
- //-------------------------------------------------------------------------------------------------------------------------------
- private void runTest( MercuryEvent.EventMask emMask, MercuryEvent.EventMask listenerMask, int expectedLocal, int expectedRemote )
- throws Exception
- {
- em = new EventManager( emMask );
-
- listener = new Listener( listenerMask );
-
- em.register( listener );
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, EventTypeEnum.localRepository, ""+i ) );
- }
-
- for( int i=0; i<THREAD_COUNT; i++ )
- {
- es.execute( new Generator( em, EventTypeEnum.remoteRepository, ""+i ) );
- }
-
- es.awaitTermination( 2, TimeUnit.SECONDS );
-
- assertEquals( expectedLocal, listener.localRepoCount );
- assertEquals( expectedRemote, listener.remoteRepoCount );
- }
+ static final int THREAD_COUNT = 5;
+
+ static final int EVENT_COUNT = 10;
+
+ ExecutorService es;
+
+ EventManager em;
+
+ Listener listener;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ es = Executors.newFixedThreadPool( THREAD_COUNT );
+ }
+
+ public void testListenAllEvents()
+ throws Exception
+ {
+ runTest( null, null, THREAD_COUNT * EventFrameworkTest.EVENT_COUNT, THREAD_COUNT
+ * EventFrameworkTest.EVENT_COUNT );
+ }
+
+ public void testListenMaskedListenerEvents()
+ throws Exception
+ {
+ runTest( null, new MercuryEvent.EventMask( EventTypeEnum.localRepository ), THREAD_COUNT
+ * EventFrameworkTest.EVENT_COUNT, 0 );
+ }
+
+ public void testListenMaskedManagerEvents()
+ throws Exception
+ {
+ runTest( new MercuryEvent.EventMask( EventTypeEnum.remoteRepository ), null, 0, THREAD_COUNT
+ * EventFrameworkTest.EVENT_COUNT );
+ }
+
+ public void testListenMismatchedMaskEvents()
+ throws Exception
+ {
+ runTest( new MercuryEvent.EventMask( EventTypeEnum.remoteRepository ),
+ new MercuryEvent.EventMask( EventTypeEnum.localRepository ), 0, 0 );
+ }
+
+ // -------------------------------------------------------------------------------------------------------------------------------
+ private void runTest( MercuryEvent.EventMask emMask, MercuryEvent.EventMask listenerMask, int expectedLocal,
+ int expectedRemote )
+ throws Exception
+ {
+ em = new EventManager( emMask );
+
+ listener = new Listener( listenerMask );
+
+ em.register( listener );
+
+ for ( int i = 0; i < THREAD_COUNT; i++ )
+ {
+ es.execute( new Generator( em, EventTypeEnum.localRepository, "" + i ) );
+ }
+
+ for ( int i = 0; i < THREAD_COUNT; i++ )
+ {
+ es.execute( new Generator( em, EventTypeEnum.remoteRepository, "" + i ) );
+ }
+
+ es.awaitTermination( 2, TimeUnit.SECONDS );
+
+ assertEquals( expectedLocal, listener.localRepoCount );
+ assertEquals( expectedRemote, listener.remoteRepoCount );
+ }
}
-//===================== helper classes =====================
+// ===================== helper classes =====================
class Listener
-implements MercuryEventListener
+ implements MercuryEventListener
{
- MercuryEvent.EventMask _mask;
-
- int localRepoCount = 0;
-
- int remoteRepoCount = 0;
-
- public Listener( MercuryEvent.EventMask mask )
- {
- _mask = mask;
- }
-
- public void fire( MercuryEvent event )
- {
-// System.out.println( EventManager.toString( event ) );
-// System.out.flush();
-
- if( event.getType().equals( EventTypeEnum.localRepository ) )
- ++localRepoCount;
- else
- if( event.getType().equals( EventTypeEnum.remoteRepository ) )
- ++remoteRepoCount;
- }
-
- public EventMask getMask()
- {
- return _mask;
- }
-
+ MercuryEvent.EventMask _mask;
+
+ int localRepoCount = 0;
+
+ int remoteRepoCount = 0;
+
+ public Listener( MercuryEvent.EventMask mask )
+ {
+ _mask = mask;
+ }
+
+ public void fire( MercuryEvent event )
+ {
+ // System.out.println( EventManager.toString( event ) );
+ // System.out.flush();
+
+ if ( event.getType().equals( EventTypeEnum.localRepository ) )
+ ++localRepoCount;
+ else if ( event.getType().equals( EventTypeEnum.remoteRepository ) )
+ ++remoteRepoCount;
+ }
+
+ public EventMask getMask()
+ {
+ return _mask;
+ }
+
}
class Generator
-implements Runnable, EventGenerator
+ implements Runnable, EventGenerator
{
-
- EventManager _eventManager;
-
- String _msg;
-
- EventTypeEnum _myType;
-
- public Generator( EventManager em, EventTypeEnum type, String msg )
- {
- _eventManager = em;
- _msg = msg;
- _myType = type;
- }
-
- public void run()
- {
- for( int i=0; i< EventFrameworkTest.EVENT_COUNT; i++ )
- try
- {
- GenericEvent event = new GenericEvent( _myType, _msg );
- Thread.sleep( (int)(100.0*Math.random()) );
- event.stop();
- _eventManager.fireEvent( event );
- }
- catch( InterruptedException e )
- {
- return;
- }
- }
-
- public void register( MercuryEventListener listener )
- {
- if( _eventManager == null )
- _eventManager = new EventManager();
-
- _eventManager.register( listener );
- }
-
- public void unRegister( MercuryEventListener listener )
- {
- if( _eventManager != null )
- _eventManager.unRegister( listener );
- }
-
- public void setEventManager( EventManager eventManager )
- {
- if( _eventManager == null )
- _eventManager = eventManager;
- else
- _eventManager.getListeners().addAll( eventManager.getListeners() );
-
- }
-}
+ EventManager _eventManager;
+
+ String _msg;
+
+ EventTypeEnum _myType;
+
+ public Generator( EventManager em, EventTypeEnum type, String msg )
+ {
+ _eventManager = em;
+ _msg = msg;
+ _myType = type;
+ }
+
+ public void run()
+ {
+ for ( int i = 0; i < EventFrameworkTest.EVENT_COUNT; i++ )
+ try
+ {
+ GenericEvent event = new GenericEvent( _myType, _msg );
+ Thread.sleep( (int) ( 100.0 * Math.random() ) );
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ catch ( InterruptedException e )
+ {
+ return;
+ }
+ }
+
+ public void register( MercuryEventListener listener )
+ {
+ if ( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if ( _eventManager != null )
+ _eventManager.unRegister( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ if ( _eventManager == null )
+ _eventManager = eventManager;
+ else
+ _eventManager.getListeners().addAll( eventManager.getListeners() );
+
+ }
+}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/AbstractSimpleTreeTest.java Mon Apr 27 23:12:25 2009
@@ -24,38 +24,46 @@
import org.apache.maven.mercury.artifact.MetadataTreeNode;
public abstract class AbstractSimpleTreeTest
-extends TestCase
+ extends TestCase
{
- // b:b:1
- // /
- // a:a:1 b:b:2
- // \ /
- // c:c:1
- // \ b:b:1
-
- ArtifactMetadata mdaa1 = new ArtifactMetadata("a:a:1");
- ArtifactMetadata mdbb1 = new ArtifactMetadata("b:b:1");
- ArtifactMetadata mdbb2 = new ArtifactMetadata("b:b:2");
- ArtifactMetadata mdcc1 = new ArtifactMetadata("c:c:1");
-
- MetadataTreeNode aa1;
- MetadataTreeNode bb1;
- MetadataTreeNode cc1;
- MetadataTreeNode cc1bb1;
- MetadataTreeNode cc1bb2;
-
- @Override
- protected void setUp() throws Exception
- {
- aa1 = new MetadataTreeNode( mdaa1, null, mdaa1 );
- bb1 = new MetadataTreeNode( mdbb1, aa1, mdbb1 );
- aa1.addChild(bb1);
- cc1 = new MetadataTreeNode( mdcc1, aa1, mdcc1 );
- aa1.addChild(cc1);
- cc1bb1 = new MetadataTreeNode( mdbb1, cc1, mdbb1 );
- cc1.addChild( cc1bb1 );
- cc1bb2 = new MetadataTreeNode( mdbb2, cc1, mdbb2 );
- cc1.addChild( cc1bb2 );
- }
+ // b:b:1
+ // /
+ // a:a:1 b:b:2
+ // \ /
+ // c:c:1
+ // \ b:b:1
+
+ ArtifactMetadata mdaa1 = new ArtifactMetadata( "a:a:1" );
+
+ ArtifactMetadata mdbb1 = new ArtifactMetadata( "b:b:1" );
+
+ ArtifactMetadata mdbb2 = new ArtifactMetadata( "b:b:2" );
+
+ ArtifactMetadata mdcc1 = new ArtifactMetadata( "c:c:1" );
+
+ MetadataTreeNode aa1;
+
+ MetadataTreeNode bb1;
+
+ MetadataTreeNode cc1;
+
+ MetadataTreeNode cc1bb1;
+
+ MetadataTreeNode cc1bb2;
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ aa1 = new MetadataTreeNode( mdaa1, null, mdaa1 );
+ bb1 = new MetadataTreeNode( mdbb1, aa1, mdbb1 );
+ aa1.addChild( bb1 );
+ cc1 = new MetadataTreeNode( mdcc1, aa1, mdcc1 );
+ aa1.addChild( cc1 );
+ cc1bb1 = new MetadataTreeNode( mdbb1, cc1, mdbb1 );
+ cc1.addChild( cc1bb1 );
+ cc1bb2 = new MetadataTreeNode( mdbb2, cc1, mdbb2 );
+ cc1.addChild( cc1bb2 );
+ }
}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicDepthComparatorTest.java Mon Apr 27 23:12:25 2009
@@ -23,43 +23,43 @@
import org.apache.maven.mercury.artifact.MetadataTreeNode;
public class ClassicDepthComparatorTest
-extends AbstractSimpleTreeTest
+ extends AbstractSimpleTreeTest
{
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
- }
-
- public void testNearestBest()
- {
- Comparator<MetadataTreeNode> comparator = new ClassicDepthComparator();
-
- int res = comparator.compare( bb1, cc1bb1 );
-
- assertTrue( "bb1 should be closer'n cc1bb1", res > 0 );
-
- res = comparator.compare( bb1, cc1 );
- assertTrue( "bb1 should be the same as cc1", res == 0 );
-
- res = comparator.compare( cc1, aa1 );
- assertTrue( "cc1 should be deeper'n aa11", res < 0 );
- }
-
- public void testFarestBest()
- {
- Comparator<MetadataTreeNode> comparator = new ClassicDepthComparator(false);
-
- int res = comparator.compare( bb1, cc1bb1 );
-
- assertTrue( "bb1 should be closer'n cc1bb1", res < 0 );
-
- res = comparator.compare( bb1, cc1 );
- assertTrue( "bb1 should be the same as cc1", res == 0 );
-
- res = comparator.compare( cc1, aa1 );
- assertTrue( "cc1 should be deeper'n aa11", res > 0 );
- }
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+
+ public void testNearestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicDepthComparator();
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be closer'n cc1bb1", res > 0 );
+
+ res = comparator.compare( bb1, cc1 );
+ assertTrue( "bb1 should be the same as cc1", res == 0 );
+
+ res = comparator.compare( cc1, aa1 );
+ assertTrue( "cc1 should be deeper'n aa11", res < 0 );
+ }
+
+ public void testFarestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicDepthComparator( false );
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be closer'n cc1bb1", res < 0 );
+
+ res = comparator.compare( bb1, cc1 );
+ assertTrue( "bb1 should be the same as cc1", res == 0 );
+
+ res = comparator.compare( cc1, aa1 );
+ assertTrue( "cc1 should be deeper'n aa11", res > 0 );
+ }
}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/ClassicVersionComparatorTest.java Mon Apr 27 23:12:25 2009
@@ -22,39 +22,38 @@
import org.apache.maven.mercury.artifact.MetadataTreeNode;
-
public class ClassicVersionComparatorTest
-extends AbstractSimpleTreeTest
+ extends AbstractSimpleTreeTest
{
-
- @Override
- protected void setUp()
- throws Exception
- {
- super.setUp();
- }
-
- public void testNewestBest()
- {
- Comparator<MetadataTreeNode> comparator = new ClassicVersionComparator();
-
- int res = comparator.compare( bb1, cc1bb1 );
-
- assertTrue( "bb1 should be the same cc1bb1", res == 0 );
-
- res = comparator.compare( bb1, cc1bb2 );
- assertTrue( "bb1 should be older'n cc1bb2", res < 0 );
- }
-
- public void testOldestBest()
- {
- Comparator<MetadataTreeNode> comparator = new ClassicVersionComparator(false);
-
- int res = comparator.compare( bb1, cc1bb1 );
-
- assertTrue( "bb1 should be the same cc1bb1", res == 0 );
-
- res = comparator.compare( bb1, cc1bb2 );
- assertTrue( "bb1 should be older'n cc1bb2", res > 0 );
- }
+
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+
+ public void testNewestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicVersionComparator();
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be the same cc1bb1", res == 0 );
+
+ res = comparator.compare( bb1, cc1bb2 );
+ assertTrue( "bb1 should be older'n cc1bb2", res < 0 );
+ }
+
+ public void testOldestBest()
+ {
+ Comparator<MetadataTreeNode> comparator = new ClassicVersionComparator( false );
+
+ int res = comparator.compare( bb1, cc1bb1 );
+
+ assertTrue( "bb1 should be the same cc1bb1", res == 0 );
+
+ res = comparator.compare( bb1, cc1bb2 );
+ assertTrue( "bb1 should be older'n cc1bb2", res > 0 );
+ }
}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/DependencyTreeBuilderTest.java Mon Apr 27 23:12:25 2009
@@ -34,276 +34,288 @@
import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
-
/**
- *
* @author Oleg Gusakov
* @version $Id$
*/
public class DependencyTreeBuilderTest
-extends TestCase
+ extends TestCase
{
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( DependencyTreeBuilderTest.class );
-
-// ArtifactMetadata md = new ArtifactMetadata( "pmd:pmd:3.9" );
-// File repo = new File("./target/test-classes/localRepo");
-
- File repoDir = new File("./target/test-classes/controlledRepoSat");
-
- DependencyBuilder mt;
- LocalRepositoryM2 localRepo;
- List<Repository> reps;
- DependencyProcessor processor;
-
- //----------------------------------------------------------------------------------------------
- @Override
- protected void setUp()
- throws Exception
- {
- processor = new MetadataProcessorMock();
- localRepo = new LocalRepositoryM2( "local", repoDir, new MetadataProcessorMock() );
-
- reps = new ArrayList<Repository>(4);
- reps.add( localRepo );
-
- mt = new DependencyTreeBuilder( reps, null, null, null );
- }
- //----------------------------------------------------------------------------------------------
- @Override
- protected void tearDown()
- throws Exception
- {
- super.tearDown();
- }
- //----------------------------------------------------------------------------------------------
- private static boolean assertHasArtifact( List<ArtifactMetadata> res, String gav )
- {
- ArtifactMetadata gavMd = new ArtifactMetadata(gav);
-
- for( ArtifactMetadata md : res )
- if( md.sameGAV( gavMd ) )
- return true;
-
- return false;
- }
- //----------------------------------------------------------------------------------------------
- public void testCircularDependency()
- {
- ArtifactMetadata circularMd = new ArtifactMetadata( "a:a:1" );
- try
- {
- mt.buildTree( circularMd, null );
- }
- catch (MetadataTreeException e)
- {
- assertTrue( "expected circular dependency exception, but got "+e.getClass().getName()
- , e instanceof MetadataTreeCircularDependencyException
- );
- return;
- }
- fail("circular dependency was not detected");
- }
- //----------------------------------------------------------------------------------------------
- public void testBuildTree()
- throws MetadataTreeException
- {
- ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
-
- MetadataTreeNode root = mt.buildTree( md, null );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 4, root.countNodes() );
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveConflicts()
- throws MetadataTreeException
- {
- ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 4, root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
- assertEquals( "wrong tree size", 3, res.size() );
-
- assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
- assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
- assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
-
- System.out.println( "testResolveConflicts: " + res );
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveScopedConflicts()
- throws MetadataTreeException
- {
- ArtifactMetadata md = new ArtifactMetadata( "a:a:4" );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 3, root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
- assertEquals( "wrong tree size", 2, res.size() );
-
- System.out.println( "testResolveScopedConflicts: " + res );
-
- assertTrue( "no a:a:4 in the result", assertHasArtifact( res, "a:a:4" ) );
- assertTrue( "no c:c:3 in the result", assertHasArtifact( res, "c:c:3" ) );
-
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveScopedConflictsWithFiltering()
- throws MetadataTreeException
- {
- String title = "testResolveScopedConflictsWithFiltering";
- ArtifactMetadata md = new ArtifactMetadata( "a:a:4" );
-
- List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
- exclusions.add( new ArtifactMetadata("c:c:3") );
- md.setExclusions( exclusions );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 2, root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
- assertEquals( "wrong tree size", 2, res.size() );
-
- System.out.println( title+": " + res );
-
- assertTrue( assertHasArtifact( res, "a:a:4" ) );
- assertFalse( assertHasArtifact( res, "c:c:3" ) );
-
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveScopedConflictsWithFilteringOne()
- throws MetadataTreeException
- {
- String title = "testResolveScopedConflictsWithFilteringOne";
- ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
-
- List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
- exclusions.add( new ArtifactMetadata("c:c:2") );
- md.setExclusions( exclusions );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 3, root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
- assertEquals( "wrong tree size", 2, res.size() );
-
- assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
- assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
- assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
-
- System.out.println( title+": " + res );
-
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveScopedConflictsWithFilteringTwo()
- throws MetadataTreeException
- {
- String title = "testResolveScopedConflictsWithFilteringTwo";
- ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
-
- List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
- exclusions.add( new ArtifactMetadata("b:b:2") );
- exclusions.add( new ArtifactMetadata("c:c:2") );
- md.setExclusions( exclusions );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 2, root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
- assertEquals( "wrong tree size", 2, res.size() );
-
- assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
- assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:1" ) );
- assertFalse( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
- assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
-
- System.out.println( title+": " + res );
-
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveScopedConflictsWithFilteringAll()
- throws MetadataTreeException
- {
- String title = "testResolveScopedConflictsWithFilteringTwo";
- ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
-
- List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
- exclusions.add( new ArtifactMetadata("b:b:1") );
- exclusions.add( new ArtifactMetadata("b:b:2") );
- exclusions.add( new ArtifactMetadata("c:c:2") );
- md.setExclusions( exclusions );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertEquals( "wrong tree size", 1, root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
- assertEquals( "wrong tree size", 1, res.size() );
-
- assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
- assertFalse( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
- assertFalse( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
- assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
-
- System.out.println( title+": " + res );
-
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveBigConflicts()
- throws MetadataTreeException
- {
- ArtifactMetadata md = new ArtifactMetadata( "a:a:3" );
-
- MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
-
-System.out.println("BigRes: "+res);
-
- assertEquals( "wrong tree size", 3, res.size() );
-
-// assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
-// assertTrue( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
-// assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
- }
- //----------------------------------------------------------------------------------------------
- public void testResolveMultiple()
- throws MetadataTreeException
- {
- ArtifactMetadata md1 = new ArtifactMetadata( "a:a:3" );
- ArtifactMetadata md2 = new ArtifactMetadata( "a:a:4" );
-
- MetadataTreeNode root = mt.buildTree( md1, ArtifactScopeEnum.compile );
- assertNotNull( "null tree built", root );
- assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
-
- List<ArtifactMetadata> res = mt.resolveConflicts( root );
- assertNotNull( "null resolution", res );
-
- System.out.println("BigRes: "+res);
-
- assertEquals( "wrong tree size", 3, res.size() );
-
-// assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
-// assertTrue( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
-// assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
- }
- //----------------------------------------------------------------------------------------------
- //----------------------------------------------------------------------------------------------
+ private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( DependencyTreeBuilderTest.class );
+
+ // ArtifactMetadata md = new ArtifactMetadata( "pmd:pmd:3.9" );
+ // File repo = new File("./target/test-classes/localRepo");
+
+ File repoDir = new File( "./target/test-classes/controlledRepoSat" );
+
+ DependencyBuilder mt;
+
+ LocalRepositoryM2 localRepo;
+
+ List<Repository> reps;
+
+ DependencyProcessor processor;
+
+ // ----------------------------------------------------------------------------------------------
+ @Override
+ protected void setUp()
+ throws Exception
+ {
+ processor = new MetadataProcessorMock();
+ localRepo = new LocalRepositoryM2( "local", repoDir, new MetadataProcessorMock() );
+
+ reps = new ArrayList<Repository>( 4 );
+ reps.add( localRepo );
+
+ mt = new DependencyTreeBuilder( reps, null, null, null );
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ private static boolean assertHasArtifact( List<ArtifactMetadata> res, String gav )
+ {
+ ArtifactMetadata gavMd = new ArtifactMetadata( gav );
+
+ for ( ArtifactMetadata md : res )
+ if ( md.sameGAV( gavMd ) )
+ return true;
+
+ return false;
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testCircularDependency()
+ {
+ ArtifactMetadata circularMd = new ArtifactMetadata( "a:a:1" );
+ try
+ {
+ mt.buildTree( circularMd, null );
+ }
+ catch ( MetadataTreeException e )
+ {
+ assertTrue( "expected circular dependency exception, but got " + e.getClass().getName(),
+ e instanceof MetadataTreeCircularDependencyException );
+ return;
+ }
+ fail( "circular dependency was not detected" );
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testBuildTree()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ MetadataTreeNode root = mt.buildTree( md, null );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 4, root.countNodes() );
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveConflicts()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 4, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 3, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( "testResolveConflicts: " + res );
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflicts()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:4" );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 3, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ System.out.println( "testResolveScopedConflicts: " + res );
+
+ assertTrue( "no a:a:4 in the result", assertHasArtifact( res, "a:a:4" ) );
+ assertTrue( "no c:c:3 in the result", assertHasArtifact( res, "c:c:3" ) );
+
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFiltering()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFiltering";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:4" );
+
+ List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
+ exclusions.add( new ArtifactMetadata( "c:c:3" ) );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 2, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ System.out.println( title + ": " + res );
+
+ assertTrue( assertHasArtifact( res, "a:a:4" ) );
+ assertFalse( assertHasArtifact( res, "c:c:3" ) );
+
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFilteringOne()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFilteringOne";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
+ exclusions.add( new ArtifactMetadata( "c:c:2" ) );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 3, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( title + ": " + res );
+
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFilteringTwo()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFilteringTwo";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
+ exclusions.add( new ArtifactMetadata( "b:b:2" ) );
+ exclusions.add( new ArtifactMetadata( "c:c:2" ) );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 2, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 2, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertTrue( "no b:b:2 in the result", assertHasArtifact( res, "b:b:1" ) );
+ assertFalse( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( title + ": " + res );
+
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveScopedConflictsWithFilteringAll()
+ throws MetadataTreeException
+ {
+ String title = "testResolveScopedConflictsWithFilteringTwo";
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:2" );
+
+ List<ArtifactMetadata> exclusions = new ArrayList<ArtifactMetadata>();
+ exclusions.add( new ArtifactMetadata( "b:b:1" ) );
+ exclusions.add( new ArtifactMetadata( "b:b:2" ) );
+ exclusions.add( new ArtifactMetadata( "c:c:2" ) );
+ md.setExclusions( exclusions );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertEquals( "wrong tree size", 1, root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+ assertEquals( "wrong tree size", 1, res.size() );
+
+ assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ assertFalse( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
+ assertFalse( "no b:b:2 in the result", assertHasArtifact( res, "b:b:2" ) );
+ assertFalse( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+
+ System.out.println( title + ": " + res );
+
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveBigConflicts()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md = new ArtifactMetadata( "a:a:3" );
+
+ MetadataTreeNode root = mt.buildTree( md, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+
+ System.out.println( "BigRes: " + res );
+
+ assertEquals( "wrong tree size", 3, res.size() );
+
+ // assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ // assertTrue( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
+ // assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+ }
+
+ // ----------------------------------------------------------------------------------------------
+ public void testResolveMultiple()
+ throws MetadataTreeException
+ {
+ ArtifactMetadata md1 = new ArtifactMetadata( "a:a:3" );
+ ArtifactMetadata md2 = new ArtifactMetadata( "a:a:4" );
+
+ MetadataTreeNode root = mt.buildTree( md1, ArtifactScopeEnum.compile );
+ assertNotNull( "null tree built", root );
+ assertTrue( "wrong tree size, expected gte 4", 4 <= root.countNodes() );
+
+ List<ArtifactMetadata> res = mt.resolveConflicts( root );
+ assertNotNull( "null resolution", res );
+
+ System.out.println( "BigRes: " + res );
+
+ assertEquals( "wrong tree size", 3, res.size() );
+
+ // assertTrue( "no a:a:2 in the result", assertHasArtifact( res, "a:a:2" ) );
+ // assertTrue( "no b:b:1 in the result", assertHasArtifact( res, "b:b:1" ) );
+ // assertTrue( "no c:c:2 in the result", assertHasArtifact( res, "c:c:2" ) );
+ }
+ // ----------------------------------------------------------------------------------------------
+ // ----------------------------------------------------------------------------------------------
}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolverTest.java Mon Apr 27 23:12:25 2009
@@ -38,529 +38,453 @@
public class DefaultSatSolverTest
extends TestCase
{
- DefaultSatSolver ss;
- String title;
-
- MetadataTreeNode tree;
-
- ArtifactMetadata a1 = new ArtifactMetadata("t:a:1");
- ArtifactMetadata b1 = new ArtifactMetadata("t:b:1");
- ArtifactMetadata b2 = new ArtifactMetadata("t:b:2");
- ArtifactMetadata b3 = new ArtifactMetadata("t:b:3");
- ArtifactMetadata c1 = new ArtifactMetadata("t:c:1");
- ArtifactMetadata c2 = new ArtifactMetadata("t:c:2");
-
- ArtifactMetadata d1 = new ArtifactMetadata("t:d:1");
-
- //----------------------------------------------------------------------
- protected void setUp()
- throws Exception
- {
- super.setUp();
- }
- //----------------------------------------------------------------------
- public void testDedupe()
- {
- List<MetadataTreeNode> list = new ArrayList<MetadataTreeNode>();
-
- list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
- list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
- list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
- list.add( new MetadataTreeNode( new ArtifactMetadata("b:b:1"), null, null ) );
- list.add( new MetadataTreeNode( new ArtifactMetadata("b:b:1"), null, null ) );
- list.add( new MetadataTreeNode( new ArtifactMetadata("a:a:1"), null, null ) );
-
- DefaultSatSolver.removeDuplicateGAVs( list );
-
- System.out.println(list);
-
- assertEquals( 2, list.size() );
- }
-
-
- private int f( int a, int b )
- {
- return -a + b;
- }
- //----------------------------------------------------------------------
- // d:d:1 - c:c:[2,4)
- // /
- // a:a:1
- // \
- // b:b:2 - c:c:1
- //----------------------------------------------------------------------
- public void testReNumeration()
- throws SatException, IOException
- {
- title = "testReNumeration";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
- .addQuery(d1)
- .addQuery(b2)
- ;
-
- ArtifactMetadata c2q = new ArtifactMetadata("t:c:[2,4)");
-
- MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 )
- .addQuery( c2q )
- ;
- MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
- .addQuery( c1 )
- ;
-
- MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
-
- MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
-
- na1
- .addChild(nd1)
- .addChild(nb2)
- ;
-
- nd1
- .addChild(nc2)
- ;
-
- nb2
- .addChild(nc1)
- ;
-
- MetadataTreeNode.reNumber( na1, 1 );
-
- assertEquals( 1, na1.getId() );
-
- assertEquals( 2, nd1.getId() );
-
- }
- //----------------------------------------------------------------------
- public void testOptimization()
- throws SatException
- {
- title = "optimization test";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- // b:b:1
- // /
- // a:a:1 b:b:2
- // \ /
- // c:c:1
- // \ b:b:1
-
- ArtifactMetadata mdaa1 = new ArtifactMetadata("a:a:1");
- ArtifactMetadata mdbb1 = new ArtifactMetadata("b:b:1");
- ArtifactMetadata mdbb2 = new ArtifactMetadata("b:b:2");
- ArtifactMetadata mdcc1 = new ArtifactMetadata("c:c:1");
-
- MetadataTreeNode aa1;
- MetadataTreeNode bb1;
- MetadataTreeNode cc1;
- MetadataTreeNode cc1bb1;
- MetadataTreeNode cc1bb2;
-
- aa1 = new MetadataTreeNode( mdaa1, null, mdaa1 );
- bb1 = new MetadataTreeNode( mdbb1, aa1, mdbb1 );
- aa1.addChild(bb1);
- cc1 = new MetadataTreeNode( mdcc1, aa1, mdcc1 );
- aa1.addChild(cc1);
- cc1bb1 = new MetadataTreeNode( mdbb1, cc1, mdbb1 );
- cc1.addChild( cc1bb1 );
- cc1bb2 = new MetadataTreeNode( mdbb2, cc1, mdbb2 );
- cc1.addChild( cc1bb2 );
-
- ss = (DefaultSatSolver) DefaultSatSolver.create( aa1 );
-
- List< Comparator<MetadataTreeNode>> comparators = new ArrayList<Comparator<MetadataTreeNode>>(2);
- comparators.add( new ClassicDepthComparator() );
- comparators.add( new ClassicVersionComparator() );
-
- Map<String, List<MetadataTreeNode>> buckets = new HashMap<String, List<MetadataTreeNode>>(128);
- DefaultSatSolver.fillBuckets( buckets, aa1 );
- DefaultSatSolver.sortBuckets( buckets, comparators );
-
- assertNotNull("no resulting map", buckets );
- assertEquals( "bad map size", 3, buckets.size() );
-
- System.out.println("optimized buckets: "+buckets);
-
- List<MetadataTreeNode> bbl = buckets.get("b:b");
- assertNotNull("no b:b list", bbl );
- assertEquals( "bad b:b list size", 2, bbl.size() );
-
- MetadataTreeNode first = bbl.get(0);
- assertNotNull("bad first element", first );
- assertEquals( "bad first element's GAV", "b:b:1::jar", first.getMd().getGAV() );
- assertEquals( "bad first element's depth", 1, first.getDepth() );
-
- MetadataTreeNode second = bbl.get(1);
- assertNotNull("bad second element", second );
- assertEquals( "bad second element's GAV", "b:b:2::jar", second.getMd().getGAV() );
- assertEquals( "bad second element's depth", 2, second.getDepth() );
- }
- //----------------------------------------------------------------------
- //
- // a1
- // and (b1 or b2 or b3)
- // and ((c1 and b1) or (c2 and (b2 or b3))
- //
- //----------------------------------------------------------------------
- public void testClassicResolution()
- throws SatException
- {
- title = "simplest 3-node tree";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
- .addQuery(b1)
- .addQuery(c1)
- ;
-
- MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 );
- MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b1 );
- MetadataTreeNode nb3 = new MetadataTreeNode( b3, na1, b1 );
-
- MetadataTreeNode nc1 = new MetadataTreeNode( c1, na1, c1 )
- .addQuery(b1)
- ;
- MetadataTreeNode nc2 = new MetadataTreeNode( c2, na1, c1 )
- .addQuery(b1)
- ;
-
- na1
- .addChild(nb1)
- .addChild(nb2)
- .addChild(nb3)
- .addChild(nc1)
- .addChild(nc2)
- ;
-
- nc1
- .addChild(nb1)
- ;
-
- nc2
- .addChild(nb2)
- .addChild(nb3)
- ;
-
- ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
-
- List<ArtifactMetadata> res = ss.solve();
-
- int m[] = ss._solver.model();
-
- System.out.print("model: " );
- for( int i=0; i<m.length; i++ )
- System.out.print(" "+m[i]);
- System.out.println("");
-
- assertNotNull( res );
-
- System.out.print("Result:");
- for( ArtifactMetadata md : res )
+ DefaultSatSolver ss;
+
+ String title;
+
+ MetadataTreeNode tree;
+
+ ArtifactMetadata a1 = new ArtifactMetadata( "t:a:1" );
+
+ ArtifactMetadata b1 = new ArtifactMetadata( "t:b:1" );
+
+ ArtifactMetadata b2 = new ArtifactMetadata( "t:b:2" );
+
+ ArtifactMetadata b3 = new ArtifactMetadata( "t:b:3" );
+
+ ArtifactMetadata c1 = new ArtifactMetadata( "t:c:1" );
+
+ ArtifactMetadata c2 = new ArtifactMetadata( "t:c:2" );
+
+ ArtifactMetadata d1 = new ArtifactMetadata( "t:d:1" );
+
+ // ----------------------------------------------------------------------
+ protected void setUp()
+ throws Exception
+ {
+ super.setUp();
+ }
+
+ // ----------------------------------------------------------------------
+ public void testDedupe()
{
- System.out.print(" "+md);
+ List<MetadataTreeNode> list = new ArrayList<MetadataTreeNode>();
+
+ list.add( new MetadataTreeNode( new ArtifactMetadata( "a:a:1" ), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata( "a:a:1" ), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata( "a:a:1" ), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata( "b:b:1" ), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata( "b:b:1" ), null, null ) );
+ list.add( new MetadataTreeNode( new ArtifactMetadata( "a:a:1" ), null, null ) );
+
+ DefaultSatSolver.removeDuplicateGAVs( list );
+
+ System.out.println( list );
+
+ assertEquals( 2, list.size() );
}
- System.out.println("");
- assertEquals( 3, res.size() );
-
- assertTrue( res.contains( a1 ) );
- assertTrue( res.contains( b2 ) );
- assertTrue( res.contains( c2 ) );
- }
- //----------------------------------------------------------------------
- // b:b:1 - c:c:2
- // /
- // a:a:1
- // \
- // b:b:2 - c:c:1
- //----------------------------------------------------------------------
- public void testSingleVersionResolution()
- throws SatException
- {
- title = "testSingleVersionResolution";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
- .addQuery(b1)
- .addQuery(b2)
- ;
-
- MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 )
- .addQuery( c2 )
- ;
- MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
- .addQuery( c1 )
- ;
-
- MetadataTreeNode nc2 = new MetadataTreeNode( c2, nb1, c2 );
-
- MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
-
- na1
- .addChild(nb1)
- .addChild(nb2)
- ;
-
- nb1
- .addChild(nc2)
- ;
-
- nb2
- .addChild(nc1)
- ;
-
- List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
- cl.add( new ClassicDepthComparator() );
- cl.add( new ClassicVersionComparator() );
-
- ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
-
- ss.applyPolicies( cl );
-
- List<ArtifactMetadata> res = ss.solve();
-
- int m[] = ss._solver.model();
-
- System.out.print("model: " );
-
- for( int i=0; i<m.length; i++ )
- System.out.print(" "+m[i]);
- System.out.println("");
-
- assertNotNull( res );
-
- System.out.print("Result:");
- for( ArtifactMetadata md : res )
+ private int f( int a, int b )
{
- System.out.print(" "+md);
+ return -a + b;
}
- System.out.println("");
-
- assertEquals( 3, res.size() );
-
- assertTrue( res.contains( a1 ) );
- assertTrue( res.contains( b1 ) );
- assertTrue( res.contains( c2 ) );
- }
- //----------------------------------------------------------------------
- // b:b:1 - c:c:[2,4)
- // /
- // a:a:1
- // \
- // b:b:2 - c:c:1
- //----------------------------------------------------------------------
- public void testStrictRangeResolution()
- throws SatException
- {
- title = "testStrictRangeResolution";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
- .addQuery(b1)
- .addQuery(b2)
- ;
-
- ArtifactMetadata c2q = new ArtifactMetadata("t:c:[2,4)");
-
- MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 )
- .addQuery( c2q )
- ;
- MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
- .addQuery( c1 )
- ;
-
- MetadataTreeNode nc2 = new MetadataTreeNode( c2, nb1, c2q );
-
- MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
-
- na1
- .addChild(nb1)
- .addChild(nb2)
- ;
-
- nb1
- .addChild(nc2)
- ;
-
- nb2
- .addChild(nc1)
- ;
-
- List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
- cl.add( new ClassicDepthComparator() );
- cl.add( new ClassicVersionComparator() );
-
- ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
-
- ss.applyPolicies( cl );
-
- List<ArtifactMetadata> res = ss.solve();
-
- int m[] = ss._solver.model();
-
- System.out.print("model: " );
-
- for( int i=0; i<m.length; i++ )
- System.out.print(" "+m[i]);
- System.out.println("");
-
- assertNotNull( res );
-
- System.out.print("Result:");
- for( ArtifactMetadata md : res )
+
+ // ----------------------------------------------------------------------
+ // d:d:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ // ----------------------------------------------------------------------
+ public void testReNumeration()
+ throws SatException, IOException
{
- System.out.print(" "+md);
+ title = "testReNumeration";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null ).addQuery( d1 ).addQuery( b2 );
+
+ ArtifactMetadata c2q = new ArtifactMetadata( "t:c:[2,4)" );
+
+ MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 ).addQuery( c2q );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 ).addQuery( c1 );
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1.addChild( nd1 ).addChild( nb2 );
+
+ nd1.addChild( nc2 );
+
+ nb2.addChild( nc1 );
+
+ MetadataTreeNode.reNumber( na1, 1 );
+
+ assertEquals( 1, na1.getId() );
+
+ assertEquals( 2, nd1.getId() );
+
}
- System.out.println("");
-
- assertEquals( 3, res.size() );
-
- assertTrue( res.contains( a1 ) );
- assertTrue( res.contains( b1 ) );
- assertTrue( res.contains( c2 ) );
- }
- //----------------------------------------------------------------------
- // d:d:1 - c:c:[2,4)
- // /
- // a:a:1
- // \
- // b:b:2 - c:c:1
- //----------------------------------------------------------------------
- public void testStrictRangeResolution2()
- throws SatException
- {
- title = "testStrictRangeResolution2";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
- .addQuery(d1)
- .addQuery(b2)
- ;
-
- ArtifactMetadata c2q = new ArtifactMetadata("t:c:[2,4)");
-
- MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 )
- .addQuery( c2q )
- ;
- MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
- .addQuery( c1 )
- ;
-
- MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
-
- MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
-
- na1
- .addChild(nd1)
- .addChild(nb2)
- ;
-
- nd1
- .addChild(nc2)
- ;
-
- nb2
- .addChild(nc1)
- ;
-
- List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
- cl.add( new ClassicDepthComparator() );
- cl.add( new ClassicVersionComparator() );
-
- ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
-
- ss.applyPolicies( cl );
-
- List<ArtifactMetadata> res = ss.solve();
-
- int m[] = ss._solver.model();
-
- System.out.print("model: " );
-
- for( int i=0; i<m.length; i++ )
- System.out.print(" "+m[i]);
- System.out.println("");
-
- assertNotNull( res );
-
- System.out.print("Result:");
- for( ArtifactMetadata md : res )
+
+ // ----------------------------------------------------------------------
+ public void testOptimization()
+ throws SatException
{
- System.out.print(" "+md);
+ title = "optimization test";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ // b:b:1
+ // /
+ // a:a:1 b:b:2
+ // \ /
+ // c:c:1
+ // \ b:b:1
+
+ ArtifactMetadata mdaa1 = new ArtifactMetadata( "a:a:1" );
+ ArtifactMetadata mdbb1 = new ArtifactMetadata( "b:b:1" );
+ ArtifactMetadata mdbb2 = new ArtifactMetadata( "b:b:2" );
+ ArtifactMetadata mdcc1 = new ArtifactMetadata( "c:c:1" );
+
+ MetadataTreeNode aa1;
+ MetadataTreeNode bb1;
+ MetadataTreeNode cc1;
+ MetadataTreeNode cc1bb1;
+ MetadataTreeNode cc1bb2;
+
+ aa1 = new MetadataTreeNode( mdaa1, null, mdaa1 );
+ bb1 = new MetadataTreeNode( mdbb1, aa1, mdbb1 );
+ aa1.addChild( bb1 );
+ cc1 = new MetadataTreeNode( mdcc1, aa1, mdcc1 );
+ aa1.addChild( cc1 );
+ cc1bb1 = new MetadataTreeNode( mdbb1, cc1, mdbb1 );
+ cc1.addChild( cc1bb1 );
+ cc1bb2 = new MetadataTreeNode( mdbb2, cc1, mdbb2 );
+ cc1.addChild( cc1bb2 );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( aa1 );
+
+ List<Comparator<MetadataTreeNode>> comparators = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+ comparators.add( new ClassicDepthComparator() );
+ comparators.add( new ClassicVersionComparator() );
+
+ Map<String, List<MetadataTreeNode>> buckets = new HashMap<String, List<MetadataTreeNode>>( 128 );
+ DefaultSatSolver.fillBuckets( buckets, aa1 );
+ DefaultSatSolver.sortBuckets( buckets, comparators );
+
+ assertNotNull( "no resulting map", buckets );
+ assertEquals( "bad map size", 3, buckets.size() );
+
+ System.out.println( "optimized buckets: " + buckets );
+
+ List<MetadataTreeNode> bbl = buckets.get( "b:b" );
+ assertNotNull( "no b:b list", bbl );
+ assertEquals( "bad b:b list size", 2, bbl.size() );
+
+ MetadataTreeNode first = bbl.get( 0 );
+ assertNotNull( "bad first element", first );
+ assertEquals( "bad first element's GAV", "b:b:1::jar", first.getMd().getGAV() );
+ assertEquals( "bad first element's depth", 1, first.getDepth() );
+
+ MetadataTreeNode second = bbl.get( 1 );
+ assertNotNull( "bad second element", second );
+ assertEquals( "bad second element's GAV", "b:b:2::jar", second.getMd().getGAV() );
+ assertEquals( "bad second element's depth", 2, second.getDepth() );
+ }
+
+ // ----------------------------------------------------------------------
+ //
+ // a1
+ // and (b1 or b2 or b3)
+ // and ((c1 and b1) or (c2 and (b2 or b3))
+ //
+ // ----------------------------------------------------------------------
+ public void testClassicResolution()
+ throws SatException
+ {
+ title = "simplest 3-node tree";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null ).addQuery( b1 ).addQuery( c1 );
+
+ MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b1 );
+ MetadataTreeNode nb3 = new MetadataTreeNode( b3, na1, b1 );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, na1, c1 ).addQuery( b1 );
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, na1, c1 ).addQuery( b1 );
+
+ na1.addChild( nb1 ).addChild( nb2 ).addChild( nb3 ).addChild( nc1 ).addChild( nc2 );
+
+ nc1.addChild( nb1 );
+
+ nc2.addChild( nb2 ).addChild( nb3 );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( na1 );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print( "model: " );
+ for ( int i = 0; i < m.length; i++ )
+ System.out.print( " " + m[i] );
+ System.out.println( "" );
+
+ assertNotNull( res );
+
+ System.out.print( "Result:" );
+ for ( ArtifactMetadata md : res )
+ {
+ System.out.print( " " + md );
+ }
+ System.out.println( "" );
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( b2 ) );
+ assertTrue( res.contains( c2 ) );
+ }
+
+ // ----------------------------------------------------------------------
+ // b:b:1 - c:c:2
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ // ----------------------------------------------------------------------
+ public void testSingleVersionResolution()
+ throws SatException
+ {
+ title = "testSingleVersionResolution";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null ).addQuery( b1 ).addQuery( b2 );
+
+ MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 ).addQuery( c2 );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 ).addQuery( c1 );
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nb1, c2 );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1.addChild( nb1 ).addChild( nb2 );
+
+ nb1.addChild( nc2 );
+
+ nb2.addChild( nc1 );
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( na1 );
+
+ ss.applyPolicies( cl );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print( "model: " );
+
+ for ( int i = 0; i < m.length; i++ )
+ System.out.print( " " + m[i] );
+ System.out.println( "" );
+
+ assertNotNull( res );
+
+ System.out.print( "Result:" );
+ for ( ArtifactMetadata md : res )
+ {
+ System.out.print( " " + md );
+ }
+ System.out.println( "" );
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( b1 ) );
+ assertTrue( res.contains( c2 ) );
+ }
+
+ // ----------------------------------------------------------------------
+ // b:b:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ // ----------------------------------------------------------------------
+ public void testStrictRangeResolution()
+ throws SatException
+ {
+ title = "testStrictRangeResolution";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null ).addQuery( b1 ).addQuery( b2 );
+
+ ArtifactMetadata c2q = new ArtifactMetadata( "t:c:[2,4)" );
+
+ MetadataTreeNode nb1 = new MetadataTreeNode( b1, na1, b1 ).addQuery( c2q );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 ).addQuery( c1 );
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nb1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1.addChild( nb1 ).addChild( nb2 );
+
+ nb1.addChild( nc2 );
+
+ nb2.addChild( nc1 );
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( na1 );
+
+ ss.applyPolicies( cl );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print( "model: " );
+
+ for ( int i = 0; i < m.length; i++ )
+ System.out.print( " " + m[i] );
+ System.out.println( "" );
+
+ assertNotNull( res );
+
+ System.out.print( "Result:" );
+ for ( ArtifactMetadata md : res )
+ {
+ System.out.print( " " + md );
+ }
+ System.out.println( "" );
+
+ assertEquals( 3, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( b1 ) );
+ assertTrue( res.contains( c2 ) );
+ }
+
+ // ----------------------------------------------------------------------
+ // d:d:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ // ----------------------------------------------------------------------
+ public void testStrictRangeResolution2()
+ throws SatException
+ {
+ title = "testStrictRangeResolution2";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null ).addQuery( d1 ).addQuery( b2 );
+
+ ArtifactMetadata c2q = new ArtifactMetadata( "t:c:[2,4)" );
+
+ MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 ).addQuery( c2q );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 ).addQuery( c1 );
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1.addChild( nd1 ).addChild( nb2 );
+
+ nd1.addChild( nc2 );
+
+ nb2.addChild( nc1 );
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( na1 );
+
+ ss.applyPolicies( cl );
+
+ List<ArtifactMetadata> res = ss.solve();
+
+ int m[] = ss._solver.model();
+
+ System.out.print( "model: " );
+
+ for ( int i = 0; i < m.length; i++ )
+ System.out.print( " " + m[i] );
+ System.out.println( "" );
+
+ assertNotNull( res );
+
+ System.out.print( "Result:" );
+ for ( ArtifactMetadata md : res )
+ {
+ System.out.print( " " + md );
+ }
+ System.out.println( "" );
+
+ assertEquals( 4, res.size() );
+
+ assertTrue( res.contains( a1 ) );
+ assertTrue( res.contains( d1 ) );
+ assertTrue( res.contains( b2 ) );
+ assertTrue( res.contains( c2 ) );
+ }
+
+ // ----------------------------------------------------------------------
+ // d:d:1 - c:c:[2,4)
+ // /
+ // a:a:1
+ // \
+ // b:b:2 - c:c:1
+ // ----------------------------------------------------------------------
+ public void testSolveAsTree()
+ throws SatException, IOException
+ {
+ title = "testSolveAsTree";
+ System.out.println( "\n\n==========================\n" + title + "\n" );
+
+ MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null ).addQuery( d1 ).addQuery( b2 );
+
+ ArtifactMetadata c2q = new ArtifactMetadata( "t:c:[2,4)" );
+
+ MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 ).addQuery( c2q );
+ MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 ).addQuery( c1 );
+
+ MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
+
+ MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
+
+ na1.addChild( nd1 ).addChild( nb2 );
+
+ nd1.addChild( nc2 );
+
+ nb2.addChild( nc1 );
+
+ List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>( 2 );
+ cl.add( new ClassicDepthComparator() );
+ cl.add( new ClassicVersionComparator() );
+
+ ss = (DefaultSatSolver) DefaultSatSolver.create( na1 );
+
+ ss.applyPolicies( cl );
+
+ MetadataTreeNode res = ss.solveAsTree();
+
+ assertNotNull( res );
+
+ MetadataTreeNode.showNode( res, 0 );
+
+ assertEquals( 4, res.countNodes() );
+
}
- System.out.println("");
-
- assertEquals( 4, res.size() );
-
- assertTrue( res.contains( a1 ) );
- assertTrue( res.contains( d1 ) );
- assertTrue( res.contains( b2 ) );
- assertTrue( res.contains( c2 ) );
- }
-
- //----------------------------------------------------------------------
- // d:d:1 - c:c:[2,4)
- // /
- // a:a:1
- // \
- // b:b:2 - c:c:1
- //----------------------------------------------------------------------
- public void testSolveAsTree()
- throws SatException, IOException
- {
- title = "testSolveAsTree";
- System.out.println("\n\n==========================\n"+title+"\n");
-
- MetadataTreeNode na1 = new MetadataTreeNode( a1, null, null )
- .addQuery(d1)
- .addQuery(b2)
- ;
-
- ArtifactMetadata c2q = new ArtifactMetadata("t:c:[2,4)");
-
- MetadataTreeNode nd1 = new MetadataTreeNode( d1, na1, d1 )
- .addQuery( c2q )
- ;
- MetadataTreeNode nb2 = new MetadataTreeNode( b2, na1, b2 )
- .addQuery( c1 )
- ;
-
- MetadataTreeNode nc2 = new MetadataTreeNode( c2, nd1, c2q );
-
- MetadataTreeNode nc1 = new MetadataTreeNode( c1, nb2, c1 );
-
- na1
- .addChild(nd1)
- .addChild(nb2)
- ;
-
- nd1
- .addChild(nc2)
- ;
-
- nb2
- .addChild(nc1)
- ;
-
- List<Comparator<MetadataTreeNode>> cl = new ArrayList<Comparator<MetadataTreeNode>>(2);
- cl.add( new ClassicDepthComparator() );
- cl.add( new ClassicVersionComparator() );
-
- ss = (DefaultSatSolver) DefaultSatSolver.create(na1);
-
- ss.applyPolicies( cl );
-
- MetadataTreeNode res = ss.solveAsTree();
-
- assertNotNull( res );
-
- MetadataTreeNode.showNode( res, 0 );
-
- assertEquals( 4, res.countNodes() );
-
- }
- //----------------------------------------------------------------------
- //----------------------------------------------------------------------
+ // ----------------------------------------------------------------------
+ // ----------------------------------------------------------------------
}
Modified: maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/repository/api/AbstractRepositoryTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/repository/api/AbstractRepositoryTest.java?rev=769199&r1=769198&r2=769199&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/repository/api/AbstractRepositoryTest.java (original)
+++ maven/mercury/trunk/mercury-core/src/test/java/org/apache/maven/mercury/repository/api/AbstractRepositoryTest.java Mon Apr 27 23:12:25 2009
@@ -15,18 +15,15 @@
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-*/
+ */
package org.apache.maven.mercury.repository.api;
import junit.framework.TestCase;
/**
- *
- *
* @author Oleg Gusakov
* @version $Id$
- *
*/
public class AbstractRepositoryTest
extends TestCase
@@ -34,11 +31,11 @@
public void testIdHash()
{
String res = AbstractRepository.hashId( "central" );
-
+
assertEquals( "central", res );
res = AbstractRepository.hashId( "http://central" );
-
+
assertEquals( "3e447f03cb543932ff37403fe937841ff58ff788", res );
}
}