diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-23 21:56:39 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-23 21:56:39 +0000 |
commit | 83c3cb14a4a8629df75b509e926e3c06438391d1 (patch) | |
tree | 8426eadd3e93a53532fb54ccfb33d42c840377c1 /courgette/disassembler_win32_x64_unittest.cc | |
parent | 968f98483f3b025fd56b31f5942c91271b464e03 (diff) | |
download | chromium_src-83c3cb14a4a8629df75b509e926e3c06438391d1.zip chromium_src-83c3cb14a4a8629df75b509e926e3c06438391d1.tar.gz chromium_src-83c3cb14a4a8629df75b509e926e3c06438391d1.tar.bz2 |
Revert 224789 "Add PE64 support to courgette"
Caused failures: http://build.chromium.org/p/chromium.win/builders/Win7%20Tests%20%28dbg%29%281%29/builds/23037/steps/courgette_unittests/logs/stdio
> Add PE64 support to courgette
>
> Add tests for PE64
>
> BUG=38784
>
> Review URL: https://chromiumcodereview.appspot.com/23600063
TBR=wfh@chromium.org
Review URL: https://codereview.chromium.org/23591065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224806 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'courgette/disassembler_win32_x64_unittest.cc')
-rw-r--r-- | courgette/disassembler_win32_x64_unittest.cc | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/courgette/disassembler_win32_x64_unittest.cc b/courgette/disassembler_win32_x64_unittest.cc deleted file mode 100644 index 345d416..0000000 --- a/courgette/disassembler_win32_x64_unittest.cc +++ /dev/null @@ -1,98 +0,0 @@ -// Copyright 2013 The Chromium 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 "courgette/disassembler_win32_x64.h" - -#include "base/memory/scoped_ptr.h" -#include "courgette/base_test_unittest.h" - -class DisassemblerWin32X64Test : public BaseTest { - public: - void TestExe() const; - void TestExe32() const; - void TestResourceDll() const; -}; - -void DisassemblerWin32X64Test::TestExe() const { - std::string file1 = FileContents("chrome64_1.exe"); - - scoped_ptr<courgette::DisassemblerWin32X64> disassembler( - new courgette::DisassemblerWin32X64(file1.c_str(), file1.length())); - - bool can_parse_header = disassembler->ParseHeader(); - EXPECT_TRUE(can_parse_header); - - // The executable is the whole file, not 'embedded' with the file - EXPECT_EQ(file1.length(), disassembler->length()); - - EXPECT_TRUE(disassembler->ok()); - EXPECT_TRUE(disassembler->has_text_section()); - EXPECT_EQ(488448U, disassembler->size_of_code()); - EXPECT_FALSE(disassembler->is_32bit()); - EXPECT_EQ(courgette::DisassemblerWin32X64::SectionName( - disassembler->RVAToSection(0x00401234 - 0x00400000)), - std::string(".text")); - - EXPECT_EQ(0, disassembler->RVAToFileOffset(0)); - EXPECT_EQ(1024, disassembler->RVAToFileOffset(4096)); - EXPECT_EQ(46928, disassembler->RVAToFileOffset(50000)); - - std::vector<courgette::RVA> relocs; - bool can_parse_relocs = disassembler->ParseRelocs(&relocs); - EXPECT_TRUE(can_parse_relocs); - - const uint8* offset_p = disassembler->OffsetToPointer(0); - EXPECT_EQ(reinterpret_cast<const void*>(file1.c_str()), - reinterpret_cast<const void*>(offset_p)); - EXPECT_EQ('M', offset_p[0]); - EXPECT_EQ('Z', offset_p[1]); - - const uint8* rva_p = disassembler->RVAToPointer(0); - EXPECT_EQ(reinterpret_cast<const void*>(file1.c_str()), - reinterpret_cast<const void*>(rva_p)); - EXPECT_EQ('M', rva_p[0]); - EXPECT_EQ('Z', rva_p[1]); -} - -void DisassemblerWin32X64Test::TestExe32() const { - std::string file1 = FileContents("setup1.exe"); - - scoped_ptr<courgette::DisassemblerWin32X64> disassembler( - new courgette::DisassemblerWin32X64(file1.c_str(), file1.length())); - - bool can_parse_header = disassembler->ParseHeader(); - EXPECT_FALSE(can_parse_header); - - // The executable is the whole file, not 'embedded' with the file - EXPECT_EQ(file1.length(), disassembler->length()); - - EXPECT_FALSE(disassembler->ok()); - EXPECT_TRUE(disassembler->has_text_section()); - EXPECT_EQ(449536U, disassembler->size_of_code()); - EXPECT_TRUE(disassembler->is_32bit()); -} - -void DisassemblerWin32X64Test::TestResourceDll() const { - std::string file1 = FileContents("en-US-64.dll"); - - scoped_ptr<courgette::DisassemblerWin32X64> disassembler( - new courgette::DisassemblerWin32X64(file1.c_str(), file1.length())); - - bool can_parse_header = disassembler->ParseHeader(); - EXPECT_FALSE(can_parse_header); - - // The executable is the whole file, not 'embedded' with the file - EXPECT_EQ(file1.length(), disassembler->length()); - - EXPECT_FALSE(disassembler->ok()); - EXPECT_FALSE(disassembler->has_text_section()); - EXPECT_EQ(0U, disassembler->size_of_code()); - EXPECT_FALSE(disassembler->is_32bit()); -} - -TEST_F(DisassemblerWin32X64Test, All) { - TestExe(); - TestExe32(); - TestResourceDll(); -} |