diff --git a/unit-tests/test_utils.cc b/unit-tests/test_utils.cc
index 9e82df1..e569b08 100644
--- a/unit-tests/test_utils.cc
+++ b/unit-tests/test_utils.cc
@@ -1,5 +1,7 @@
#include "test_utils.h"
+#include "persistent-data/space-maps/core.h"
+
//----------------------------------------------------------------
void test::zero_block(block_manager<>::ptr bm, block_address b)
@@ -8,4 +10,11 @@ void test::zero_block(block_manager<>::ptr bm, block_address b)
memset(&wr.data(), 0, sizeof(wr.data()));
}
+transaction_manager::ptr test::open_temporary_tm(block_manager<>::ptr bm)
+{
+ space_map::ptr sm(new core_map(bm->get_nr_blocks()));
+ transaction_manager::ptr tm(new transaction_manager(bm, sm));
+ return tm;
+}
+
//----------------------------------------------------------------
diff --git a/unit-tests/test_utils.h b/unit-tests/test_utils.h
index a773e09..caaa413 100644
--- a/unit-tests/test_utils.h
+++ b/unit-tests/test_utils.h
@@ -17,6 +17,7 @@
// .
#include "persistent-data/block.h"
+#include "persistent-data/transaction_manager.h"
//----------------------------------------------------------------
@@ -36,6 +37,9 @@ namespace test {
block_io::CREATE));
}
+ // Don't use this to update the metadata.
+ transaction_manager::ptr open_temporary_tm(block_manager<>::ptr bm);
+
void zero_block(block_manager<>::ptr bm, block_address b);
}