You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/09/12 18:13:08 UTC

svn commit: r1522648 - in /jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb: ./ graph/ store/ transaction/

Author: andy
Date: Thu Sep 12 16:13:07 2013
New Revision: 1522648

URL: http://svn.apache.org/r1522648
Log:
JENA-553 : tidy up running on Windows.

Modified:
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/ConfigTest.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/graph/TestPrefixMappingTDB.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/AbstractStoreConnections.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSequentialDisk.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestNodeTableTransDisk.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransRestart.java
    jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/ConfigTest.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/ConfigTest.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/ConfigTest.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/ConfigTest.java Thu Sep 12 16:13:07 2013
@@ -18,31 +18,42 @@
 
 package com.hp.hpl.jena.tdb;
 
+import com.hp.hpl.jena.tdb.sys.SystemTDB ;
+
 import org.apache.jena.atlas.lib.FileOps ;
 
 public class ConfigTest
 {
-    // Place under target - it wil not be included in Apache source-release.
+    // Place under target
     private static final String testingDir = "target/tdb-testing" ;
     private static final String testingDirDB = "target/tdb-testing/DB" ;
-    // See also "testing/Assembler/*.ttl" that uses the temp area for testing   
+    static boolean nonDeleteableMMapFiles = SystemTDB.isWindows ;
     
     static boolean initialized = false ; 
     
     private static void init()
     {
-        if ( ! initialized )
-        {
-            FileOps.ensureDir("target") ;
-            FileOps.ensureDir(testingDir) ;
-            FileOps.ensureDir(testingDirDB) ;
-        }
+        if ( initialized )
+            return ; 
+        FileOps.ensureDir("target") ;
+        FileOps.ensureDir(testingDir) ;
+        FileOps.ensureDir(testingDirDB) ;
+        initialized = true ;
     }
     
     private static int count = 0 ;
     
-    /** Get a empty directory name that has not been used before in this JVM */ 
-    public static final String getTestingDirUnique()
+    /** return a directory */ 
+    public static final String getCleanDir() {
+        init() ;
+        String dir = nonDeleteableMMapFiles ? getTestingDirUnique() : getTestingDirDB() ;
+        FileOps.ensureDir(dir); 
+        FileOps.clearDirectory(dir) ;
+        return dir ;
+    }
+    /** Get a empty directory name that has not been used before in this JVM */
+    
+    private static final String getTestingDirUnique()
     {
         init() ;
     	String dn = testingDir+"/D-"+(++count) ;
@@ -57,9 +68,19 @@ public class ConfigTest
         return testingDir ;
     }
     
+    public static final void deleteTestingDir()
+    {
+        if ( ! FileOps.exists(testingDir) )
+            return ;
+        deleteTestingDirDB() ;
+        FileOps.clearDirectory(testingDir) ;
+        FileOps.deleteSilent(testingDir) ;
+    }
+
     public static final String getTestingDirDB()
     {
         init() ;
+        FileOps.ensureDir(testingDirDB) ;
         return testingDirDB ;
     }
     
@@ -71,12 +92,4 @@ public class ConfigTest
         FileOps.deleteSilent(testingDirDB) ;
     }
 
-    public static final void deleteTestingDir()
-    {
-        if ( ! FileOps.exists(testingDir) )
-            return ;
-        deleteTestingDirDB() ;
-        FileOps.clearDirectory(testingDir) ;
-        FileOps.deleteSilent(testingDir) ;
-    }
 }

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/TestTDBFactory.java Thu Sep 12 16:13:07 2013
@@ -28,13 +28,12 @@ import com.hp.hpl.jena.sparql.core.Datas
 import com.hp.hpl.jena.sparql.core.Quad ;
 import com.hp.hpl.jena.sparql.sse.SSE ;
 import com.hp.hpl.jena.tdb.base.file.Location ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
 import com.hp.hpl.jena.tdb.sys.TDBMaker ;
 import com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction ;
 
 public class TestTDBFactory extends BaseTest
 {
-    final String DIR = SystemTDB.isWindows ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDirDB() ;
+    String DIR = ConfigTest.getCleanDir() ;
     
     static Quad quad1 = SSE.parseQuad("(_ <s> <p> 1)") ;
     static Quad quad2 = SSE.parseQuad("(_ <s> <p> 1)") ;

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/graph/TestPrefixMappingTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/graph/TestPrefixMappingTDB.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/graph/TestPrefixMappingTDB.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/graph/TestPrefixMappingTDB.java Thu Sep 12 16:13:07 2013
@@ -120,8 +120,7 @@ public class TestPrefixMappingTDB extend
             //TDB.getContext().set(SystemTDB.symFileMode, "mapped") ;
             TDB.getContext().set(SystemTDB.symFileMode, "direct") ;
         }
