Control whether to renumber the working set when rebuilding it

This commit is contained in:
Dustin J. Mitchell
2021-01-02 14:40:05 -05:00
parent b62370c150
commit dc2df10158
8 changed files with 135 additions and 44 deletions

View File

@@ -4,7 +4,7 @@ use termcolor::WriteColor;
pub(crate) fn execute<W: WriteColor>(w: &mut W, replica: &mut Replica) -> Fallible<()> {
log::debug!("rebuilding working set");
replica.rebuild_working_set()?;
replica.rebuild_working_set(true)?;
writeln!(w, "garbage collected.")?;
Ok(())
}

View File

@@ -184,7 +184,7 @@ mod test {
let t1 = replica.new_task(Status::Pending, s!("A")).unwrap();
let t2 = replica.new_task(Status::Completed, s!("B")).unwrap();
let _t = replica.new_task(Status::Pending, s!("C")).unwrap();
replica.rebuild_working_set().unwrap();
replica.rebuild_working_set(true).unwrap();
let t1uuid = *t1.get_uuid();
@@ -210,7 +210,7 @@ mod test {
let t1 = replica.new_task(Status::Pending, s!("A")).unwrap();
let t2 = replica.new_task(Status::Completed, s!("B")).unwrap();
let _t = replica.new_task(Status::Pending, s!("C")).unwrap();
replica.rebuild_working_set().unwrap();
replica.rebuild_working_set(true).unwrap();
let t1uuid = *t1.get_uuid();
let t2uuid = t2.get_uuid().to_string();
@@ -238,7 +238,7 @@ mod test {
replica.new_task(Status::Pending, s!("A")).unwrap();
replica.new_task(Status::Completed, s!("B")).unwrap();
replica.new_task(Status::Deleted, s!("C")).unwrap();
replica.rebuild_working_set().unwrap();
replica.rebuild_working_set(true).unwrap();
let filter = Filter { conditions: vec![] };
let mut filtered: Vec<_> = filtered_tasks(&mut replica, &filter)
@@ -309,7 +309,7 @@ mod test {
replica.new_task(Status::Pending, s!("A")).unwrap();
replica.new_task(Status::Completed, s!("B")).unwrap();
replica.new_task(Status::Deleted, s!("C")).unwrap();
replica.rebuild_working_set().unwrap();
replica.rebuild_working_set(true).unwrap();
let filter = Filter {
conditions: vec![Condition::Status(Status::Pending)],

View File

@@ -163,7 +163,7 @@ mod test {
t2.set_status(Status::Completed).unwrap();
let t2 = t2.into_immut();
replica.rebuild_working_set().unwrap();
replica.rebuild_working_set(true).unwrap();
[*t1.get_uuid(), *t2.get_uuid(), *t3.get_uuid()]
}