We have experienced a Linux/Mac OS X case sensitivity issue. Compare
oneandone/src/test/resources/sharedstorage in the 2.0.0rc2 jars and git
checkouts:
$ find /home/gaul/bin/2.0.0-rc2/jclouds-labs-2.0.0/oneandone/src/ \
/home/gaul/work/jclouds-labs/oneandone/src/ \
-iname sharedstorage
/home/gaul/work/2.0.0-rc2/jclouds-labs-2.0.0/oneandone/src/test/resources/sharedStorage
/home/gaul/work/jclouds-labs/oneandone/src/test/resources/sharedstorage
/home/gaul/work/jclouds-labs/oneandone/src/test/resources/sharedStorage
We duplicate the test inputs in the git checkout and the release process
on Mac OS X must have created the upper-case directory first. Maybe we
should package our release process in a Docker container to ensure
repeatable cross-platform builds? I submitted a pull request to address
this issue:
https://github.com/jclouds/jclouds-labs/pull/335
I do not think we need another release candidate to address this issue.
On Sun, Nov 06, 2016 at 08:52:44PM -0800, Andrew Gaul wrote:
> I encounter NullPointerExceptions when running the jclouds-labs
> oneandone tests. Oddly I do not see these errors when running the tests
> from master:
>
> $ mvn --version
> Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5;
> 2015-11-10T08:41:47-08:00)
> Maven home: /usr/local/apache-maven-3.3.9
> Java version: 1.8.0_112, vendor: Oracle Corporation
> Java home: /home/gaul/bin/jdk1.8.0_112/jre
> Default locale: en_US, platform encoding: UTF-8
> OS name: "linux", version: "3.13.0-100-generic", arch: "amd64", family: "unix"
>
> $ ./verify_jclouds_release.sh 2.0.0-rc2
> ...
> Tests run: 210, Failures: 12, Errors: 0, Skipped: 0, Time elapsed: 17.076 sec
> <<< FAILURE! - in TestSuite
> testAttachServer(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.021 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testAttachServer(SharedStorageApiMockTest.java:229)
>
> testChangePassword(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.006 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testChangePassword(SharedStorageApiMockTest.java:286)
>
> testCreate(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.004 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testCreate(SharedStorageApiMockTest.java:125)
>
> testDelete(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.002 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testDelete(SharedStorageApiMockTest.java:152)
>
> testDetachServer(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.001 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testDetachServer(SharedStorageApiMockTest.java:245)
>
> testGet(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.001 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testGet(SharedStorageApiMockTest.java:101)
>
> testGetServer(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.003 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testGetServer(SharedStorageApiMockTest.java:205)
>
> testList(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.002 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testList(SharedStorageApiMockTest.java:41)
>
> testListAccessCredentials(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.002 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testListAccessCredentials(SharedStorageApiMockTest.java:257)
>
> testListServers(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.001 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testListServers(SharedStorageApiMockTest.java:175)
>
> testListWithOption(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.001 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testListWithOption(SharedStorageApiMockTest.java:70)
>
> testUpdate(org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest)
> Time elapsed: 0.002 sec <<< FAILURE!
> java.lang.NullPointerException: null
> at
> com.google.common.base.Preconditions.checkNotNull(Preconditions.java:213)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:82)
> at
> com.google.common.io.Resources$UrlByteSource.<init>(Resources.java:77)
> at com.google.common.io.Resources.asByteSource(Resources.java:71)
> at com.google.common.io.Resources.asCharSource(Resources.java:120)
> at com.google.common.io.Resources.toString(Resources.java:145)
> at
> org.apache.jclouds.oneandone.rest.internal.BaseOneAndOneApiMockTest.stringFromResource(BaseOneAndOneApiMockTest.java:83)
> at
> org.apache.jclouds.oneandone.rest.features.SharedStorageApiMockTest.testUpdate(SharedStorageApiMockTest.java:141)
>
>
> Results :
>
> Failed tests:
>
> SharedStorageApiMockTest.testAttachServer:229->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testChangePassword:286->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testCreate:125->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testDelete:152->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testDetachServer:245->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testGet:101->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testGetServer:205->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testList:41->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testListAccessCredentials:257->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testListServers:175->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testListWithOption:70->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> SharedStorageApiMockTest.testUpdate:141->BaseOneAndOneApiMockTest.stringFromResource:83
> » NullPointer
>
> Tests run: 210, Failures: 12, Errors: 0, Skipped: 0
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Reactor Summary:
> [INFO]
> [INFO] Apache jclouds labs ................................ SUCCESS [ 4.026
> s]
> [INFO] jclouds Azure Compute ARM API ...................... SUCCESS [ 38.625
> s]
> [INFO] jclouds azure compute API .......................... SUCCESS [ 17.715
> s]
> [INFO] Apache jclouds B2 API .............................. SUCCESS [ 9.020
> s]
> [INFO] jclouds cdmi api ................................... SUCCESS [ 4.195
> s]
> [INFO] jclouds CloudSigma v2 API .......................... SUCCESS [ 10.809
> s]
> [INFO] jclouds CloudSigma v2 Honolulu Provider ............ SUCCESS [ 2.908
> s]
> [INFO] jclouds CloudSigma v2 Las Vegas Provider ........... SUCCESS [ 2.488
> s]
> [INFO] jclouds CloudSigma v2 Miami Provider ............... SUCCESS [ 2.842
> s]
> [INFO] jclouds CloudSigma v2 San Jose Provider ............ SUCCESS [ 2.642
> s]
> [INFO] jclouds CloudSigma v2 Washington DC Provider ....... SUCCESS [ 2.674
> s]
> [INFO] jclouds CloudSigma v2 Zurich Provider .............. SUCCESS [ 2.432
> s]
> [INFO] jclouds jdbc core .................................. SUCCESS [ 59.731
> s]
> [INFO] jclouds h2 jdbc provider ........................... SUCCESS [ 17.322
> s]
> [INFO] jclouds joyent-cloudapi api ........................ SUCCESS [ 9.322
> s]
> [INFO] jclouds joyentcloud provider ....................... SUCCESS [ 3.461
> s]
> [INFO] jclouds Abiquo api ................................. SUCCESS [ 4.039
> s]
> [INFO] jclouds ProfitBricks REST api ...................... SUCCESS [ 42.911
> s]
> [INFO] jclouds OneAndOne REST api ......................... FAILURE [ 19.764
> s]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 04:17 min
> [INFO] Finished at: 2016-11-06T19:03:07-08:00
> [INFO] Final Memory: 83M/764M
> [INFO]
> ------------------------------------------------------------------------
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-surefire-plugin:2.17:test (default-test) on
> project oneandone: There are test failures.
> [ERROR]
> [ERROR] Please refer to
> /home/gaul/bin/2.0.0-rc2/jclouds-labs-2.0.0/oneandone/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
> [ERROR]
> [ERROR] After correcting the problems, you can resume the build with the
> command
> [ERROR] mvn <goals> -rf :oneandone
> [
>
> --
> Andrew Gaul
> http://gaul.org/
--
Andrew Gaul
http://gaul.org/