Author: claude
Date: Sat Sep 21 20:11:59 2013
New Revision: 1525287

URL: http://svn.apache.org/r1525287
Log:
Incomplete Model tests

Added:
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLockContractTests.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelConContractTests.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelContractSuite.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelContractTests.java
      - copied, changed from r1523135, 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelGraphInterfaceContractTests.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListContractTests.java
      - copied, changed from r1523135, 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFReaderFContractTests.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFWriterFContractTests.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelConTest.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelGraphInterfaceTest.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelLockTest.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelSuite.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFReaderFTest.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFWriterFTest.java
   (with props)
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestFileData.java
   (with props)
    jena/Experimental/new-test/src/test/resources/Copy of TestReaders.rdf
    jena/Experimental/new-test/src/test/resources/TestReaders.nt
    jena/Experimental/new-test/src/test/resources/TestReaders.rdf
    jena/Experimental/new-test/src/test/resources/com/hp/hpl/jena/rdf/
    jena/Experimental/new-test/src/test/resources/com/hp/hpl/jena/rdf/model/
    
jena/Experimental/new-test/src/test/resources/com/hp/hpl/jena/rdf/model/example.rdf
Removed:
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractModelTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractRDFListTest.java
Modified:
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractConcurrencyTestParallel.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractContainerMethodsTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractFindPropertiesTests.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractIteratorTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListObjectsTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListStatementsTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLiteralTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractReifiedStatementsTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractSeqMethodsTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractStatementTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/DefaultModelTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/RecordingModelListener.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/IteratorTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/LiteralTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListStatementTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelListSubjectsTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelPrefixMappingTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ModelTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/RDFListTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/temp/ReifiedStatementTest.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/ModelHelper.java
    
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/testing_framework/TestUtils.java

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractConcurrencyTestParallel.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractConcurrencyTestParallel.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractConcurrencyTestParallel.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractConcurrencyTestParallel.java
 Sat Sep 21 20:11:59 2013
@@ -32,12 +32,12 @@ import org.junit.Test;
 public abstract class  AbstractConcurrencyTestParallel extends 
