summaryrefslogtreecommitdiff
path: root/payload_generator/ext2_filesystem_unittest.cc
diff options
context:
space:
mode:
authorAlex Deymo <deymo@google.com>2016-02-17 19:25:20 -0800
committerAlex Deymo <deymo@google.com>2016-02-19 23:26:10 -0800
commitc90be63117cdad2622694b6f9ac2aec65fa80bf0 (patch)
tree7968c79992e4119162915e61f95d8f87c3859ca4 /payload_generator/ext2_filesystem_unittest.cc
parentbffa06080ec8bd5d196cbfadf2023f78b6e89169 (diff)
Fix Ext2FilesystemTest unittests on Brillo.
The Ext2FilesystemTest tests use a set of pre-generated filesystems stored in sample_images.tar.bz2 and attempt to parse those. This patch installs the used filesystems in the same directory as the Chrome OS test environment would generate those files, relative to the unittest program executed: in a gen/ subdirectory. Also, an empty filesystem that was previously created from the unittests is now pre-generated. The update_engine_unittests program now depends on those modules being installed and those unittests pass. Bug: 26955860 TEST=/data/nativetest/update_engine_unittests/update_engine_unittests --gtest_filter=Ext2FilesystemTest.* Change-Id: I40082e328cec89a7ef4f06d3b8125a953b29efad
Diffstat (limited to 'payload_generator/ext2_filesystem_unittest.cc')
-rw-r--r--payload_generator/ext2_filesystem_unittest.cc31
1 files changed, 10 insertions, 21 deletions
diff --git a/payload_generator/ext2_filesystem_unittest.cc b/payload_generator/ext2_filesystem_unittest.cc
index 13620275..f7d25da0 100644
--- a/payload_generator/ext2_filesystem_unittest.cc
+++ b/payload_generator/ext2_filesystem_unittest.cc
@@ -34,7 +34,6 @@
#include "update_engine/common/utils.h"
#include "update_engine/payload_generator/extent_utils.h"
-using chromeos_update_engine::test_utils::System;
using std::map;
using std::set;
using std::string;
@@ -59,24 +58,13 @@ void ExpectBlocksInRange(const vector<Extent>& extents, uint64_t total_blocks) {
} // namespace
-
-class Ext2FilesystemTest : public ::testing::Test {
- protected:
- void SetUp() override {
- ASSERT_TRUE(utils::MakeTempFile("Ext2FilesystemTest-XXXXXX",
- &fs_filename_, nullptr));
- ASSERT_EQ(0, truncate(fs_filename_.c_str(), kDefaultFilesystemSize));
- }
-
- void TearDown() override {
- unlink(fs_filename_.c_str());
- }
-
- string fs_filename_;
-};
+class Ext2FilesystemTest : public ::testing::Test {};
TEST_F(Ext2FilesystemTest, InvalidFilesystem) {
- unique_ptr<Ext2Filesystem> fs = Ext2Filesystem::CreateFromFile(fs_filename_);
+ test_utils::ScopedTempFile fs_filename_{"Ext2FilesystemTest-XXXXXX"};
+ ASSERT_EQ(0, truncate(fs_filename_.path().c_str(), kDefaultFilesystemSize));
+ unique_ptr<Ext2Filesystem> fs =
+ Ext2Filesystem::CreateFromFile(fs_filename_.path());
ASSERT_EQ(nullptr, fs.get());
fs = Ext2Filesystem::CreateFromFile("/path/to/invalid/file");
@@ -84,10 +72,9 @@ TEST_F(Ext2FilesystemTest, InvalidFilesystem) {
}
TEST_F(Ext2FilesystemTest, EmptyFilesystem) {
- EXPECT_EQ(0, System(base::StringPrintf(
- "/sbin/mkfs.ext2 -q -b %" PRIuS " -F %s",
- kDefaultFilesystemBlockSize, fs_filename_.c_str())));
- unique_ptr<Ext2Filesystem> fs = Ext2Filesystem::CreateFromFile(fs_filename_);
+ base::FilePath path =
+ test_utils::GetBuildArtifactsPath().Append("gen/disk_ext2_4k_empty.img");
+ unique_ptr<Ext2Filesystem> fs = Ext2Filesystem::CreateFromFile(path.value());
ASSERT_NE(nullptr, fs.get());
EXPECT_EQ(kDefaultFilesystemBlockCount, fs->GetBlockCount());
@@ -194,6 +181,7 @@ TEST_F(Ext2FilesystemTest, LoadSettingsFailsTest) {
base::FilePath path = test_utils::GetBuildArtifactsPath().Append(
"gen/disk_ext2_1k.img");
unique_ptr<Ext2Filesystem> fs = Ext2Filesystem::CreateFromFile(path.value());
+ ASSERT_NE(nullptr, fs.get());
brillo::KeyValueStore store;
// disk_ext2_1k.img doesn't have the /etc/update_engine.conf file.
@@ -204,6 +192,7 @@ TEST_F(Ext2FilesystemTest, LoadSettingsWorksTest) {
base::FilePath path = test_utils::GetBuildArtifactsPath().Append(
"gen/disk_ext2_ue_settings.img");
unique_ptr<Ext2Filesystem> fs = Ext2Filesystem::CreateFromFile(path.value());
+ ASSERT_NE(nullptr, fs.get());
brillo::KeyValueStore store;
EXPECT_TRUE(fs->LoadSettings(&store));