<div dir="ltr">Interesting. I use Java 7 and it's not an issue (builds both on my windows laptop and our build server running linux). Maybe it's because my code base has the @Ignore flag on them. Does yours not?<div>
<br></div><div> If the create is necessary for other tests, it feels like it should be done in the @Before method, or @BeforeClass</div><div><br></div><div>Chris</div><div><br></div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On 2 February 2014 00:54, DM Smith <span dir="ltr"><<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">I'm having test failures in RawFileBackendTest. It appears that JUnit 3 always did tests in declaration order. While JUnit 4 does not define that.<div><br></div><div>The problem is that the RawFileBackendTest does a setup and then the first test used to be testCreate, which would create the module. The next two tests then used the result of that creation.</div>
<div><br></div><div>When I run with Java 7 testCreate is executed last. This cause the other two tests to fail in backend.initState() because the module does not exist.</div><div><br></div><div>Does anyone know JUnit 4 well enough to:</div>
<div>a) Have a test that merely tests module creation.</div><div>b) Executes that test before tests of that module.</div><div><br></div><div>That is forces the old JUnit 3 declaration order of execution or the equivalent.</div>
<div><br></div><div>When I've googled it there are all kinds of condescending "how stupid can you be to have dependency order between tests."</div><div><br></div><div>It seems that a test should do one thing and do it well. Obviously, the test class can be rewritten to have a single test that does it all. Then it is not an issue.</div>
<div><br></div><div>In Him,</div><div><span style="white-space:pre-wrap">        </span>DM</div><div><div class="h5"><div><br><div><div>On Feb 1, 2014, at 6:20 AM, Chris Burrell <<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>> wrote:</div>
<br><blockquote type="cite"><div dir="ltr">This should now be fixed. Can someone re-test please?<div><br></div><div>I tested with an empty repo and everything worked fine.</div><div>Chris</div><div><br></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">
On 20 January 2014 16:38, DM Smith <span dir="ltr"><<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">We hope to get there. I'm no maven expert so Chris or Douglas "qmx" will be doing it.<span><font color="#888888"><div><br></div><div>-- DM</div></font></span><div>
<div><br><div><div>On Jan 20, 2014, at 11:35 AM, Greg Hellings <<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr">
If this gets resolved, would it then be possible for JSword to be hosted in the public Maven repositories? It would make building and deploying against JSword that much easier!<div><br></div><div>--Greg</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 20, 2014 at 10:33 AM, DM Smith <span dir="ltr"><<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Please do!<div><br></div><div>I had thought that the problem was that Maven was executing tests in a different order and that it always started with a clean slate. I just checked and the tests do not install the KJV or ESV. So that is needed and it needs to be forced to be early.</div>
<div><br></div><div>Since I maintain both the KJV and ESV, they are always in my local install.</div><div><br><div>In Him,</div><div><span style="white-space:pre-wrap">        </span>DM</div><div><br><div><div>
On Jan 20, 2014, at 11:21 AM, Chris Burrell <<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr">Apologies I hadn't read the whole thing. If we can include that test, then that would make it work.<div>
<br></div><div>Just add something like this in the plugins section in Maven;</div><div><br></div><div>
<pre style="font-family:Consolas,'Liberation Mono',Courier,monospace;font-size:12px;margin-top:0px;margin-bottom:0px;color:rgb(51,51,51);line-height:18px"><div style="padding-left:10px"> <span style="color:navy"><plugin></span></div>
<div style="padding-left:10px"> <span style="color:navy"><groupId></span>org.apache.maven.plugins<span style="color:navy"></groupId></span></div><div style="padding-left:10px">
<span style="color:navy"><artifactId></span>maven-surefire-plugin<span style="color:navy"></artifactId></span></div><div style="padding-left:10px"> <span style="color:navy"><executions></span></div>
<div style="padding-left:10px"> <span style="color:navy"><execution></span></div><div style="padding-left:10px"> <span style="color:navy"><configuration></span></div>
<div style="padding-left:10px"> <span style="color:navy"><includes></span></div><div style="padding-left:10px"> <span style="color:navy"><include></span>**/<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;line-height:normal;white-space:normal">BookInstallerTest</span>.java<span style="color:navy"></include></span></div>
<div style="padding-left:10px"> <span style="color:navy"></includes></span></div><div style="padding-left:10px"> <span style="color:navy"></configuration></span></div>
<div style="padding-left:10px"> <span style="color:navy"><phase></span>process-test-classes<span style="color:navy"></phase></span></div><div style="padding-left:10px">
<span style="color:navy"><goals></span></div><div style="padding-left:10px"> <span style="color:navy"><goal></span>test<span style="color:navy"></goal></span></div>
<div style="padding-left:10px"> <span style="color:navy"></goals></span></div><div style="padding-left:10px"> <span style="color:navy"></execution></span></div>
<div style="padding-left:10px"> <span style="color:navy"></executions></span></div><div style="padding-left:10px"> <span style="color:navy"></plugin></span></div>
<div style="padding-left:10px"><span style="color:navy"><br></span></div><div style="padding-left:10px"><span style="color:navy"><br></span></div><div style="padding-left:10px">
<span style="color:navy">Chris</span></div><div style="padding-left:10px"><span style="color:navy"><br></span></div></pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On 20 January 2014 16:19, Chris Burrell <span dir="ltr"><<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Indeed I think that's the issue. With STEP, as part of the Maven process we install the modules automatically. <div><br></div><div><a href="https://github.com/tyndale/step/blob/master/step-core/src/test/java/com/tyndalehouse/step/core/prebuild/DownloadJSwordBiblesPreReq.java" target="_blank">https://github.com/tyndale/step/blob/master/step-core/src/test/java/com/tyndalehouse/step/core/prebuild/DownloadJSwordBiblesPreReq.java</a></div>
<div><br></div><div>The above file is what I use to ensure the tests pass regardless... With a Maven snippet to ensure that test always run before every other test. </div><div><br></div><div>It uses the STEP service-orientated approach, so you'd have to rewrite bits of bit to make it work for JSword - I suspect it's worth it in the long run however. (Wouldn't take long I suspect)</div>
<span><font color="#888888">
<div>Chris</div><div><br></div><div><br></div><div><br></div><div><br></div></font></span></div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On 20 January 2014 16:13, Martin Denham <span dir="ltr"><<a href="mailto:mjdenham@gmail.com" target="_blank">mjdenham@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I suppose CloudBees does not have any modules installed? The errors it reports look similar to the errors I had just now when I didn't have any Books installed on my local drive, before I installed KJV and ESV.<div>
<br></div><div>The junits do not seem to install any modules but assume kjv and esv are installed. I added the following to my local JSword and ran it before the junits and then they all ran fine. Maybe the fix would be to tell maven to only <a href="https://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html" target="_blank">include</a> AllTests.java and to add BookInstallerTest (below) as the first test in AllTests, but I am no expert with maven or CloudBees:</div>
<div><div><br></div><div><div>public class BookInstallerTest extends TestCase {</div><div><br></div><div> private BookInstaller underTest = new BookInstaller();</div><div> </div><div> @Test</div><div> public void testInstallBook() {</div>
<div> try {</div><div> if (Books.installed().getBook("KJV")==null) {</div><div> Book kjv = underTest.getRepositoryBook("CrossWire", "KJV");</div><div> underTest.installBook("CrossWire", kjv);</div>
<div> }</div><div> if (Books.installed().getBook("ESV")==null) {</div><div> Book esv = underTest.getRepositoryBook("CrossWire", "ESV");</div><div> underTest.installBook("CrossWire", esv);</div>
<div> }</div><div> } catch (Exception e) {</div><div> e.printStackTrace();</div><div> fail(e.getMessage()); </div><div> }</div><div> }</div><div>}</div><span><font color="#888888"><div>
<br>
</div>
</font></span><div class="gmail_extra"><span><font color="#888888">Martin</font></span><div><br><br><div class="gmail_quote">On 29 October 2013 21:39, Chris Burrell <span dir="ltr"><<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><p dir="ltr">I suspect names[i] refers to a module you don't have. </p>
<p dir="ltr">Step's maven build has something which automatically downloads missing modules before tests are run. Perhaps we can port that across?</p><span><font color="#888888"><p dir="ltr">Chris</p></font></span><div>
<div class="gmail_quote">On 29 Oct 2013 16:13, "Greg Hellings" <<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr">The specific failures I'm seeing are:<div><div>Running org.crosswire.jsword.book.ConcurrencyTest</div><div>Exception in thread "Thread-3" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-5" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-7" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-9" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-11" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-13" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-15" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-17" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-19" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-21" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-23" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-25" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-27" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-29" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-31" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-33" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-35" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-37" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-39" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-41" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-43" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-45" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-47" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-49" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-51" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-53" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-55" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-57" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-59" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-61" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-63" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-65" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-67" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-69" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-71" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-73" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-75" java.lang.NullPointerException</div><div>Exception in thread "Thread-87" java.lang.NullPointerException</div>
<div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div><div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div>
<div>Exception in thread "Thread-89" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div><div>
<span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-91" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-93" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-95" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-97" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-99" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Exception in thread "Thread-101" java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.crosswire.jsword.book.ConcurrencyTest$2.run(ConcurrencyTest.java:57)</div>
<div><span style="white-space:pre-wrap">        </span>at java.lang.Thread.run(Thread.java:744)</div><div>Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.123 sec</div></div><div><br></div><div>This seems to be caused because </div>
<div>final Book b0 = Books.installed().getBook(names[1]);<br></div><div>returns empty.</div><div><br></div><div>I do have modules installed - iterating over the Books.installed().getBooks(); gives me a list of a half-dozen or so entries when I execute it from within Eclipse, but none when I execute it from the command line. I haven't had time to put my debugger on it yet to see what the difference between the two environments is, though. They were installed by the core Sword installmgr into my ~/.sword/ directory.</div>
<div><br></div><div>--Greg</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Oct 29, 2013 at 10:57 AM, DM Smith <span dir="ltr"><<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word">I use ant to build and test. Maybe Chris B can chime in?<div>
<br></div><div>I do know that there is a failure in some of the tests because under ant the order is deterministic and a prerequisite of later test is satisfied by an earlier one. Under Jenkins on Cloudbees, which is configured to use maven, it fails. At JavaOne, I talked to the CloudBees folks and we narrowed it down. But we didn't have time to solve it.</div>
<div><br></div><div>Don't know if this is related to the failure that you are seeing.<span><font color="#888888"><br><div><br></div><div>DM Smith</div></font></span><div><br><div><div><div>
On Oct 29, 2013, at 11:49 AM, Greg Hellings <<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>> wrote:</div><br></div><blockquote type="cite"><div><div dir="ltr">
<span style="font-family:arial,sans-serif;font-size:13px">I was just trying to build JSword, but I can't run an 'mvn package' in the current github master because it fails with several NPEs during the Concurrency Test. </span><span style="font-family:arial,sans-serif;font-size:13px">Is this a known issue?</span><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">Also, I can't locate a built jar of the core library in any maven repositories around. Is JSword not hosted in any of them?</div><div style="font-family:arial,sans-serif;font-size:13px">
<br></div><div style="font-family:arial,sans-serif;font-size:13px">--Greg</div></div></div><div>
_______________________________________________<br>jsword-devel mailing list<br><a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
</div></blockquote></div><br></div></div></div><br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div>
</div><br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div></div></div></div></div>
<br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div>
</div></blockquote></div><br></div>
_______________________________________________<br>jsword-devel mailing list<br><a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
</blockquote></div><br></div></div></div><br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>jsword-devel mailing list<br><a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
</blockquote></div><br></div></div></div><br>_______________________________________________<br>
jsword-devel mailing list<br>
<a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br>
<a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
<br></blockquote></div><br></div>
_______________________________________________<br>jsword-devel mailing list<br><a href="mailto:jsword-devel@crosswire.org" target="_blank">jsword-devel@crosswire.org</a><br><a href="http://www.crosswire.org/mailman/listinfo/jsword-devel" target="_blank">http://www.crosswire.org/mailman/listinfo/jsword-devel</a><br>
</blockquote></div><br></div></div></div></div></blockquote></div><br></div>