Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(637)

Unified Diff: dm-bht_unittest.cc

Issue 5261011: verity: refactor populate inside unittests (Closed) Base URL: http://git.chromium.org/git/dm-verity.git@master
Patch Set: Fix tabs. Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: dm-bht_unittest.cc
diff --git a/dm-bht_unittest.cc b/dm-bht_unittest.cc
index 75fe58dce66fb382efc415c350caf1bde2f3696b..ae277d3bd5f4e307a4b9128c9c4145c5b7584e8a 100644
--- a/dm-bht_unittest.cc
+++ b/dm-bht_unittest.cc
@@ -118,6 +118,20 @@ class MemoryBhtTest : public ::testing::Test {
// bht is now dead and mbht_ is a prepared hash image
NewBht(depth, total_blocks, digest_algorithm);
+
+ // Load the tree from the pre-populated hash data
+ for (blocks = 0; blocks < total_blocks; blocks += bht_->node_count) {
+ EXPECT_GE(dm_bht_populate(bht_.get(),
+ reinterpret_cast<void *>(this),
+ blocks),
+ DM_BHT_ENTRY_REQUESTED);
+ // Since we're testing synchronously, a second run through should yield
+ // READY.
+ EXPECT_GE(dm_bht_populate(bht_.get(),
+ reinterpret_cast<void *>(this),
+ blocks),
+ DM_BHT_ENTRY_READY);
+ }
}
scoped_ptr<struct dm_bht> bht_;
@@ -127,37 +141,25 @@ class MemoryBhtTest : public ::testing::Test {
TEST_F(MemoryBhtTest, CreateThenVerifyOk) {
static const unsigned int total_blocks = 16384;
- SetupBht(2, total_blocks, "sha256");
// Set the root hash for a 0-filled image
static const char kRootDigest[] =
"45d65d6f9e5a962f4d80b5f1bd7a918152251c27bdad8c5f52b590c129833372";
- dm_bht_set_root_hexdigest(bht_.get(),
- reinterpret_cast<const u8 *>(kRootDigest));
-
// This should match what dm_bht_store_block computed earlier.
static const char kZeroDigest[] =
"ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7";
u8 digest[(sizeof(kZeroDigest) - 1) >> 1];
// TODO(wad) write a test for hex_to_bin and bin_to_hex
unsigned int digest_size = strlen(kZeroDigest) >> 1;
+
dm_bht_hex_to_bin(digest,
reinterpret_cast<const u8 *>(kZeroDigest),
digest_size);
- // Load the tree from the pre-populated hash data
+ SetupBht(2, total_blocks, "sha256");
+ dm_bht_set_root_hexdigest(bht_.get(),
+ reinterpret_cast<const u8 *>(kRootDigest));
+
for (unsigned int blocks = 0; blocks < total_blocks; ++blocks) {
- if ((blocks % bht_->node_count) == 0) {
- EXPECT_GE(dm_bht_populate(bht_.get(),
- reinterpret_cast<void *>(this),
- blocks),
- DM_BHT_ENTRY_REQUESTED);
- // Since we're testing synchronously, a second run through should yield
- // READY.
- EXPECT_GE(dm_bht_populate(bht_.get(),
- reinterpret_cast<void *>(this),
- blocks),
- DM_BHT_ENTRY_READY);
- }
LOG(INFO) << "verifying block: " << blocks;
EXPECT_EQ(0, dm_bht_verify_block(bht_.get(), blocks, digest, digest_size));
}
@@ -167,37 +169,25 @@ TEST_F(MemoryBhtTest, CreateThenVerifyOk) {
TEST_F(MemoryBhtTest, CreateThenVerifyMultipleLevels) {
static const unsigned int total_blocks = 16384;
- SetupBht(4, total_blocks, "sha256");
// Set the root hash for a 0-filled image
static const char kRootDigest[] =
"c86619624d3456f711dbb94d4ad79a4b029f6fd3b5a4a90b155c856bf5b3409b";
- dm_bht_set_root_hexdigest(bht_.get(),
- reinterpret_cast<const u8 *>(kRootDigest));
-
// This should match what dm_bht_store_block computed earlier.
static const char kZeroDigest[] =
"ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7";
u8 digest[(sizeof(kZeroDigest) - 1) >> 1];
// TODO(wad) write a test for hex_to_bin and bin_to_hex
unsigned int digest_size = strlen(kZeroDigest) >> 1;
+
dm_bht_hex_to_bin(digest,
reinterpret_cast<const u8 *>(kZeroDigest),
digest_size);
- // Load the tree from the pre-populated hash data
- for (unsigned int blocks = 0; blocks < total_blocks; blocks++) {
- if ((blocks % bht_->node_count) == 0) {
- EXPECT_GE(dm_bht_populate(bht_.get(),
- reinterpret_cast<void *>(this),
- blocks),
- DM_BHT_ENTRY_REQUESTED);
- // Since we're testing synchronously, a second run through should yield
- // READY.
- EXPECT_GE(dm_bht_populate(bht_.get(),
- reinterpret_cast<void *>(this),
- blocks),
- DM_BHT_ENTRY_READY);
- }
+ SetupBht(4, total_blocks, "sha256");
+ dm_bht_set_root_hexdigest(bht_.get(),
+ reinterpret_cast<const u8 *>(kRootDigest));
+
+ for (unsigned int blocks = 0; blocks < total_blocks; ++blocks) {
LOG(INFO) << "verifying block: " << blocks;
EXPECT_EQ(0, dm_bht_verify_block(bht_.get(), blocks, digest, digest_size));
}
@@ -214,21 +204,6 @@ TEST_F(MemoryBhtTest, CreateThenVerifyBad) {
dm_bht_set_root_hexdigest(bht_.get(),
reinterpret_cast<const u8 *>(kRootDigest));
- // Load the tree from the pre-populated hash data
- for (unsigned int blocks = 0; blocks < total_blocks; blocks++) {
- if ((blocks % bht_->node_count) == 0) {
- EXPECT_GE(dm_bht_populate(bht_.get(),
- reinterpret_cast<void *>(this),
- blocks),
- DM_BHT_ENTRY_REQUESTED);
- // Since we're testing synchronously, a second run through should yield
- // READY.
- EXPECT_GE(dm_bht_populate(bht_.get(),
- reinterpret_cast<void *>(this),
- blocks),
- DM_BHT_ENTRY_READY);
- }
- }
// TODO(wad) add tests for partial tree validity/verification
// Corrupt one block value
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698