| Index: courgette/encode_decode_unittest.cc
|
| diff --git a/courgette/encode_decode_unittest.cc b/courgette/encode_decode_unittest.cc
|
| index 90f5cd6b4da2633d6f6363926b0c860c1d8247c1..20f0e168448a384d46404d059b54abe1b6063a0f 100644
|
| --- a/courgette/encode_decode_unittest.cc
|
| +++ b/courgette/encode_decode_unittest.cc
|
| @@ -8,20 +8,20 @@
|
|
|
| class EncodeDecodeTest : public BaseTest {
|
| public:
|
| - void TestExe(const char *) const;
|
| + void TestAssembleToStreamDisassemble(std::string file,
|
| + size_t expected_encoded_lenth) const;
|
| };
|
|
|
| -void EncodeDecodeTest::TestExe(const char* file_name) const {
|
| - // Test top-level Courgette API for converting an a file to a binary
|
| - // assembly representation and back.
|
| - std::string file1 = FileContents(file_name);
|
| -
|
| - const void* original_buffer = file1.c_str();
|
| - size_t original_length = file1.size();
|
| +void EncodeDecodeTest::TestAssembleToStreamDisassemble(
|
| + std::string file,
|
| + size_t expected_encoded_lenth) const {
|
| + const void* original_buffer = file.c_str();
|
| + size_t original_length = file.length();
|
|
|
| courgette::AssemblyProgram* program = NULL;
|
| const courgette::Status parse_status =
|
| - courgette::ParseDetectedExecutable(original_buffer, original_length,
|
| + courgette::ParseDetectedExecutable(original_buffer,
|
| + original_length,
|
| &program);
|
| EXPECT_EQ(courgette::C_OK, parse_status);
|
|
|
| @@ -45,7 +45,7 @@ void EncodeDecodeTest::TestExe(const char* file_name) const {
|
| const void* buffer = sink.Buffer();
|
| size_t length = sink.Length();
|
|
|
| - EXPECT_EQ(971850U, length);
|
| + EXPECT_EQ(expected_encoded_lenth, length);
|
|
|
| courgette::SourceStreamSet sources;
|
| bool can_get_source_streams = sources.Init(buffer, length);
|
| @@ -68,7 +68,12 @@ void EncodeDecodeTest::TestExe(const char* file_name) const {
|
| DeleteEncodedProgram(encoded2);
|
| }
|
|
|
| +TEST_F(EncodeDecodeTest, PE) {
|
| + std::string file = FileContents("setup1.exe");
|
| + TestAssembleToStreamDisassemble(file, 971850);
|
| +}
|
|
|
| -TEST_F(EncodeDecodeTest, All) {
|
| - TestExe("setup1.exe");
|
| +TEST_F(EncodeDecodeTest, Elf_Small) {
|
| + std::string file = FileContents("elf-32-1");
|
| + TestAssembleToStreamDisassemble(file, 135988);
|
| }
|
|
|