[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.jclouds.api:elasticstack:bundle:1.6.0-SNAPSHOT
[WARNING] 'parent.relativePath' of POM org.jclouds:jclouds-project:1.6.0-SNAPSHOT (/private/tmp/jclouds/project/pom.xml) points at org.jclouds:jclouds-multi instead of org.sonatype.oss:oss-parent, please verify your project structure @ org.jclouds:jclouds-project:1.6.0-SNAPSHOT, /private/tmp/jclouds/project/pom.xml, line 24, column 13
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING] 
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building jclouds elasticstack core 1.6.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ elasticstack ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-maven) @ elasticstack ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-banned-dependencies) @ elasticstack ---
[INFO] 
[INFO] --- maven-enforcer-plugin:1.1.1:enforce (enforce-java) @ elasticstack ---
[INFO] 
[INFO] --- maven-remote-resources-plugin:1.4:process (process-remote-resources) @ elasticstack ---
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ elasticstack ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/apis/elasticstack/src/main/clojure
[INFO] Copying 3 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ elasticstack ---
[INFO] Compiling 55 source files to /private/tmp/jclouds/apis/elasticstack/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ elasticstack ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /private/tmp/jclouds/apis/elasticstack/src/test/clojure
[INFO] Copying 10 resources
[INFO] Copying 2 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ elasticstack ---
[INFO] Compiling 21 source files to /private/tmp/jclouds/apis/elasticstack/target/test-classes
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ elasticstack ---
[INFO] Surefire report directory: /private/tmp/jclouds/apis/elasticstack/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@79dfc547
Starting test testComplete(org.jclouds.elasticstack.binders.BindDriveDataToPlainTextStringTest)
Starting test testComplete(org.jclouds.elasticstack.binders.BindDriveToPlainTextStringTest)
Starting test testSimple(org.jclouds.elasticstack.binders.BindDriveDataToPlainTextStringTest)
Starting test testComplete(org.jclouds.elasticstack.functions.BaseDriveToMapTest)
Starting test testBasics(org.jclouds.elasticstack.functions.BaseDriveToMapTest)
[pool-1-thread-1] Test testBasics(org.jclouds.elasticstack.functions.BaseDriveToMapTest) succeeded: 12ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
[pool-1-thread-2] Test testComplete(org.jclouds.elasticstack.functions.BaseDriveToMapTest) succeeded: 12ms
Test suite progress: tests succeeded: 2, failed: 0, skipped: 0.
Starting test testSimple(org.jclouds.elasticstack.binders.BindServerToPlainTextStringTest)
Starting test testSimple(org.jclouds.elasticstack.binders.BindDriveToPlainTextStringTest)
[pool-1-thread-2] Test testSimple(org.jclouds.elasticstack.binders.BindServerToPlainTextStringTest) succeeded: 20ms
Test suite progress: tests succeeded: 3, failed: 0, skipped: 0.
[pool-1-thread-4] Test testSimple(org.jclouds.elasticstack.binders.BindDriveDataToPlainTextStringTest) succeeded: 33ms
Test suite progress: tests succeeded: 4, failed: 0, skipped: 0.
[pool-1-thread-1] Test testSimple(org.jclouds.elasticstack.binders.BindDriveToPlainTextStringTest) succeeded: 21ms
Test suite progress: tests succeeded: 5, failed: 0, skipped: 0.
Starting test testBasics(org.jclouds.elasticstack.functions.CreateDriveRequestToMapTest)
Starting test testComplete(org.jclouds.elasticstack.functions.CreateDriveRequestToMapTest)
[pool-1-thread-5] Test testComplete(org.jclouds.elasticstack.binders.BindDriveToPlainTextStringTest) succeeded: 34ms
Test suite progress: tests succeeded: 6, failed: 0, skipped: 0.
[pool-1-thread-3] Test testComplete(org.jclouds.elasticstack.binders.BindDriveDataToPlainTextStringTest) succeeded: 35ms
Test suite progress: tests succeeded: 7, failed: 0, skipped: 0.
Starting test testComplete(org.jclouds.elasticstack.functions.DriveDataToMapTest)
Starting test testBasics(org.jclouds.elasticstack.functions.DriveDataToMapTest)
Starting test test400MakesIllegalArgumentException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
[pool-1-thread-1] Test testBasics(org.jclouds.elasticstack.functions.DriveDataToMapTest) succeeded: 0ms
Test suite progress: tests succeeded: 8, failed: 0, skipped: 0.
[pool-1-thread-2] Test testBasics(org.jclouds.elasticstack.functions.CreateDriveRequestToMapTest) succeeded: 1ms
Test suite progress: tests succeeded: 9, failed: 0, skipped: 0.
Starting test test400MakesResourceNotFoundExceptionOnInfo(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
Starting test test400MakesResourceNotFoundExceptionOnMessageNotFound(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
[pool-1-thread-5] Test testComplete(org.jclouds.elasticstack.functions.DriveDataToMapTest) succeeded: 1ms
Test suite progress: tests succeeded: 10, failed: 0, skipped: 0.
[pool-1-thread-4] Test testComplete(org.jclouds.elasticstack.functions.CreateDriveRequestToMapTest) succeeded: 2ms
Test suite progress: tests succeeded: 11, failed: 0, skipped: 0.
Starting test test401MakesAuthorizationException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
Starting test test404MakesResourceNotFoundException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
[pool-1-thread-3] Test test400MakesIllegalArgumentException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 98ms
Test suite progress: tests succeeded: 12, failed: 0, skipped: 0.
[pool-1-thread-1] Test test400MakesResourceNotFoundExceptionOnInfo(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 97ms
Test suite progress: tests succeeded: 13, failed: 0, skipped: 0.
[pool-1-thread-4] Test test404MakesResourceNotFoundException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 96ms
Test suite progress: tests succeeded: 14, failed: 0, skipped: 0.
[pool-1-thread-2] Test test400MakesResourceNotFoundExceptionOnMessageNotFound(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 98ms
Test suite progress: tests succeeded: 15, failed: 0, skipped: 0.
Starting test test405MakesIllegalArgumentException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
[pool-1-thread-5] Test test401MakesAuthorizationException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 97ms
Test suite progress: tests succeeded: 16, failed: 0, skipped: 0.
Starting test testNone(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToDriveInfoTest)
Starting test testOne(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToDriveInfoTest)
Starting test test409MakesIllegalStateException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest)
Starting test testNew(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToServerInfoTest)
[pool-1-thread-3] Test test405MakesIllegalArgumentException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 1ms
Test suite progress: tests succeeded: 17, failed: 0, skipped: 0.
[pool-1-thread-4] Test testNone(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToDriveInfoTest) succeeded: 2ms
Test suite progress: tests succeeded: 18, failed: 0, skipped: 0.
Starting test testNone(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToServerInfoTest)
Starting test testOne(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToServerInfoTest)
[pool-1-thread-3] Test testNone(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToServerInfoTest) succeeded: 0ms
Test suite progress: tests succeeded: 19, failed: 0, skipped: 0.
Starting test testNone(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest)
[pool-1-thread-3] Test testNone(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest) succeeded: 0ms
Test suite progress: tests succeeded: 20, failed: 0, skipped: 0.
[pool-1-thread-1] Test test409MakesIllegalStateException(org.jclouds.elasticstack.handlers.ElasticStackErrorHandlerTest) succeeded: 2ms
Test suite progress: tests succeeded: 21, failed: 0, skipped: 0.
Starting test testOne(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest)
Starting test testNone(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest)
[pool-1-thread-1] Test testNone(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest) succeeded: 10ms
Test suite progress: tests succeeded: 22, failed: 0, skipped: 0.
Starting test testOneMap(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest)
[pool-1-thread-2] Test testOne(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToDriveInfoTest) succeeded: 18ms
Test suite progress: tests succeeded: 23, failed: 0, skipped: 0.
[pool-1-thread-1] Test testOneMap(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest) succeeded: 3ms
Test suite progress: tests succeeded: 24, failed: 0, skipped: 0.
[pool-1-thread-3] Test testOne(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToDriveInfoSetTest) succeeded: 14ms
Test suite progress: tests succeeded: 25, failed: 0, skipped: 0.
[pool-1-thread-5] Test testNew(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToServerInfoTest) succeeded: 17ms
Test suite progress: tests succeeded: 26, failed: 0, skipped: 0.
Starting test testTwoMaps(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest)
Starting test testValueEncodesNewlines(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest)
[pool-1-thread-4] Test testOne(org.jclouds.elasticstack.functions.KeyValuesDelimitedByBlankLinesToServerInfoTest) succeeded: 17ms
Test suite progress: tests succeeded: 27, failed: 0, skipped: 0.
Starting test testNone(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest)
[pool-1-thread-1] Test testValueEncodesNewlines(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest) succeeded: 0ms
Starting test testOne(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest)
Test suite progress: tests succeeded: 28, failed: 0, skipped: 0.
[pool-1-thread-2] Test testTwoMaps(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToListOfMapsTest) succeeded: 0ms
Test suite progress: tests succeeded: 29, failed: 0, skipped: 0.
[pool-1-thread-3] Test testNone(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest) succeeded: 0ms
Starting test testNone(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest)
Test suite progress: tests succeeded: 30, failed: 0, skipped: 0.
[pool-1-thread-4] Test testNone(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest) succeeded: 0ms
Test suite progress: tests succeeded: 31, failed: 0, skipped: 0.
Starting test testOneMap(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest)
[pool-1-thread-1] Test testOneMap(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest) succeeded: 0ms
Starting test testTwoMaps(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest)
Test suite progress: tests succeeded: 32, failed: 0, skipped: 0.
Starting test testValueEncodesNewlines(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest)
Starting test testBasics(org.jclouds.elasticstack.functions.MapToDriveInfoTest)
[pool-1-thread-2] Test testTwoMaps(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest) succeeded: 1ms
Starting test testComplete(org.jclouds.elasticstack.functions.MapToDriveInfoTest)
Test suite progress: tests succeeded: 33, failed: 0, skipped: 0.
[pool-1-thread-3] Test testValueEncodesNewlines(org.jclouds.elasticstack.functions.ListOfMapsToListOfKeyValuesDelimitedByBlankLinesTest) succeeded: 1ms
Test suite progress: tests succeeded: 34, failed: 0, skipped: 0.
[pool-1-thread-4] Test testBasics(org.jclouds.elasticstack.functions.MapToDriveInfoTest) succeeded: 1ms
Test suite progress: tests succeeded: 35, failed: 0, skipped: 0.
Starting test testEmptyMapReturnsNull(org.jclouds.elasticstack.functions.MapToDriveInfoTest)
[pool-1-thread-2] Test testEmptyMapReturnsNull(org.jclouds.elasticstack.functions.MapToDriveInfoTest) succeeded: 0ms
Test suite progress: tests succeeded: 36, failed: 0, skipped: 0.
Starting test testComplete(org.jclouds.elasticstack.functions.MapToServerInfoTest)
Starting test testEmptyMapReturnsNull(org.jclouds.elasticstack.functions.MapToServerInfoTest)
[pool-1-thread-2] Test testEmptyMapReturnsNull(org.jclouds.elasticstack.functions.MapToServerInfoTest) succeeded: 0ms
Test suite progress: tests succeeded: 37, failed: 0, skipped: 0.
Starting test testNew(org.jclouds.elasticstack.functions.MapToServerInfoTest)
[pool-1-thread-1] Test testComplete(org.jclouds.elasticstack.functions.MapToDriveInfoTest) succeeded: 2ms
Test suite progress: tests succeeded: 38, failed: 0, skipped: 0.
[pool-1-thread-5] Test testOne(org.jclouds.elasticstack.functions.ListOfKeyValuesDelimitedByBlankLinesToServerInfoSetTest) succeeded: 4ms
Test suite progress: tests succeeded: 39, failed: 0, skipped: 0.
Starting test testNew2(org.jclouds.elasticstack.functions.MapToServerInfoTest)
Starting test testBasics(org.jclouds.elasticstack.functions.ServerToMapTest)
[pool-1-thread-5] Test testBasics(org.jclouds.elasticstack.functions.ServerToMapTest) succeeded: 1ms
Test suite progress: tests succeeded: 40, failed: 0, skipped: 0.
Starting test testBasicsV2(org.jclouds.elasticstack.functions.ServerToMapTest)
[pool-1-thread-2] Test testNew(org.jclouds.elasticstack.functions.MapToServerInfoTest) succeeded: 2ms
Test suite progress: tests succeeded: 41, failed: 0, skipped: 0.
[pool-1-thread-5] Test testBasicsV2(org.jclouds.elasticstack.functions.ServerToMapTest) succeeded: 1ms
Test suite progress: tests succeeded: 42, failed: 0, skipped: 0.
Starting test testBasics(org.jclouds.elasticstack.functions.MapToServerInfoTest)
[pool-1-thread-4] Test testComplete(org.jclouds.elasticstack.functions.MapToServerInfoTest) succeeded: 4ms
Test suite progress: tests succeeded: 43, failed: 0, skipped: 0.
Starting test test(org.jclouds.elasticstack.functions.SplitNewlinesTest)
Starting test testWeDontSetMac(org.jclouds.elasticstack.functions.ServerToMapTest)
[pool-1-thread-3] Test testBasics(org.jclouds.elasticstack.functions.MapToServerInfoTest) succeeded: 1ms
Test suite progress: tests succeeded: 44, failed: 0, skipped: 0.
[pool-1-thread-2] Test testWeDontSetMac(org.jclouds.elasticstack.functions.ServerToMapTest) succeeded: 1ms
Test suite progress: tests succeeded: 45, failed: 0, skipped: 0.
[pool-1-thread-1] Test testNew2(org.jclouds.elasticstack.functions.MapToServerInfoTest) succeeded: 3ms
Test suite progress: tests succeeded: 46, failed: 0, skipped: 0.
[pool-1-thread-5] Test test(org.jclouds.elasticstack.functions.SplitNewlinesTest) succeeded: 10ms
Test suite progress: tests succeeded: 47, failed: 0, skipped: 0.
Starting test testTransformableToContains(org.jclouds.elasticstack.ElasticStackApiMetadataTest)
Starting test testAllContains(org.jclouds.elasticstack.ElasticStackApiMetadataTest)
Starting test testWithId(org.jclouds.elasticstack.ElasticStackApiMetadataTest)
[pool-2-thread-1] Test testAllContains(org.jclouds.elasticstack.ElasticStackApiMetadataTest) succeeded: 4ms
Test suite progress: tests succeeded: 48, failed: 0, skipped: 0.
[pool-2-thread-3] Test testWithId(org.jclouds.elasticstack.ElasticStackApiMetadataTest) succeeded: 6ms
Test suite progress: tests succeeded: 49, failed: 0, skipped: 0.
[pool-2-thread-2] Test testTransformableToContains(org.jclouds.elasticstack.ElasticStackApiMetadataTest) succeeded: 6ms
Test suite progress: tests succeeded: 50, failed: 0, skipped: 0.
Starting test testCreateDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testCreateServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testDestroyServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testDestroyDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testCreateAndStartServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-4] Test testDestroyDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 46ms
Test suite progress: tests succeeded: 51, failed: 0, skipped: 0.
[pool-3-thread-5] Test testDestroyServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 46ms
Test suite progress: tests succeeded: 52, failed: 0, skipped: 0.
Starting test testGetDriveInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testGetServerInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-2] Test testCreateDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 51ms
Test suite progress: tests succeeded: 53, failed: 0, skipped: 0.
Starting test testImageDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-3] Test testCreateServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 54ms
Test suite progress: tests succeeded: 54, failed: 0, skipped: 0.
[pool-3-thread-5] Test testGetServerInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 7ms
Test suite progress: tests succeeded: 55, failed: 0, skipped: 0.
[pool-3-thread-1] Test testCreateAndStartServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 53ms
Test suite progress: tests succeeded: 56, failed: 0, skipped: 0.
[pool-3-thread-4] Test testGetDriveInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 7ms
Test suite progress: tests succeeded: 57, failed: 0, skipped: 0.
Starting test testListDriveInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testImageDriveWithConversion(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testListDrives(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testListServerInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-5] Test testListDriveInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 2ms
Test suite progress: tests succeeded: 58, failed: 0, skipped: 0.
[pool-3-thread-2] Test testImageDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 6ms
Test suite progress: tests succeeded: 59, failed: 0, skipped: 0.
Starting test testReadDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-4] Test testListServerInfo(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 2ms
Test suite progress: tests succeeded: 60, failed: 0, skipped: 0.
Starting test testListServers(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testResetServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-3] Test testImageDriveWithConversion(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 4ms
Test suite progress: tests succeeded: 61, failed: 0, skipped: 0.
Starting test testSetDriveData(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-2] Test testReadDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 11ms
Test suite progress: tests succeeded: 62, failed: 0, skipped: 0.
Starting test testSetServerConfiguration(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-4] Test testResetServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 10ms
Test suite progress: tests succeeded: 63, failed: 0, skipped: 0.
[pool-3-thread-3] Test testSetDriveData(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 10ms
Test suite progress: tests succeeded: 64, failed: 0, skipped: 0.
Starting test testShutdownServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testStartServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-3] Test testStartServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 2ms
Test suite progress: tests succeeded: 65, failed: 0, skipped: 0.
[pool-3-thread-4] Test testShutdownServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 3ms
Test suite progress: tests succeeded: 66, failed: 0, skipped: 0.
[pool-3-thread-2] Test testSetServerConfiguration(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 5ms
Test suite progress: tests succeeded: 67, failed: 0, skipped: 0.
Starting test testStopServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testWriteDriveOffset(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
Starting test testWriteDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest)
[pool-3-thread-1] Test testListDrives(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 20ms
Test suite progress: tests succeeded: 68, failed: 0, skipped: 0.
[pool-3-thread-5] Test testListServers(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 17ms
Test suite progress: tests succeeded: 69, failed: 0, skipped: 0.
[pool-3-thread-3] Test testStopServer(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 3ms
Test suite progress: tests succeeded: 70, failed: 0, skipped: 0.
[pool-3-thread-4] Test testWriteDrive(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 5ms
Test suite progress: tests succeeded: 71, failed: 0, skipped: 0.
[pool-3-thread-2] Test testWriteDriveOffset(org.jclouds.elasticstack.ElasticStackAsyncClientTest) succeeded: 5ms
Test suite progress: tests succeeded: 72, failed: 0, skipped: 0.
Tests run: 72, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.886 sec

Results :

Tests run: 72, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-bundle-plugin:2.3.7:bundle (default-bundle) @ elasticstack ---
[INFO] 
[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ elasticstack ---
[INFO] Building jar: /private/tmp/jclouds/apis/elasticstack/target/elasticstack-1.6.0-SNAPSHOT-tests.jar
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (integration) @ elasticstack ---
[INFO] Surefire report directory: /private/tmp/jclouds/apis/elasticstack/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@43b09468
Starting test setServiceDefaults(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test setServiceDefaults(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 1, failed: 0, skipped: 0.
Starting test testCompareSizes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
Starting test testCreateDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testCreateDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 1.
Starting test testGetDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testGetDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 2.
Starting test testGetServer(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testGetServer(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 3.
Starting test testListDriveInfo(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testListDriveInfo(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 4.
Starting test testListDrives(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testListDrives(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 5.
Starting test testListServers(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testListServers(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 6.
Starting test testWeCanReadAndWriteToDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testWeCanReadAndWriteToDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 7.
Starting test testListServerInfo(org.jclouds.elasticstack.ElasticStackClientLiveTest)
[TestNG] Test testListServerInfo(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 8.
[TestNG] Test testSetDriveData(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 9.
[TestNG] Test testWeCopyADriveContentsViaGzip(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 10.
[TestNG] Test testCreateAndStartServer(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 11.
[TestNG] Test testConnectivity(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 12.
[TestNG] Test testLifeCycle(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 13.
[TestNG] Test testSetServerConfiguration(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 14.
[TestNG] Test testDestroyServer(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 15.
[TestNG] Test testDestroyDrive(org.jclouds.elasticstack.ElasticStackClientLiveTest) skipped.
Test suite progress: tests succeeded: 1, failed: 0, skipped: 16.
[TestNG] Test testCompareSizes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 1, failed: 1, skipped: 16.
Starting test testCorrectExceptionRunningNodesNotFound(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testCorrectExceptionRunningNodesNotFound(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 2081ms
Test suite progress: tests succeeded: 2, failed: 1, skipped: 16.
Starting test testGetAssignableLocations(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testGetAssignableLocations(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 3, failed: 1, skipped: 16.
Starting test testImageById(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testImageById(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 3, failed: 2, skipped: 16.
Starting test testImagesCache(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testImagesCache(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 4, failed: 2, skipped: 16.
Starting test testListImages(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testListImages(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 1ms
Test suite progress: tests succeeded: 5, failed: 2, skipped: 16.
Starting test testListSizes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testListSizes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 5ms
Test suite progress: tests succeeded: 6, failed: 2, skipped: 16.
Starting test testOptionToNotBlock(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testOptionToNotBlock(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 0ms
Test suite progress: tests succeeded: 7, failed: 2, skipped: 16.
Starting test testCreateAndRunAService(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testCreateAndRunAService(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 7, failed: 3, skipped: 16.
Starting test testCorrectAuthException(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testCorrectAuthException(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) succeeded: 1159ms
Test suite progress: tests succeeded: 8, failed: 3, skipped: 16.
[TestNG] Test testAScriptExecutionAfterBootWithBasicTemplate(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 3, skipped: 17.
[TestNG] Test testConcurrentUseOfComputeServiceToCreateNodes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 3, skipped: 18.
Starting test testTemplateMatch(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)
[TestNG] Test testTemplateMatch(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) failed.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 18.
[TestNG] Test testCreateTwoNodesWithRunScript(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 19.
[TestNG] Test testCreateAnotherNodeWithANewContextToEnsureSharedMemIsntRequired(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 20.
[TestNG] Test testCredentialsCache(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 21.
[TestNG] Test testGet(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 22.
[TestNG] Test testReboot(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 23.
[TestNG] Test testSuspendResume(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 24.
[TestNG] Test testGetNodesWithDetails(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 25.
[TestNG] Test testListNodes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 26.
[TestNG] Test testListNodesByIds(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 27.
[TestNG] Test testDestroyNodes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest) skipped.
Test suite progress: tests succeeded: 8, failed: 4, skipped: 28.
Tests run: 41, Failures: 5, Errors: 0, Skipped: 28, Time elapsed: 57.904 sec <<< FAILURE!
setupContext(org.jclouds.elasticstack.ElasticStackClientLiveTest)  Time elapsed: 50.079 sec  <<< FAILURE!
java.lang.IllegalStateException: no images present!
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:655)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:648)
	at org.jclouds.elasticstack.ElasticStackClientLiveTest.setupContext(ElasticStackClientLiveTest.java:86)

testCompareSizes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)  Time elapsed: 0.774 sec  <<< FAILURE!
java.lang.IllegalStateException: no images present!
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:655)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:648)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testCompareSizes(BaseComputeServiceLiveTest.java:803)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testImageById(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.lang.IllegalStateException: no images present!
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:655)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:648)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testImageById(BaseComputeServiceLiveTest.java:207)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testCreateAndRunAService(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)  Time elapsed: 1.954 sec  <<< FAILURE!
java.lang.IllegalStateException: no images present!
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:655)
	at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:234)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.createAndRunAServiceInGroup(BaseComputeServiceLiveTest.java:673)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testCreateAndRunAService(BaseComputeServiceLiveTest.java:660)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)

testTemplateMatch(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest)  Time elapsed: 0.001 sec  <<< FAILURE!
java.lang.IllegalStateException: no images present!
	at com.google.common.base.Preconditions.checkState(Preconditions.java:149)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:655)
	at org.jclouds.compute.domain.internal.TemplateBuilderImpl.build(TemplateBuilderImpl.java:648)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.buildTemplate(BaseComputeServiceLiveTest.java:489)
	at org.jclouds.compute.internal.BaseComputeServiceLiveTest.testTemplateMatch(BaseComputeServiceLiveTest.java:325)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:80)
	at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
	at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
	at org.testng.TestRunner.privateRun(TestRunner.java:767)
	at org.testng.TestRunner.run(TestRunner.java:617)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
	at org.testng.SuiteRunner.access$000(SuiteRunner.java:37)
	at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:368)
	at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:680)


Results :

Failed tests:   setupContext(org.jclouds.elasticstack.ElasticStackClientLiveTest): no images present!
  testCompareSizes(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest): no images present!
  testImageById(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest): no images present!
  testCreateAndRunAService(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest): no images present!
  testTemplateMatch(org.jclouds.elasticstack.compute.ElasticStackComputeServiceLiveTest): no images present!

Tests run: 41, Failures: 5, Errors: 0, Skipped: 28

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:06.059s
[INFO] Finished at: Sat Apr 27 14:08:52 PDT 2013
[INFO] Final Memory: 19M/125M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test (integration) on project elasticstack: There are test failures.
[ERROR] 
[ERROR] Please refer to /private/tmp/jclouds/apis/elasticstack/target/surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
