| Index: chrome/browser/safe_browsing/sandboxed_dmg_analyzer_mac_unittest.cc
|
| diff --git a/chrome/browser/safe_browsing/sandboxed_dmg_analyzer_mac_unittest.cc b/chrome/browser/safe_browsing/sandboxed_dmg_analyzer_mac_unittest.cc
|
| index bbf91ba7dbac5b8324e447f163a10755db6cba3f..b7f03d99193a10c83cb15611df5343cf88426aa9 100644
|
| --- a/chrome/browser/safe_browsing/sandboxed_dmg_analyzer_mac_unittest.cc
|
| +++ b/chrome/browser/safe_browsing/sandboxed_dmg_analyzer_mac_unittest.cc
|
| @@ -9,6 +9,7 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/files/file_path.h"
|
| +#include "base/files/file_util.h"
|
| #include "base/macros.h"
|
| #include "base/path_service.h"
|
| #include "base/run_loop.h"
|
| @@ -141,5 +142,44 @@ TEST_F(SandboxedDMGAnalyzerTest, AnalyzeDMG) {
|
| EXPECT_TRUE(got_dylib);
|
| }
|
|
|
| +TEST_F(SandboxedDMGAnalyzerTest, AnalyzeDmgNoSignature) {
|
| + base::FilePath unsigned_dmg;
|
| + ASSERT_NO_FATAL_FAILURE(unsigned_dmg = GetFilePath("mach_o_in_dmg.dmg"));
|
| +
|
| + ArchiveAnalyzerResults results;
|
| + AnalyzeFile(unsigned_dmg, &results);
|
| +
|
| + EXPECT_TRUE(results.success);
|
| + EXPECT_EQ(results.signature_blob.size(), (uint64_t)0);
|
| + EXPECT_EQ(results.signature_blob.data(), nullptr);
|
| +}
|
| +
|
| +TEST_F(SandboxedDMGAnalyzerTest, AnalyzeDmgWithSignature) {
|
| + base::FilePath signed_dmg;
|
| + EXPECT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &signed_dmg));
|
| + signed_dmg = signed_dmg.AppendASCII("safe_browsing")
|
| + .AppendASCII("download_protection")
|
| + .AppendASCII("googlechrome.dmg");
|
| +
|
| + ArchiveAnalyzerResults results;
|
| + AnalyzeFile(signed_dmg, &results);
|
| +
|
| + EXPECT_TRUE(results.success);
|
| + EXPECT_EQ(results.signature_blob.size(), (uint64_t)9454);
|
| +
|
| + base::FilePath signed_dmg_signature;
|
| + EXPECT_TRUE(PathService::Get(chrome::DIR_TEST_DATA, &signed_dmg_signature));
|
| + signed_dmg_signature = signed_dmg_signature.AppendASCII("safe_browsing")
|
| + .AppendASCII("download_protection")
|
| + .AppendASCII("googlechrome_signature.data");
|
| +
|
| + std::string signature;
|
| + base::ReadFileToString(signed_dmg_signature, &signature);
|
| + std::string from_file(results.signature_blob.begin(),
|
| + results.signature_blob.end());
|
| + EXPECT_EQ(signature.length(), (uint64_t)9454);
|
| + EXPECT_EQ(from_file.compare(signature), 0);
|
| +}
|
| +
|
| } // namespace
|
| } // namespace safe_browsing
|
|
|