diff options
author | Sen Jiang <senj@chromium.org> | 2015-08-10 10:04:54 -0700 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-08-13 21:40:57 +0000 |
commit | 8cc502dacbccdab96824d42287f230ce04004784 (patch) | |
tree | 1e5cf087e09bb55ee76545414385d18c1f8478fc /payload_generator/blob_file_writer_unittest.cc | |
parent | 535f3b738b0bcbca23a6e361c84bf84145d6a3e6 (diff) |
update_engine: Change OperationsGenerator to use BlobFileWriter
BUG=chromium:517280
TEST=Unit test for BlobFileWriter
Change-Id: Ib49925676331acee97ff6b4cec38a81ca8b157a1
Reviewed-on: https://chromium-review.googlesource.com/291441
Tested-by: Sen Jiang <senj@chromium.org>
Reviewed-by: Alex Deymo <deymo@chromium.org>
Commit-Queue: Sen Jiang <senj@chromium.org>
Diffstat (limited to 'payload_generator/blob_file_writer_unittest.cc')
-rw-r--r-- | payload_generator/blob_file_writer_unittest.cc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/payload_generator/blob_file_writer_unittest.cc b/payload_generator/blob_file_writer_unittest.cc new file mode 100644 index 00000000..c845f971 --- /dev/null +++ b/payload_generator/blob_file_writer_unittest.cc @@ -0,0 +1,47 @@ +// Copyright 2015 The Chromium OS Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "update_engine/payload_generator/blob_file_writer.h" + +#include <string> + +#include <gtest/gtest.h> + +#include "update_engine/test_utils.h" +#include "update_engine/utils.h" + +using chromeos_update_engine::test_utils::FillWithData; +using std::string; + +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)); + off_t blob_file_size = 0; + BlobFileWriter blob_file(blob_fd, &blob_file_size); + + off_t blob_size = 1024; + chromeos::Blob blob(blob_size); + FillWithData(&blob); + EXPECT_EQ(0, blob_file.StoreBlob(blob)); + EXPECT_EQ(blob_size, blob_file.StoreBlob(blob)); + + chromeos::Blob stored_blob(blob_size); + ssize_t bytes_read; + ASSERT_TRUE(utils::PReadAll(blob_fd, + stored_blob.data(), + blob_size, + 0, + &bytes_read)); + EXPECT_EQ(bytes_read, blob_size); + EXPECT_EQ(blob, stored_blob); +} + +} // namespace chromeos_update_engine |