changeset 361:d1427db7cd72

db_impl: Update compaction test for testing discarding obsolete entries
author Lewin Bormann <lbo@spheniscida.de>
date Fri, 06 Oct 2017 06:15:30 +0000
parents 803cd9917c82
children 6a1a111f508e
files src/db_impl.rs
diffstat 1 files changed, 11 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/db_impl.rs	Fri Oct 06 06:14:28 2017 +0000
+++ b/src/db_impl.rs	Fri Oct 06 06:15:30 2017 +0000
@@ -978,12 +978,12 @@
             }
         }
 
-        let manifest = manifest_file_name(name, 11);
+        let manifest = manifest_file_name(name, 10);
         let manifest_file = opt.env.open_writable_file(Path::new(&manifest)).unwrap();
         let mut lw = LogWriter::new(manifest_file);
         lw.add_record(&ve.encode()).unwrap();
         lw.flush().unwrap();
-        set_current_file(&opt.env, name, 11).unwrap();
+        set_current_file(&opt.env, name, 10).unwrap();
 
         DB::open(name, opt).unwrap()
     }
@@ -1343,22 +1343,18 @@
 
     #[test]
     fn test_db_impl_compaction() {
-        let (mut v, opt) = make_version();
-
-        // Trigger size compaction at level 1.
-        v.compaction_score = Some(2.0);
-        v.compaction_level = Some(1);
-
-        let mut db = DB::new("db", opt.clone());
-        db.vset.borrow_mut().add_version(v);
-        db.vset.borrow_mut().next_file_num = 10;
+        let mut db = build_db();
+        let v = db.current();
+        v.borrow_mut().compaction_score = Some(2.0);
+        v.borrow_mut().compaction_level = Some(1);
 
         db.start_compaction().unwrap();
 
-        assert!(!opt.env.exists(Path::new("db/000003.ldb")).unwrap());
-        assert!(opt.env.exists(Path::new("db/000010.ldb")).unwrap());
-        assert_eq!(375, opt.env.size_of(Path::new("db/000010.ldb")).unwrap());
+        assert!(!db.opt.env.exists(Path::new("db/000003.ldb")).unwrap());
+        assert!(db.opt.env.exists(Path::new("db/000013.ldb")).unwrap());
+        assert_eq!(345, db.opt.env.size_of(Path::new("db/000013.ldb")).unwrap());
 
+        // New current version.
         let v = db.current();
         assert_eq!(0, v.borrow().files[1].len());
         assert_eq!(2, v.borrow().files[2].len());
@@ -1397,7 +1393,7 @@
         let mut fmd = FileMetaData::default();
         fmd.num = 1;
 
-        let mut cs = CompactionState::new(Compaction::new(&options::for_test(), 2, None));
+        let mut cs = CompactionState::new(Compaction::new(&options::for_test(), 2, None), 12);
         cs.outputs = vec![fmd];
         cs.cleanup(&env, name);