about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-02-29 02:48:45 +0000
committerEric Wong <e@80x24.org>2016-02-29 02:48:53 +0000
commit9bae4c858d983d0f0cf7314b50f613818a58d5c5 (patch)
tree4be152084008b80929782771449b620279463884
parentf93cd087e460b1196322b1e8a28612fb426f1072 (diff)
downloadpublic-inbox-9bae4c858d983d0f0cf7314b50f613818a58d5c5.tar.gz
In case folks do not use eatmydata or tmpfs for testing,
use transactions to reduce the number of fsync calls
made and hopefully prevent drives from wearing out.
-rw-r--r--t/search.t4
1 files changed, 4 insertions, 0 deletions
diff --git a/t/search.t b/t/search.t
index 3ec3f304..df5a5d36 100644
--- a/t/search.t
+++ b/t/search.t
@@ -34,9 +34,12 @@ ok($@, "exception raised on non-existent DB");
 
 my $rw = PublicInbox::SearchIdx->new($git_dir, 1);
 my $ro = PublicInbox::Search->new($git_dir);
+$rw = undef;
 my $rw_commit = sub {
+        $rw->{xdb}->commit_transaction if $rw;
         $rw = undef;
         $rw = PublicInbox::SearchIdx->new($git_dir, 1);
+        $rw->{xdb}->begin_transaction;
 };
 
 {
@@ -86,6 +89,7 @@ my $rw_commit = sub {
                 body => "goodbye forever :<\n");
 
         my $rv;
+        $rw_commit->();
         $root_id = $rw->add_message($root);
         is($root_id, int($root_id), "root_id is an integer: $root_id");
         $last_id = $rw->add_message($last);