AbstractModelProducerUser 
 {
 
-       class Operation extends Thread
+       private class Operation extends Thread
        {
-               Model lockModel;
-               boolean readLock;
+               private Model lockModel;
+               private boolean readLock;
 
-               Operation( final Model m, final boolean withReadLock )
+               public Operation( final Model m, final boolean withReadLock )
                {
                        lockModel = m;
                        readLock = withReadLock;
@@ -65,15 +65,15 @@ public abstract class  AbstractConcurren
        }
 
        // Operations ----------------------------------------------
-       long SLEEP = 100;
-       int threadTotal = 10;
+       private long SLEEP = 100;
+       private int threadTotal = 10;
 
-       int threadCount = 0;
+       private int threadCount = 0;
 
-       volatile int writers = 0;
+       private volatile int writers = 0;
 
        // The example model operations
-       void doStuff( final String label, final boolean doThrow )
+       private void doStuff( final String label, final boolean doThrow )
        {
                Thread.currentThread().getName();
                // Pause a while to cause other threads to (try to) enter the 
region.
@@ -90,7 +90,7 @@ public abstract class  AbstractConcurren
                }
        }
 
-       public void readOperation( final boolean doThrow )
+       private void readOperation( final boolean doThrow )
        {
                if (writers > 0)
                {
@@ -158,7 +158,7 @@ public abstract class  AbstractConcurren
                Assert.assertTrue("Some thread failed to finish", !problems);
        }
 
-       public void writeOperation( final boolean doThrow )
+       private void writeOperation( final boolean doThrow )
        {
                writers++;
                doStuff("write operation", false);

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractContainerMethodsTest.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractContainerMethodsTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractContainerMethodsTest.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractContainerMethodsTest.java
 Sat Sep 21 20:11:59 2013
@@ -63,7 +63,7 @@ public abstract class AbstractContainerM
        }
 
        @Before
-       public void setUpAbstractContainerMethodsTest() throws Exception {
+       final public void setUpAbstractContainerMethodsTest() throws Exception {
                model = getModelProducer().newModel();
                resource = model.createResource();
        }

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractFindPropertiesTests.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractFindPropertiesTests.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractFindPropertiesTests.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractFindPropertiesTests.java
 Sat Sep 21 20:11:59 2013
@@ -130,7 +130,7 @@ public abstract class AbstractFindProper
        }
 
        @Before
-       public void setUpAbstractFindPropertiesTests() throws Exception
+       final public void setUpAbstractFindPropertiesTests() throws Exception
        {
                // tvLitObj = { model.createTypedLiteral(new LitTestObjF()),
                // model.createTypedLiteral(new LitTestObjF()) };

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractIteratorTest.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractIteratorTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractIteratorTest.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractIteratorTest.java
 Sat Sep 21 20:11:59 2013
@@ -52,7 +52,7 @@ public abstract class AbstractIteratorTe
        }
 
        @Before
-       public void setupTestIterators() throws Exception
+       final public void setupTestIterators() throws Exception
        {
                model = getModelProducer().newModel();
                 subject = new Resource[num];

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListObjectsTest.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListObjectsTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListObjectsTest.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListObjectsTest.java
 Sat Sep 21 20:11:59 2013
@@ -59,7 +59,7 @@ public abstract class AbstractListObject
        RDFNode object[] = new RDFNode[numObj];
 
        @Before
-       public void setUp() throws Exception
+       final public void setUpAbstractListObjectsTest() throws Exception
        {
                model = getModelProducer().newModel();
                S = model.createResource("http://nowhere.man/subject";);

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListStatementsTest.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListStatementsTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListStatementsTest.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractListStatementsTest.java
 Sat Sep 21 20:11:59 2013
@@ -18,8 +18,7 @@
 
 package com.hp.hpl.jena.rdf.model;
 
-import static com.hp.hpl.jena.testing_framework.ModelHelper.property;
-import static com.hp.hpl.jena.testing_framework.ModelHelper.resource;
+import static com.hp.hpl.jena.testing_framework.ModelHelper.*;
 
 import com.hp.hpl.jena.rdf.model.Model;
 import com.hp.hpl.jena.rdf.model.ModelFactory;
@@ -46,14 +45,16 @@ public abstract class AbstractListStatem
        private Property p;
 
        @Before
-       public void setupAbstractListStatementsTest() throws Exception
+       final public void setupAbstractListStatementsTest() throws Exception
        {
                model = getModelProducer().newModel();
+               
                final Resource s = model
                                .createResource("http://www.a.com/s";);
                final Property p = model
                                .createProperty("http://www.a.com/p";);
-
+               
+               txnBegin( model );
                model.add(s, p,
                                model.createResource("http://www.a.com/o";));
                model.add(s, p, "texte", "fr");
@@ -61,6 +62,7 @@ public abstract class AbstractListStatem
                model.add(s, p, "text");
                model.add(model.createLiteralStatement(s,
                                p, 1789));
+               txnCommit( model );
        }
 
        @Test
@@ -132,8 +134,10 @@ public abstract class AbstractListStatem
        
        protected Set<Statement> fill( final Model model )
        {
+               txnBegin( model );
                final Set<Statement> statements = new HashSet<Statement>();
-               for (int i = 0; i < AbstractListObjectsTest.numberSubjects; i 
+= 1)
+               try {
+                       for (int i = 0; i < 
AbstractListObjectsTest.numberSubjects; i += 1)
                {
                        for (int j = 0; j < 
AbstractListObjectsTest.numberPredicates; j += 1)
                        {
@@ -147,6 +151,10 @@ public abstract class AbstractListStatem
                                statements.add(s);
                        }
                }
+               }
+                       finally {
+                               txnCommit( model );
+                       }
                Assert.assertEquals(AbstractListObjectsTest.numberSubjects
                                * AbstractListObjectsTest.numberPredicates, 
model.size());
                return statements;
@@ -156,7 +164,7 @@ public abstract class AbstractListStatem
        public void testListStatements()
        {
                final Set<Statement> statements = fill(model);
-               final List<Statement> L = model.listStatements().toList();
+               final Set<Statement> L = model.listStatements().toSet();
                Assert.assertEquals(statements.size(), L.size());
                Assert.assertEquals(statements, new HashSet<Statement>(L));
        }

Modified: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLiteralTest.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLiteralTest.java?rev=1525287&r1=1525286&r2=1525287&view=diff
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLiteralTest.java
 (original)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLiteralTest.java
 Sat Sep 21 20:11:59 2013
@@ -76,7 +76,7 @@ public abstract class AbstractLiteralTes
        }
        
        @Before
-       public void setupAbstractLiteralTest() {
+       final public void setupAbstractLiteralTest() {
                model = getModelProducer().newModel();
                X = resource("X");
                P = property("P");

Added: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLockContractTests.java
URL: 
http://svn.apache.org/viewvc/jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLockContractTests.java?rev=1525287&view=auto
==============================================================================
--- 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLockContractTests.java
 (added)
+++ 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLockContractTests.java
 Sat Sep 21 20:11:59 2013
@@ -0,0 +1,230 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.hp.hpl.jena.rdf.model;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import com.hp.hpl.jena.shared.Lock;
+import com.hp.hpl.jena.testing_framework.AbstractModelProducerUser;
+
+/**
+ * An abstract class that tests the implementation of the Model contract.
+ * 
+ * NOTE: does not test independent as only derived classes know if they are
+ * independent or not.
+ * 
+ */
+public abstract class AbstractLockContractTests extends 
AbstractModelProducerUser {
+       
+
+       private static Logger log = LoggerFactory
+                       .getLogger(AbstractLockContractTests.class);
+       
+       /**
+        * Test critical section nesting.
+        * @throws Throwable
+        */
+       @Test
+       public void testCriticalSection_Nesting()  {
+                 int MODEL1 = 0;
+                 int MODEL2 = 1;
+       
+               // Note : reuse the model across tests.
+       
+                Model[] workingModels = new Model[2];
+       
+
+               workingModels[MODEL1] = getModelProducer().newModel();
+               workingModels[MODEL2] = getModelProducer().newModel();
+
+               testNesting(workingModels[MODEL1], workingModels[MODEL1], 
Lock.READ, Lock.READ, false);
+               testNesting(workingModels[MODEL1], workingModels[MODEL1], 
Lock.WRITE, Lock.WRITE, false);
+               testNesting(workingModels[MODEL1], workingModels[MODEL1], 
Lock.READ, Lock.WRITE, true);
+               testNesting(workingModels[MODEL1], workingModels[MODEL1], 
Lock.WRITE, Lock.READ, false);
+               testNesting(workingModels[MODEL1], workingModels[MODEL2], 
Lock.READ, Lock.READ, false);
+               testNesting(workingModels[MODEL1], workingModels[MODEL2], 
Lock.WRITE, Lock.WRITE, false);
+               testNesting(workingModels[MODEL1], workingModels[MODEL2], 
Lock.READ, Lock.WRITE, false);
+               testNesting(workingModels[MODEL1], workingModels[MODEL2], 
Lock.WRITE, Lock.READ, false);
+       }
+       
+       
+
+       /**
+        * Test critical section nesting
+        * 
+        * @param modelFactory
+        *            an instance of the TestingModelFactory
+        * @param model1Idx
+        *            which model to use for outer model.
+        * @param model2Idx
+        *            which model to use for inner model
+        * @param lock1
+        *            lock type for outer model. Lock.READ or Lock.WRITE
+        * @param lock2
+        *            lock type for inner model.
+        * @param exExpected
+        *            true if an exception is expected.
+        * @param name
+        *            The name of the test to run.
+        */
+       private void testNesting(final Model outerModel, final Model innerModel,
+                       final Boolean outerLock, final Boolean innerLock,
+                       final Boolean exExpected) {
+               String name = String.format("%s outerLock:%s innerLock:%s",
+                               innerModel == outerModel ? "same" : 
"different", (outerLock),
+                               (innerLock));
+               boolean gotException = false;
+               try {
+                       outerModel.enterCriticalSection(outerLock);
+
+                       try {
+                               try {
+                                       // Should fail if outerLock is READ and 
innerLock is WRITE
+                                       // and its on the same model, inner and 
outer.
+                                       
innerModel.enterCriticalSection(innerLock);
+
+                               } finally {
+                                       innerModel.leaveCriticalSection();
+                               }
+                       } catch (final Exception ex) {
+                               gotException = true;
+                       }
+
+               } finally {
+                       outerModel.leaveCriticalSection();
+               }
+
+               if (exExpected) {
+                       Assert.assertTrue(name
+                                       + " Failed to get expected lock 
promotion error",
+                                       gotException);
+               } else {
+                       Assert.assertTrue(name + " Got unexpected lock 
promotion error",
+                                       !gotException);
+               }
+       }
+       
+       // counts the number of writers used in criticalsection parallel testing
+       private volatile int writers = 0;
+       /**
+        * Operation thread for multi-threaded test
+        *
+        */
+       private class Operation extends Thread {
+               
+               private Model model;
+               private boolean readLock;
+               private long  sleep;
+
+               private Operation(final Model model, final boolean readLock, 
final long sleep) {
+                       this.model = model;
+                       this.readLock = readLock;
+                       this.sleep = sleep;
+               }
+
+               @Override
+               public void run() {
+                       for (int i = 0; i < 2; i++) {
+                               try {
+                                       model.enterCriticalSection(readLock);
+                                       if (readLock)
+                                       {
+                                               if (writers > 0) {
+                                                       
Assert.fail("Concurrency error: writers around!");
+                                               }
+                                               doStuff("read operation", 
false);
+                                               if (writers > 0) {
+                                                       
Assert.fail("Concurrency error: writers around!");
+                                               }
+                                       } else {
+                                               writers++;
+                                               doStuff("write operation", 
false);
+                                               writers--;
+                                       }
+                               } finally {
+                                       model.leaveCriticalSection();
+                               }
+                       }
+               }
+               
+               private void doStuff(final String label, final boolean doThrow) 
{
+                       Thread.currentThread().getName();
+                       // Pause a while to cause other threads to (try to) 
enter the region.
+                       try {
+                               Thread.sleep(sleep);
+                       } catch (final InterruptedException intEx) {
+                       }
+                       if (doThrow) {
+                               throw new RuntimeException(label);
+                       }
+               }
+       }
+
+       /**
+        * Verify that critical seciton works in parallel usage.
+        */
+       @Test
+       public void testCriticalSection_Parallel() 
+       {
+               int threadCount = 0; // current number of threads.
+               long sleep = 100; // number of miliseconds to sleep in 
processing
+               int threadTotal = 10; // total number of threads to run
+               Model model = getModelProducer().newModel();
+               final Thread threads[] = new Thread[threadTotal];
+
+               boolean getReadLock = Lock.READ;
+               for (int i = 0; i < threadTotal; i++) {
+                       final String nextId = "T" + 
Integer.toString(++threadCount);
+                       threads[i] = new Operation(model, getReadLock, sleep);
+                       threads[i].setName(nextId);
+                       threads[i].start();
+
+                       getReadLock = !getReadLock;
+               }
+
+               boolean problems = false;
+               for (int i = 0; i < threadTotal; i++) {
+                       try {
+                               threads[i].join(200 * sleep);
+                       } catch (final InterruptedException intEx) {
+
+                       }
+               }
+
+               // Try again for any we missed.
+               for (int i = 0; i < threadTotal; i++) {
+                       if (threads[i].isAlive()) {
+                               try {
+                                       threads[i].join(200 * sleep);
+                               } catch (final InterruptedException intEx) {
+                               }
+                       }
+                       if (threads[i].isAlive()) {
+                               log.error("Thread " + threads[i].getName()
+                                               + " failed to finish");
+                               problems = true;
+                       }
+               }
+
+               Assert.assertTrue("Some thread failed to finish", !problems);
+       }
+
+}

Propchange: 
jena/Experimental/new-test/src/test/java/com/hp/hpl/jena/rdf/model/AbstractLockContractTests.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to