<div dir="ltr">As far as I can see Cloudbees is failing on a different test now in RawFileBackendTest. I believe Cloudbees doesn&#39;t have access to /tmp, so trying a workaround... Or something has changed in the backends to force the presence of OT and NT files (Possibly my changes 2 years ago!)<div>
<br></div><div>Either way, the JUnit 3 remnant was causing the @Ignore to be ignored! Pull request on github</div><div><br><div>Chris</div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On 8 February 2014 16:51, DM Smith <span dir="ltr">&lt;<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>&gt;</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">CloudBees is now having the same failure.<div><br></div><div>The @Ignore flag is on it. I have no idea what that does. It does not cause the test to be ignored when I run the tests via ant using JUnit 4. I&#39;m not up to speed on JUnit 4 or annotations at all. I&#39;m still mentally stuck on JUnit 3, having not bothered to read about the upgrade.</div>
<span class="HOEnZb"><font color="#888888"><div><br></div><div>DM</div></font></span><div><div class="h5"><div><br><div><div>On Feb 2, 2014, at 3:15 AM, Chris Burrell &lt;<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>&gt; wrote:</div>
<br><blockquote type="cite"><div dir="ltr">Interesting. I use Java 7 and it&#39;s not an issue (builds both on my windows laptop and our build server running linux). Maybe it&#39;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">&lt;<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>&gt;</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&#39;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&#39;ve googled it there are all kinds of condescending &quot;how stupid can you be to have dependency order between tests.&quot;</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><br><div><div>On Feb 1, 2014, at 6:20 AM, Chris Burrell &lt;<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>&gt; 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">&lt;<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>&gt;</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&#39;m no maven expert so Chris or Douglas &quot;qmx&quot; 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 &lt;<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>&gt; 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">&lt;<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>&gt;</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 &lt;<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>&gt; wrote:</div><br><blockquote type="cite"><div dir="ltr">Apologies I hadn&#39;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,&#39;Liberation Mono&#39;,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">&lt;plugin&gt;</span></div>




<div style="padding-left:10px">                <span style="color:navy">&lt;groupId&gt;</span>org.apache.maven.plugins<span style="color:navy">&lt;/groupId&gt;</span></div><div style="padding-left:10px">
                <span style="color:navy">&lt;artifactId&gt;</span>maven-surefire-plugin<span style="color:navy">&lt;/artifactId&gt;</span></div><div style="padding-left:10px">                <span style="color:navy">&lt;executions&gt;</span></div>




<div style="padding-left:10px">                    <span style="color:navy">&lt;execution&gt;</span></div><div style="padding-left:10px">                        <span style="color:navy">&lt;configuration&gt;</span></div>




<div style="padding-left:10px">                            <span style="color:navy">&lt;includes&gt;</span></div><div style="padding-left:10px">                                <span style="color:navy">&lt;include&gt;</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">&lt;/include&gt;</span></div>




<div style="padding-left:10px">                            <span style="color:navy">&lt;/includes&gt;</span></div><div style="padding-left:10px">                        <span style="color:navy">&lt;/configuration&gt;</span></div>




<div style="padding-left:10px">                        <span style="color:navy">&lt;phase&gt;</span>process-test-classes<span style="color:navy">&lt;/phase&gt;</span></div><div style="padding-left:10px">
                        <span style="color:navy">&lt;goals&gt;</span></div><div style="padding-left:10px">                            <span style="color:navy">&lt;goal&gt;</span>test<span style="color:navy">&lt;/goal&gt;</span></div>




<div style="padding-left:10px">                        <span style="color:navy">&lt;/goals&gt;</span></div><div style="padding-left:10px">                    <span style="color:navy">&lt;/execution&gt;</span></div>
<div style="padding-left:10px">                <span style="color:navy">&lt;/executions&gt;</span></div><div style="padding-left:10px">            <span style="color:navy">&lt;/plugin&gt;</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">&lt;<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>&gt;</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&#39;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&#39;d have to rewrite bits of bit to make it work for JSword - I suspect it&#39;s worth it in the long run however. (Wouldn&#39;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">&lt;<a href="mailto:mjdenham@gmail.com" target="_blank">mjdenham@gmail.com</a>&gt;</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&#39;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(&quot;KJV&quot;)==null) {</div><div>                Book kjv = underTest.getRepositoryBook(&quot;CrossWire&quot;, &quot;KJV&quot;);</div><div>                underTest.installBook(&quot;CrossWire&quot;, kjv);</div>






<div>            }</div><div>            if (Books.installed().getBook(&quot;ESV&quot;)==null) {</div><div>                Book esv = underTest.getRepositoryBook(&quot;CrossWire&quot;, &quot;ESV&quot;);</div><div>                underTest.installBook(&quot;CrossWire&quot;, 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">&lt;<a href="mailto:chris@burrell.me.uk" target="_blank">chris@burrell.me.uk</a>&gt;</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&#39;t have. </p>
<p dir="ltr">Step&#39;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, &quot;Greg Hellings&quot; &lt;<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>&gt; 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&#39;m seeing are:<div><div>Running org.crosswire.jsword.book.ConcurrencyTest</div><div>Exception in thread &quot;Thread-3&quot; 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 &quot;Thread-5&quot; 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 &quot;Thread-7&quot; 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 &quot;Thread-9&quot; 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 &quot;Thread-11&quot; 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 &quot;Thread-13&quot; 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 &quot;Thread-15&quot; 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 &quot;Thread-17&quot; 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 &quot;Thread-19&quot; 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 &quot;Thread-21&quot; 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 &quot;Thread-23&quot; 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 &quot;Thread-25&quot; 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 &quot;Thread-27&quot; 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 &quot;Thread-29&quot; 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 &quot;Thread-31&quot; 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 &quot;Thread-33&quot; 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 &quot;Thread-35&quot; 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 &quot;Thread-37&quot; 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 &quot;Thread-39&quot; 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 &quot;Thread-41&quot; 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 &quot;Thread-43&quot; 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 &quot;Thread-45&quot; 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 &quot;Thread-47&quot; 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 &quot;Thread-49&quot; 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 &quot;Thread-51&quot; 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 &quot;Thread-53&quot; 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 &quot;Thread-55&quot; 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 &quot;Thread-57&quot; 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 &quot;Thread-59&quot; 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 &quot;Thread-61&quot; 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 &quot;Thread-63&quot; 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 &quot;Thread-65&quot; 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 &quot;Thread-67&quot; 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 &quot;Thread-69&quot; 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 &quot;Thread-71&quot; 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 &quot;Thread-73&quot; 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 &quot;Thread-75&quot; java.lang.NullPointerException</div><div>Exception in thread &quot;Thread-87&quot; 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 &quot;Thread-89&quot; 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 &quot;Thread-91&quot; 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 &quot;Thread-93&quot; 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 &quot;Thread-95&quot; 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 &quot;Thread-97&quot; 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 &quot;Thread-99&quot; 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 &quot;Thread-101&quot; 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&#39;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">&lt;<a href="mailto:dmsmith@crosswire.org" target="_blank">dmsmith@crosswire.org</a>&gt;</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&#39;t have time to solve it.</div>









<div><br></div><div>Don&#39;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 &lt;<a href="mailto:greg.hellings@gmail.com" target="_blank">greg.hellings@gmail.com</a>&gt; 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&#39;t run an &#39;mvn package&#39; 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&#39;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></blockquote></div><br></div>
</blockquote></div><br></div></div></div></div></blockquote></div><br></div>