-        String DB = ConfigTest.getTestingDirDB() ;
-        FileOps.clearDirectory(DB) ;
+        String DB = ConfigTest.getCleanDir() ;
         {
             // Create new DB (assuming it's empty now)
             Graph graph = TDBFactory.createDatasetGraph(DB).getDefaultGraph() ;

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/AbstractStoreConnections.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/AbstractStoreConnections.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/AbstractStoreConnections.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/AbstractStoreConnections.java Thu Sep 12 16:13:07 2013
@@ -18,11 +18,8 @@
 
 package com.hp.hpl.jena.tdb.store;
 
-import java.io.File ;
-
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.FileOps ;
 import org.junit.After ;
 import org.junit.Before ;
 import org.junit.Test ;
@@ -38,7 +35,6 @@ import com.hp.hpl.jena.tdb.StoreConnecti
 import com.hp.hpl.jena.tdb.TDB ;
 import com.hp.hpl.jena.tdb.TDBFactory ;
 import com.hp.hpl.jena.tdb.base.file.Location ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
 import com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn ;
 import com.hp.hpl.jena.tdb.transaction.TDBTransactionException ;
 
@@ -46,8 +42,6 @@ public abstract class AbstractStoreConne
 {
     // Subclass to give direct and mapped versions.
     
-    static boolean nonDeleteableMMapFiles = SystemTDB.isWindows ;
-    
     // Per-test unique-ish.
     static int count = 0 ;
     long x = System.currentTimeMillis()+(count++) ;
@@ -63,13 +57,7 @@ public abstract class AbstractStoreConne
     @Before public void before()
     {
         StoreConnection.reset() ;
-        DIR = nonDeleteableMMapFiles ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDirDB() ;
-        FileOps.ensureDir(DIR) ;
-        FileOps.clearDirectory(DIR) ;
-        
-        File d = new File(DIR) ;
-        if ( d.list().length > 2 )  // . and ..
-            throw new RuntimeException("Unable to clean up existing test directory contents") ;
+        DIR = ConfigTest.getCleanDir() ;
     }
 
     @After public void after() {} 

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestDatasetTDBPersist.java Thu Sep 12 16:13:07 2013
@@ -18,13 +18,11 @@
 
 package com.hp.hpl.jena.tdb.store;
 
-
 import java.util.Arrays ;
 import java.util.List ;
 
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.atlas.junit.BaseTest ;
-import org.apache.jena.atlas.lib.FileOps ;
 import org.junit.After ;
 import org.junit.AfterClass ;
 import org.junit.Before ;
@@ -40,7 +38,6 @@ import com.hp.hpl.jena.tdb.ConfigTest ;
 import com.hp.hpl.jena.tdb.StoreConnection ;
 import com.hp.hpl.jena.tdb.base.file.Location ;
 import com.hp.hpl.jena.tdb.junit.GraphLocation ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
 
 /** Testing persistence  */ 
 public class TestDatasetTDBPersist extends BaseTest
@@ -48,7 +45,6 @@ public class TestDatasetTDBPersist exten
     static Node n0 = NodeFactoryExtra.parseNode("<http://example/n0>") ; 
     static Node n1 = NodeFactoryExtra.parseNode("<http://example/n1>") ;
     static Node n2 = NodeFactoryExtra.parseNode("<http://example/n2>") ;
-    static boolean nonDeleteableMMapFiles = SystemTDB.isWindows ;
     
     // To avoid the problems on MS Windows whereby memory mapped files
     // can't be deleted from a running JVM, we use a different, cleaned 
@@ -58,10 +54,8 @@ public class TestDatasetTDBPersist exten
     
     @Before public void before()
     {   
-    	String dirname = nonDeleteableMMapFiles ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDir() ;
+    	String dirname = ConfigTest.getCleanDir() ;
     	StoreConnection.reset() ;
-		FileOps.ensureDir(dirname) ;
-		FileOps.clearDirectory(dirname) ;
 		graphLocation = new GraphLocation(new Location(dirname)) ;
         graphLocation.createDataset() ;
     }

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/store/TestGraphTDB.java Thu Sep 12 16:13:07 2013
@@ -39,7 +39,7 @@ public class TestGraphTDB extends Abstra
     @BeforeClass public static void beforeClass()
     {
         StoreConnection.reset() ;
-        graphLocation = new GraphLocation(new Location(ConfigTest.getTestingDirDB())) ;
+        graphLocation = new GraphLocation(new Location(ConfigTest.getCleanDir())) ;
         graphLocation.release() ;
         graphLocation.clearDirectory() ;
         graphLocation.createGraph() ;

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSequentialDisk.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSequentialDisk.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSequentialDisk.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/AbstractTestTransSequentialDisk.java Thu Sep 12 16:13:07 2013
@@ -20,20 +20,16 @@ package com.hp.hpl.jena.tdb.transaction;
 
 import java.io.File ;
 
-import org.apache.jena.atlas.lib.FileOps ;
 import org.junit.After ;
 import org.junit.Before ;
 
 import com.hp.hpl.jena.tdb.ConfigTest ;
 import com.hp.hpl.jena.tdb.StoreConnection ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
 
 /** Basic tests and tests of ordering (single thread) */
 public abstract class AbstractTestTransSequentialDisk extends AbstractTestTransSeq
 {
-    static boolean nonDeleteableMMapFiles = SystemTDB.isWindows ;
-    
-    String DIR = null ;
+    protected String DIR = null ;
     
     // Subclasses must implement.
 //    @BeforeClass public static void beforeClass() {}
@@ -42,13 +38,8 @@ public abstract class AbstractTestTransS
     @Before public void before()
     {
         StoreConnection.reset() ;
-        DIR = nonDeleteableMMapFiles ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDir() ;
-		FileOps.ensureDir(DIR) ;
-		FileOps.clearDirectory(DIR) ;
-		
+        DIR = ConfigTest.getCleanDir() ;
         File d = new File(DIR) ;
-        if ( d.list().length > 2 )  // . and ..
-            throw new RuntimeException("not empty") ;
     }
 
     @After public void after() {} 

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestNodeTableTransDisk.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestNodeTableTransDisk.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestNodeTableTransDisk.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestNodeTableTransDisk.java Thu Sep 12 16:13:07 2013
@@ -18,7 +18,6 @@
 
 package com.hp.hpl.jena.tdb.transaction;
 
-import org.apache.jena.atlas.lib.FileOps ;
 import org.junit.Before ;
 
 import com.hp.hpl.jena.tdb.ConfigTest ;
@@ -26,19 +25,16 @@ import com.hp.hpl.jena.tdb.base.file.Fil
 import com.hp.hpl.jena.tdb.base.file.Location ;
 import com.hp.hpl.jena.tdb.base.objectfile.ObjectFile ;
 import com.hp.hpl.jena.tdb.sys.SetupTDB ;
-import com.hp.hpl.jena.tdb.sys.SystemTDB ;
 
 public class TestNodeTableTransDisk extends AbstractTestNodeTableTrans
 {
     Location loc = null ;
-    static boolean nonDeleteableMMapFiles = SystemTDB.isWindows ;
     static int count = 0 ;
     
     @Before public void before()
     {
-    	String dir = nonDeleteableMMapFiles ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDirDB() ;
+    	String dir = ConfigTest.getCleanDir() ;
     	loc = new Location(dir) ;
-    	FileOps.clearDirectory(loc.getDirectoryPath()) ;
     }
     
     @Override

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransRestart.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransRestart.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransRestart.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransRestart.java Thu Sep 12 16:13:07 2013
@@ -18,7 +18,6 @@
 
 package com.hp.hpl.jena.tdb.transaction ;
 
-import java.io.File ;
 import java.nio.ByteBuffer ;
 import java.util.Iterator ;
 
@@ -34,7 +33,6 @@ import com.hp.hpl.jena.sparql.core.Quad 
 import com.hp.hpl.jena.sparql.sse.SSE ;
 import com.hp.hpl.jena.tdb.ConfigTest ;
 import com.hp.hpl.jena.tdb.StoreConnection ;
-import com.hp.hpl.jena.tdb.TDB ;
 import com.hp.hpl.jena.tdb.base.block.FileMode ;
 import com.hp.hpl.jena.tdb.base.file.FileFactory ;
 import com.hp.hpl.jena.tdb.base.file.Location ;
@@ -52,17 +50,16 @@ public class TestTransRestart extends Ba
             SystemTDB.setFileMode(FileMode.direct) ; 
     }
     
-//    private final String path = ( SystemTDB.isWindows ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDirDB() ) ; 
-    private final String path = ( SystemTDB.isWindows ? ConfigTest.getTestingDirUnique() : "/tmp/TDB" ) ; 
-    private Location location = new Location (path) ;
-
+    private String path = null ; 
+    private Location location = null ;
+    
     private static boolean useTransactionsSetup = true ;
     private static Quad quad1 = SSE.parseQuad("(_ <foo:bar> rdfs:label 'foo')") ;
     private static Quad quad2 = SSE.parseQuad("(_ <foo:bar> rdfs:label 'bar')") ;
     
     @Before public void setup() {
-        cleanup() ;
-        FileOps.ensureDir(path) ;
+        path = ConfigTest.getCleanDir() ; 
+        location = new Location (path) ;
         if ( useTransactionsSetup )
             setupTxn() ;
         else
@@ -86,24 +83,22 @@ public class TestTransRestart extends Ba
     }
 
     private void setupTxn() {
-        StoreConnection sc = StoreConnection.make(location) ; 
-        DatasetGraphTxn dsg = sc.begin(ReadWrite.WRITE) ; 
+        StoreConnection.release(location) ;
+        FileOps.clearDirectory(path);
+        StoreConnection sc = StoreConnection.make(location) ;
+        DatasetGraphTxn dsg = sc.begin(ReadWrite.WRITE);
         dsg.add(quad1) ; 
-        dsg.commit() ; 
-        TDB.sync(dsg) ; 
-        dsg.end() ; 
-        StoreConnection.release(location) ; 
+        dsg.commit() ;
+        dsg.end() ;
+        sc.flush(); 
+        StoreConnection.release(location) ;
     }
         
     private void cleanup() {
-        File dir = new File(path) ;
-        if ( dir.exists() ) {
+        if ( FileOps.exists(path)) {
             FileOps.clearDirectory(path) ;
             FileOps.deleteSilent(path) ;
         }
-        if ( ! SystemTDB.isWindows )
-            // Windows, any mode, does not remove directories, at least not instantly. 
-            assertFalse ( dir.exists() ) ;
     }
     
     @Test

Modified: jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java?rev=1522648&r1=1522647&r2=1522648&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java (original)
+++ jena/trunk/jena-tdb/src/test/java/com/hp/hpl/jena/tdb/transaction/TestTransactionTDB.java Thu Sep 12 16:13:07 2013
@@ -44,8 +44,7 @@ public class TestTransactionTDB extends 
     
     @Before public void before()
     {
-        DIR = nonDeleteableMMapFiles ? ConfigTest.getTestingDirUnique() : ConfigTest.getTestingDirDB() ;
-        FileOps.clearDirectory(DIR) ; 
+        DIR = ConfigTest.getCleanDir() ;
         StoreConnection.release(new Location(DIR)) ;
     }