+1 to make the source build+tests pass by default on most machines without say excessive time or disk requirement (including Windows).
We should however force all tests in the -Papache-release profile - meaning you have to do the release process with Linux/OSX or (in theory) on a Windows with a working Hadoop. On 12 May 2016 at 17:12, Andy Seaborne <[email protected]> wrote: > The JDBC TDB tests are quite exhaustive but from TDB's point-of-view, > getting through the jena-tdb tests is enough IMO (if not we need to put a > test into jena-tdb). The jena-jdbc-tdb uses TDB a lot in a few predictable > ways. I've not looked but it might be possible to use TDB-in-memory for > them. Like the hadoop tests - the framework is at fault, not the code being > tested. > > > I've started a BUILD file to go in the root of the source tree to document > these findings. > > > On balance, I think a setup whereby the default "mvn clean install" on > windows does something reasonably safe and reasonably useful is better than > something that breaks easily. Maybe that should be bootstrap (shade guava) > then through to Fuseki2, + build binaries. > > Skipping some tests while still building, in the default setup, is a > possible alternative. Considering the likely user (e.g. someone picking up > a bug fix or working on a git-clone) making the basics work well, i.e. > build-test, seems to me to be a better choice > > Andy > > > > On 12/05/16 14:56, Osma Suominen wrote: >> >> FWIW, I tried building on a Windows 10 VM (this is the 64bit IE11/Win10 >> test image from http://modern.ie that I normally use for browser testing). >> >> I couldn't complete the build though. The JDBC TDB Driver tests seemed >> to consume an enormous amount of disk space. Even though I increased the >> amount of disk space available to the VM (twice - up to 80GB, of which >> the jena-3.1.0 folder eventually consumed about 64GB), I ran out of >> space in the end. I gave up before reaching the Elephas build. >> >> I'm probably again doing something stupid though. Someone more familiar >> with doing Java development on Windows should try this. >> >> -Osma >> >> On 12/05/16 14:03, Stian Soiland-Reyes wrote: >>> >>> Sorry, Windows 10 is not happy in building Elephas - something goes >>> wrong with the hadoop file system (sounds like a Hadoop bug rather >>> than Jena) >>> >>> mvn clean install fails at: >>> >>> [INFO] Apache Jena - Elephas - I/O ........................ FAILURE >>> [09:44 min] >>> [INFO] Apache Jena - Elephas - Map/Reduce ................. SKIPPED >>> [INFO] Apache Jena - Elephas - Statistics Demo App ........ SKIPPED >>> [INFO] Apache Jena - Distribution ......................... SKIPPED >>> [INFO] Apache Jena - OSGi ................................. SKIPPED >>> [INFO] Apache Jena - OSGi bundle .......................... SKIPPED >>> [INFO] Apache Jena - OSGi Karaf features .................. SKIPPED >>> [INFO] Apache Jena - Extras ............................... SKIPPED >>> [INFO] Apache Jena - Extras - Query Builder ............... SKIPPED >>> [INFO] Apache Jena ........................................ SKIPPED >>> >>> (In other words, all the other worked fine :) >>> >>> >>> output_04[3](org.apache.jena.hadoop.rdf.io.output.turtle.StreamedTurtleOutputTest) >>> >>> Time elapsed: 0.017 sec <<< ERROR! >>> java.lang.NullPointerException: null >>> at java.lang.ProcessBuilder.start(ProcessBuilder.java:1012) >>> at org.apache.hadoop.util.Shell.runCommand(Shell.java:482) >>> at org.apache.hadoop.util.Shell.run(Shell.java:455) >>> at >>> org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:715) >>> at org.apache.hadoop.util.Shell.execCommand(Shell.java:808) >>> at org.apache.hadoop.util.Shell.execCommand(Shell.java:791) >>> at >>> >>> org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:656) >>> >>> at >>> >>> org.apache.hadoop.fs.FilterFileSystem.setPermission(FilterFileSystem.java:490) >>> >>> at >>> >>> org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:462) >>> >>> at >>> >>> org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:428) >>> >>> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908) >>> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:889) >>> at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:786) >>> at >>> >>> org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormat.getRecordWriter(AbstractNodeTupleOutputFormat.java:77) >>> >>> at >>> >>> org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormatTests.testOutput(AbstractNodeTupleOutputFormatTests.java:199) >>> >>> at >>> >>> org.apache.jena.hadoop.rdf.io.output.AbstractNodeTupleOutputFormatTests.output_04(AbstractNodeTupleOutputFormatTests.java:253) >>> >>> at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) >>> at >>> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >>> >>> at java.lang.reflect.Method.invoke(Method.java:498) >>> at >>> >>> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) >>> >>> at >>> >>> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >>> >>> at >>> >>> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) >>> >>> at >>> >>> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) >>> >>> at >>> org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:48) >>> at org.junit.rules.RunRules.evaluate(RunRules.java:20) >>> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) >>> at >>> >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) >>> >>> at >>> >>> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) >>> >>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>> at >>> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >>> at >>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >>> at >>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >>> at >>> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>> at org.junit.runners.Suite.runChild(Suite.java:128) >>> at org.junit.runners.Suite.runChild(Suite.java:27) >>> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) >>> at >>> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) >>> at >>> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) >>> at >>> org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) >>> at >>> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) >>> at org.junit.runners.ParentRunner.run(ParentRunner.java:363) >>> at >>> >>> org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264) >>> >>> at >>> >>> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153) >>> >>> at >>> >>> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124) >>> >>> at >>> >>> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) >>> >>> at >>> >>> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) >>> >>> at >>> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) >>> >>> This is repeated across all the Elephas IO tests. >>> >>> Tests run: 984, Failures: 0, Errors: 173, Skipped: 183 >>> >>> >>> Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; >>> 2015-11-10T16:41:47+00:00) >>> Maven home: C:\Program Files\apache-maven-3.3.9\bin\.. >>> Java version: 1.8.0_92, vendor: Oracle Corporation >>> Java home: C:\Program Files\Java\jdk1.8.0_92\jre >>> Default locale: en_GB, platform encoding: Cp1252 >>> OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos" >>> >>> BTW, this is not the standard Windows 10, but Windows 10 Pro Insider >>> Preview Build 14332 - preview of what will become the "Anniersary >>> Edition" later this summer. >>> >>> >>> This is not a regression as I get the same error when trying to build >>> jena-elephas 3.0.1. >>> >>> Perhaps someone with a normal Windows 10 and JDK 8 could have a go at >>> compiling jena-elephas? To avoid building all of 3.1.0 RC you can >>> always try on the 3.0.1 source release from >>> http://jena.apache.org/download/index.cgi as it seems the problem is >>> also there. >>> >> >> > -- Stian Soiland-Reyes Apache Taverna (incubating), Apache Commons RDF (incubating) http://orcid.org/0000-0001-9842-9718
