Fix a transaction manager test
This commit is contained in:
parent
ace95d434e
commit
af96c22786
@ -94,28 +94,39 @@ BOOST_AUTO_TEST_CASE(shadowing)
|
|||||||
BOOST_AUTO_TEST_CASE(multiple_shadowing)
|
BOOST_AUTO_TEST_CASE(multiple_shadowing)
|
||||||
{
|
{
|
||||||
transaction_manager::ptr tm = create_tm();
|
transaction_manager::ptr tm = create_tm();
|
||||||
write_ref superblock = tm->begin(0, noop_validator());
|
|
||||||
|
|
||||||
space_map::ptr sm = tm->get_sm();
|
space_map::ptr sm = tm->get_sm();
|
||||||
sm->set_count(1, 3);
|
sm->set_count(1, 3);
|
||||||
|
block_address b, b2;
|
||||||
|
|
||||||
pair<write_ref, bool> p = tm->shadow(1, noop_validator());
|
{
|
||||||
block_address b = p.first.get_location();
|
write_ref superblock = tm->begin(0, noop_validator());
|
||||||
BOOST_CHECK(b != 1);
|
pair<write_ref, bool> p = tm->shadow(1, noop_validator());
|
||||||
BOOST_CHECK(p.second);
|
b = p.first.get_location();
|
||||||
|
BOOST_CHECK(b != 1);
|
||||||
|
BOOST_CHECK(p.second);
|
||||||
|
sm->commit();
|
||||||
|
}
|
||||||
|
|
||||||
p = tm->shadow(1, noop_validator());
|
{
|
||||||
block_address b2 = p.first.get_location();
|
write_ref superblock = tm->begin(0, noop_validator());
|
||||||
BOOST_CHECK(b2 != 1);
|
pair<write_ref, bool> p = tm->shadow(1, noop_validator());
|
||||||
BOOST_CHECK(b2 != b);
|
b2 = p.first.get_location();
|
||||||
BOOST_CHECK(p.second);
|
BOOST_CHECK(b2 != 1);
|
||||||
|
BOOST_CHECK(b2 != b);
|
||||||
|
BOOST_CHECK(p.second);
|
||||||
|
sm->commit();
|
||||||
|
}
|
||||||
|
|
||||||
p = tm->shadow(1, noop_validator());
|
{
|
||||||
block_address b3 = p.first.get_location();
|
write_ref superblock = tm->begin(0, noop_validator());
|
||||||
BOOST_CHECK(b3 != b2);
|
pair<write_ref, bool> p = tm->shadow(1, noop_validator());
|
||||||
BOOST_CHECK(b3 != b);
|
block_address b3 = p.first.get_location();
|
||||||
BOOST_CHECK(b3 != 1);
|
BOOST_CHECK(b3 != b2);
|
||||||
BOOST_CHECK(!p.second);
|
BOOST_CHECK(b3 != b);
|
||||||
|
BOOST_CHECK(b3 != 1);
|
||||||
|
BOOST_CHECK(!p.second);
|
||||||
|
sm->commit();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(shadow_free_block_fails)
|
BOOST_AUTO_TEST_CASE(shadow_free_block_fails)
|
||||||
|
Loading…
Reference in New Issue
Block a user