Update of /cvsroot/cweb/bigdata/src/test/com/bigdata/objndx In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv16247/src/test/com/bigdata/objndx Modified Files: TestIndexSegmentWithBloomFilter.java TestIndexSegmentBuilderWithLargeTrees.java AbstractBTreeTestCase.java TestRestartSafe.java Log Message: Lots of little changes to get the test suites to use temporary files and to remove them when tests complete. At present, this only helps if the test succeeds. You need to do a try {} finally {} to get the tests to remove their files on failure. Index: TestRestartSafe.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/objndx/TestRestartSafe.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TestRestartSafe.java 13 Feb 2007 23:01:10 -0000 1.4 --- TestRestartSafe.java 22 Feb 2007 16:59:35 -0000 1.5 *************** *** 54,58 **** import org.apache.log4j.Level; - import com.bigdata.cache.HardReferenceQueue; import com.bigdata.journal.BufferMode; import com.bigdata.journal.Journal; --- 54,57 ---- *************** *** 88,93 **** properties.setProperty(Options.SEGMENT, "0"); ! properties.setProperty(Options.FILE, getName()+".jnl"); ! properties.setProperty(Options.DELETE_ON_CLOSE,"false"); } --- 87,94 ---- properties.setProperty(Options.SEGMENT, "0"); ! properties.setProperty(Options.CREATE_TEMP_FILE, "true"); ! // properties.setProperty(Options.FILE, getName()+".jnl"); ! // properties.setProperty(Options.DELETE_ON_CLOSE,"false"); ! properties.setProperty(Options.DELETE_ON_EXIT,"true"); } *************** *** 100,103 **** --- 101,138 ---- /** + * Re-open the same backing store. + * + * @param store + * the existing store. + * + * @return A new store. + * + * @exception Throwable + * if the existing store is not closed, e.g., from failure to + * obtain a file lock, etc. + */ + protected Journal reopenStore(Journal store) { + + // close the store. + store.close(); + + Properties properties = (Properties)getProperties().clone(); + + // Turn this off now since we want to re-open the same store. + properties.setProperty(Options.CREATE_TEMP_FILE,"false"); + + // The backing file that we need to re-open. + File file = store.getFile(); + + assertNotNull(file); + + // Set the file property explictly. + properties.setProperty(Options.FILE,file.toString()); + + return new Journal( properties ); + + } + + /** * Return a btree backed by a journal with the indicated branching factor. * The serializer requires that values in leaves are {@link SimpleEntry} *************** *** 109,160 **** * @return The btree. */ ! public BTree getBTree(int branchingFactor,Journal journal) { ! // try { ! // ! // Properties properties = getProperties(); ! // A modest leaf queue capacity. ! final int leafQueueCapacity = 500; - final int nscan = 10; - - BTree btree = new BTree(journal, - branchingFactor, - new HardReferenceQueue<PO>(new DefaultEvictionListener(), - leafQueueCapacity, nscan), - SimpleEntry.Serializer.INSTANCE, - null // no record compressor - ); - - return btree; - // - // } catch (IOException ex) { - // - // throw new RuntimeException(ex); - // - // } - } /** * - * FIXME develop test to use IStore.getBTree(name) and commit callback protocol. - * * @throws IOException */ public void test_restartSafe01() throws IOException { ! Properties properties = getProperties(); ! ! File file = new File(properties.getProperty(Options.FILE)); ! ! if(file.exists() && !file.delete()) { ! ! fail("Could not delete file: "+file.getAbsoluteFile()); ! ! } ! ! Journal journal = new Journal(properties); final int m = 3; --- 144,163 ---- * @return The btree. */ ! public BTree getBTree(int branchingFactor, Journal journal) { ! BTree btree = new BTree(journal, branchingFactor, ! SimpleEntry.Serializer.INSTANCE); ! return btree; } /** * * @throws IOException */ public void test_restartSafe01() throws IOException { ! Journal journal = new Journal(getProperties()); final int m = 3; *************** *** 192,197 **** journal.commit(); - journal.close(); - } --- 195,198 ---- *************** *** 201,205 **** { ! journal = new Journal(properties); final BTree btree = new BTree(journal, BTreeMetadata.read(journal, --- 202,206 ---- { ! journal = reopenStore(journal); final BTree btree = new BTree(journal, BTreeMetadata.read(journal, *************** *** 212,216 **** btree.entryIterator()); ! journal.close(); } --- 213,217 ---- btree.entryIterator()); ! journal.closeAndDelete(); } Index: TestIndexSegmentBuilderWithLargeTrees.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/objndx/TestIndexSegmentBuilderWithLargeTrees.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** TestIndexSegmentBuilderWithLargeTrees.java 8 Feb 2007 21:32:11 -0000 1.9 --- TestIndexSegmentBuilderWithLargeTrees.java 22 Feb 2007 16:59:35 -0000 1.10 *************** *** 56,60 **** import com.bigdata.journal.Journal; import com.bigdata.journal.Options; - import com.bigdata.rawstore.Bytes; /** --- 56,59 ---- *************** *** 93,99 **** properties.setProperty(Options.SEGMENT, "0"); ! properties.setProperty(Options.FILE, getName()+".jnl"); ! ! properties.setProperty(Options.INITIAL_EXTENT, ""+Bytes.megabyte*20); } --- 92,96 ---- properties.setProperty(Options.SEGMENT, "0"); ! properties.setProperty(Options.CREATE_TEMP_FILE, "true"); } *************** *** 117,150 **** public BTree getBTree(int branchingFactor) { ! Properties properties = getProperties(); ! ! String filename = properties.getProperty(Options.FILE); ! ! if (filename != null) { ! ! File file = new File(filename); ! ! if (file.exists() && !file.delete()) { ! ! throw new RuntimeException("Could not delete file: " ! + file.getAbsoluteFile()); ! ! } ! ! } ! ! System.err.println("Opening journal: " + filename); ! Journal journal = new Journal(properties); ! ! // A modest leaf queue capacity. ! final int leafQueueCapacity = 500; ! ! final int nscan = 10; BTree btree = new BTree(journal, branchingFactor, ! new HardReferenceQueue<PO>(new DefaultEvictionListener(), ! leafQueueCapacity, nscan), ! SimpleEntry.Serializer.INSTANCE, null // no record compressor ! ); return btree; --- 114,121 ---- public BTree getBTree(int branchingFactor) { ! Journal journal = new Journal(getProperties()); BTree btree = new BTree(journal, branchingFactor, ! SimpleEntry.Serializer.INSTANCE); return btree; *************** *** 334,338 **** System.err.println("Closing index segment."); seg.close(); ! if (!outFile.delete()) { --- 305,309 ---- System.err.println("Closing index segment."); seg.close(); ! if (!outFile.delete()) { *************** *** 347,351 **** */ System.err.println("Closing journal."); ! btree.getStore().close(); } --- 318,322 ---- */ System.err.println("Closing journal."); ! btree.getStore().closeAndDelete(); } Index: TestIndexSegmentWithBloomFilter.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/objndx/TestIndexSegmentWithBloomFilter.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TestIndexSegmentWithBloomFilter.java 8 Feb 2007 21:32:11 -0000 1.7 --- TestIndexSegmentWithBloomFilter.java 22 Feb 2007 16:59:35 -0000 1.8 *************** *** 100,106 **** properties.setProperty(Options.SEGMENT, "0"); ! properties.setProperty(Options.FILE, getName()+".jnl"); ! ! properties.setProperty(Options.INITIAL_EXTENT, ""+Bytes.megabyte*20); } --- 100,104 ---- properties.setProperty(Options.SEGMENT, "0"); ! properties.setProperty(Options.CREATE_TEMP_FILE, "true"); } *************** *** 452,456 **** */ System.err.println("Closing journal."); ! btree.getStore().close(); } --- 450,454 ---- */ System.err.println("Closing journal."); ! btree.getStore().closeAndDelete(); } Index: AbstractBTreeTestCase.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/objndx/AbstractBTreeTestCase.java,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** AbstractBTreeTestCase.java 9 Feb 2007 18:56:59 -0000 1.29 --- AbstractBTreeTestCase.java 22 Feb 2007 16:59:35 -0000 1.30 *************** *** 905,911 **** for( int i=0; i<20; i++ ) { ! doInsertRandomKeySequenceTest(m, m, trace); ! doInsertRandomSparseKeySequenceTest(m, m, trace); } --- 905,911 ---- for( int i=0; i<20; i++ ) { ! doInsertRandomKeySequenceTest(m, m, trace).getStore().closeAndDelete(); ! doInsertRandomSparseKeySequenceTest(m, m, trace).getStore().closeAndDelete(); } *************** *** 916,922 **** for( int i=0; i<20; i++ ) { ! doInsertRandomKeySequenceTest(m, m*m, trace); ! doInsertRandomSparseKeySequenceTest(m, m*m, trace); } --- 916,922 ---- for( int i=0; i<20; i++ ) { ! doInsertRandomKeySequenceTest(m, m*m, trace).getStore().closeAndDelete(); ! doInsertRandomSparseKeySequenceTest(m, m*m, trace).getStore().closeAndDelete(); } *************** *** 927,933 **** for( int i=0; i<20; i++ ) { ! doInsertRandomKeySequenceTest(m, m*m*m, trace); ! doInsertRandomSparseKeySequenceTest(m, m*m*m, trace); } --- 927,933 ---- for( int i=0; i<20; i++ ) { ! doInsertRandomKeySequenceTest(m, m*m*m, trace).getStore().closeAndDelete(); ! doInsertRandomSparseKeySequenceTest(m, m*m*m, trace).getStore().closeAndDelete(); } *************** *** 938,944 **** // for( int i=0; i<20; i++ ) { // ! // doInsertRandomKeySequenceTest(m, m*m*m*m, trace); // ! // doInsertRandomSparseKeySequenceTest(m, m*m*m*m, trace); // // } --- 938,944 ---- // for( int i=0; i<20; i++ ) { // ! // doInsertRandomKeySequenceTest(m, m*m*m*m, trace).getStore().close(); // ! // doInsertRandomSparseKeySequenceTest(m, m*m*m*m, trace).getStore().close(); // // } *************** *** 957,961 **** * The trace level (zero disables most tracing). */ ! public void doInsertRandomKeySequenceTest(int m, int ninserts, int trace) { /* --- 957,961 ---- * The trace level (zero disables most tracing). */ ! public BTree doInsertRandomKeySequenceTest(int m, int ninserts, int trace) { /* *************** *** 975,979 **** } ! doInsertRandomKeySequenceTest(m, keys, entries, trace); } --- 975,979 ---- } ! return doInsertRandomKeySequenceTest(m, keys, entries, trace); } *************** *** 1433,1436 **** --- 1433,1439 ---- log.info(btree.counters.toString()); + btree.getStore().closeAndDelete(); + + } *************** *** 1527,1530 **** --- 1530,1535 ---- log.info(btree.counters.toString()); + btree.getStore().closeAndDelete(); + } |