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

Side by Side Diff: courgette/bsdiff_memory_unittest.cc

Issue 8252011: Add a basic backwards compatibility unittest. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix review nits. Created 9 years, 2 months 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "courgette/third_party/bsdiff.h" 5 #include "courgette/third_party/bsdiff.h"
6 6
7 #include <string> 7 #include "courgette/base_test_unittest.h"
8
9 #include "base/file_util.h"
10 #include "base/path_service.h"
11 #include "base/string_util.h"
12
13 #include "courgette/courgette.h" 8 #include "courgette/courgette.h"
14 #include "courgette/streams.h" 9 #include "courgette/streams.h"
15 10
16 #include "testing/gtest/include/gtest/gtest.h" 11 class BSDiffMemoryTest : public BaseTest {
17
18 class BSDiffMemoryTest : public testing::Test {
19 public: 12 public:
20 std::string FileContents(const char* file_name) const;
21 void GenerateAndTestPatch(const std::string& a, const std::string& b) const; 13 void GenerateAndTestPatch(const std::string& a, const std::string& b) const;
22 14
23 std::string GenerateSyntheticInput(size_t length, int seed) const; 15 std::string GenerateSyntheticInput(size_t length, int seed) const;
24
25 private:
26 void SetUp() {
27 PathService::Get(base::DIR_SOURCE_ROOT, &test_dir_);
28 test_dir_ = test_dir_.AppendASCII("courgette");
29 test_dir_ = test_dir_.AppendASCII("testdata");
30 }
31
32 FilePath test_dir_;
33 }; 16 };
34 17
35 // Reads a test file into a string.
36 std::string BSDiffMemoryTest::FileContents(const char* file_name) const {
37 FilePath file_path = test_dir_;
38 file_path = file_path.AppendASCII(file_name);
39 std::string file_bytes;
40 if (!file_util::ReadFileToString(file_path, &file_bytes)) {
41 EXPECT_TRUE(!"Could not read test data");
42 }
43 return file_bytes;
44 }
45
46 void BSDiffMemoryTest::GenerateAndTestPatch(const std::string& old_text, 18 void BSDiffMemoryTest::GenerateAndTestPatch(const std::string& old_text,
47 const std::string& new_text) const { 19 const std::string& new_text) const {
48 courgette::SourceStream old1; 20 courgette::SourceStream old1;
49 courgette::SourceStream new1; 21 courgette::SourceStream new1;
50 old1.Init(old_text.c_str(), old_text.length()); 22 old1.Init(old_text.c_str(), old_text.length());
51 new1.Init(new_text.c_str(), new_text.length()); 23 new1.Init(new_text.c_str(), new_text.length());
52 24
53 courgette::SinkStream patch1; 25 courgette::SinkStream patch1;
54 courgette::BSDiffStatus status = CreateBinaryPatch(&old1, &new1, &patch1); 26 courgette::BSDiffStatus status = CreateBinaryPatch(&old1, &new1, &patch1);
55 EXPECT_EQ(courgette::OK, status); 27 EXPECT_EQ(courgette::OK, status);
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 TEST_F(BSDiffMemoryTest, TestIndenticalDlls) { 110 TEST_F(BSDiffMemoryTest, TestIndenticalDlls) {
139 std::string file1 = FileContents("en-US.dll"); 111 std::string file1 = FileContents("en-US.dll");
140 GenerateAndTestPatch(file1, file1); 112 GenerateAndTestPatch(file1, file1);
141 } 113 }
142 114
143 TEST_F(BSDiffMemoryTest, TestDifferentExes) { 115 TEST_F(BSDiffMemoryTest, TestDifferentExes) {
144 std::string file1 = FileContents("setup1.exe"); 116 std::string file1 = FileContents("setup1.exe");
145 std::string file2 = FileContents("setup2.exe"); 117 std::string file2 = FileContents("setup2.exe");
146 GenerateAndTestPatch(file1, file2); 118 GenerateAndTestPatch(file1, file2);
147 } 119 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698