diff options
author | Amin Hassani <ahassani@chromium.org> | 2020-10-26 17:21:29 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-10-29 00:46:59 +0000 |
commit | ed03b44c7f9136d6491d7c238f1ab7b66c12456c (patch) | |
tree | f6a0adb7ea4d324cd6b1b4c1a06010a8004cc25c /payload_generator/blob_file_writer_unittest.cc | |
parent | 5d56c1eef7fd730a164c44a742ef2cb0afcfca8d (diff) |
update_engine: Fix leaking unit tests
Some of the unit tests have been leaking temp files because they don't
properly unlink them. In this CL, we did some rearrangement of the
ScopedTempFile class and moved it into the utils.h (instead of testing
only location) so it can be used everywhere and more efficiently. Also
added functionality to open an file descriptor too so users don't have
to keep a different object for the file descriptor.
BUG=b:162766400
TEST=cros_workon_make --board reef --test; Then looked at the
/build/reef/tmp directory and no files were leaked.
Change-Id: Id64a2923d30f27628120497fdefe16bf65fa3fb0
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2500772
Tested-by: Amin Hassani <ahassani@chromium.org>
Reviewed-by: Jae Hoon Kim <kimjae@chromium.org>
Commit-Queue: Amin Hassani <ahassani@chromium.org>
Diffstat (limited to 'payload_generator/blob_file_writer_unittest.cc')
-rw-r--r-- | payload_generator/blob_file_writer_unittest.cc | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/payload_generator/blob_file_writer_unittest.cc b/payload_generator/blob_file_writer_unittest.cc index 487bc737..f4dcafb4 100644 --- a/payload_generator/blob_file_writer_unittest.cc +++ b/payload_generator/blob_file_writer_unittest.cc @@ -31,24 +31,21 @@ namespace chromeos_update_engine { class BlobFileWriterTest : public ::testing::Test {}; TEST(BlobFileWriterTest, SimpleTest) { - string blob_path; - int blob_fd; - EXPECT_TRUE( - utils::MakeTempFile("BlobFileWriterTest.XXXXXX", &blob_path, &blob_fd)); + ScopedTempFile blob_file("BlobFileWriterTest.XXXXXX", true); off_t blob_file_size = 0; - BlobFileWriter blob_file(blob_fd, &blob_file_size); + BlobFileWriter blob_file_writer(blob_file.fd(), &blob_file_size); - off_t blob_size = 1024; - brillo::Blob blob(blob_size); + const off_t kBlobSize = 1024; + brillo::Blob blob(kBlobSize); FillWithData(&blob); - EXPECT_EQ(0, blob_file.StoreBlob(blob)); - EXPECT_EQ(blob_size, blob_file.StoreBlob(blob)); + EXPECT_EQ(0, blob_file_writer.StoreBlob(blob)); + EXPECT_EQ(kBlobSize, blob_file_writer.StoreBlob(blob)); - brillo::Blob stored_blob(blob_size); + brillo::Blob stored_blob(kBlobSize); ssize_t bytes_read; - ASSERT_TRUE( - utils::PReadAll(blob_fd, stored_blob.data(), blob_size, 0, &bytes_read)); - EXPECT_EQ(bytes_read, blob_size); + ASSERT_TRUE(utils::PReadAll( + blob_file.fd(), stored_blob.data(), kBlobSize, 0, &bytes_read)); + EXPECT_EQ(bytes_read, kBlobSize); EXPECT_EQ(blob, stored_blob); } |