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

Unified Diff: util/mac/mach_o_image_segment_reader_test.cc

Issue 666483002: Create snapshot/mac and move some files from snapshot and util to there (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad/+/master
Patch Set: Move process_reader, process_types, and mach_o_image*_reader from util/mac to snapshot/mac Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « util/mac/mach_o_image_segment_reader.cc ('k') | util/mac/mach_o_image_symbol_table_reader.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: util/mac/mach_o_image_segment_reader_test.cc
diff --git a/util/mac/mach_o_image_segment_reader_test.cc b/util/mac/mach_o_image_segment_reader_test.cc
deleted file mode 100644
index d0e706f8b7121ff177b84769721bdd6208fc46d7..0000000000000000000000000000000000000000
--- a/util/mac/mach_o_image_segment_reader_test.cc
+++ /dev/null
@@ -1,188 +0,0 @@
-// Copyright 2014 The Crashpad Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "util/mac/mach_o_image_segment_reader.h"
-
-#include <mach-o/loader.h>
-
-#include "base/basictypes.h"
-#include "base/strings/stringprintf.h"
-#include "gtest/gtest.h"
-
-namespace crashpad {
-namespace test {
-namespace {
-
-// Most of MachOImageSegmentReader is tested as part of MachOImageReader, which
-// depends on MachOImageSegmentReader to provide major portions of its
-// functionality. Because MachOImageSegmentReader is difficult to use except by
-// a Mach-O load command reader such as MachOImageReader, these portions
-// of MachOImageSegmentReader are not tested independently.
-//
-// The tests here exercise the portions of MachOImageSegmentReader that are
-// exposed and independently useful.
-
-TEST(MachOImageSegmentReader, SegmentNameString) {
- // The output value should be a string of up to 16 characters, even if the
- // input value is not NUL-terminated within 16 characters.
- EXPECT_EQ("__TEXT", MachOImageSegmentReader::SegmentNameString("__TEXT"));
- EXPECT_EQ("__OVER", MachOImageSegmentReader::SegmentNameString("__OVER"));
- EXPECT_EQ("", MachOImageSegmentReader::SegmentNameString(""));
- EXPECT_EQ("p", MachOImageSegmentReader::SegmentNameString("p"));
- EXPECT_EQ("NoUnderChar",
- MachOImageSegmentReader::SegmentNameString("NoUnderChar"));
- EXPECT_EQ("0123456789abcde",
- MachOImageSegmentReader::SegmentNameString("0123456789abcde"));
- EXPECT_EQ("0123456789abcdef",
- MachOImageSegmentReader::SegmentNameString("0123456789abcdef"));
- EXPECT_EQ("gfedcba987654321",
- MachOImageSegmentReader::SegmentNameString("gfedcba9876543210"));
- EXPECT_EQ("hgfedcba98765432",
- MachOImageSegmentReader::SegmentNameString("hgfedcba9876543210"));
-
- // Segment names defined in <mach-o/loader.h>. All of these should come
- // through SegmentNameString() cleanly and without truncation.
- const char* kSegmentTestData[] = {
- SEG_TEXT,
- SEG_DATA,
- SEG_OBJC,
- SEG_ICON,
- SEG_LINKEDIT,
- SEG_UNIXSTACK,
- SEG_IMPORT,
- };
-
- for (size_t index = 0; index < arraysize(kSegmentTestData); ++index) {
- EXPECT_EQ(
- kSegmentTestData[index],
- MachOImageSegmentReader::SegmentNameString(kSegmentTestData[index]))
- << base::StringPrintf("index %zu", index);
- }
-}
-
-TEST(MachOImageSegmentReader, SectionNameString) {
- // The output value should be a string of up to 16 characters, even if the
- // input value is not NUL-terminated within 16 characters.
- EXPECT_EQ("__text", MachOImageSegmentReader::SectionNameString("__text"));
- EXPECT_EQ("__over", MachOImageSegmentReader::SectionNameString("__over"));
- EXPECT_EQ("", MachOImageSegmentReader::SectionNameString(""));
- EXPECT_EQ("p", MachOImageSegmentReader::SectionNameString("p"));
- EXPECT_EQ("NoUnderChar",
- MachOImageSegmentReader::SectionNameString("NoUnderChar"));
- EXPECT_EQ("0123456789abcde",
- MachOImageSegmentReader::SectionNameString("0123456789abcde"));
- EXPECT_EQ("0123456789abcdef",
- MachOImageSegmentReader::SectionNameString("0123456789abcdef"));
- EXPECT_EQ("gfedcba987654321",
- MachOImageSegmentReader::SectionNameString("gfedcba9876543210"));
- EXPECT_EQ("hgfedcba98765432",
- MachOImageSegmentReader::SectionNameString("hgfedcba9876543210"));
-
- // Section names defined in <mach-o/loader.h>. All of these should come
- // through SectionNameString() cleanly and without truncation.
- const char* kSectionTestData[] = {
- SECT_TEXT,
- SECT_FVMLIB_INIT0,
- SECT_FVMLIB_INIT1,
- SECT_DATA,
- SECT_BSS,
- SECT_COMMON,
- SECT_OBJC_SYMBOLS,
- SECT_OBJC_MODULES,
- SECT_OBJC_STRINGS,
- SECT_OBJC_REFS,
- SECT_ICON_HEADER,
- SECT_ICON_TIFF,
- };
-
- for (size_t index = 0; index < arraysize(kSectionTestData); ++index) {
- EXPECT_EQ(
- kSectionTestData[index],
- MachOImageSegmentReader::SectionNameString(kSectionTestData[index]))
- << base::StringPrintf("index %zu", index);
- }
-}
-
-TEST(MachOImageSegmentReader, SegmentAndSectionNameString) {
- struct SegmentAndSectionTestData {
- const char* segment;
- const char* section;
- const char* output;
- };
- const SegmentAndSectionTestData kSegmentAndSectionTestData[] = {
- {"segment", "section", "segment,section"},
- {"Segment", "Section", "Segment,Section"},
- {"SEGMENT", "SECTION", "SEGMENT,SECTION"},
- {"__TEXT", "__plain", "__TEXT,__plain"},
- {"__TEXT", "poetry", "__TEXT,poetry"},
- {"__TEXT", "Prose", "__TEXT,Prose"},
- {"__PLAIN", "__text", "__PLAIN,__text"},
- {"rich", "__text", "rich,__text"},
- {"segment", "", "segment,"},
- {"", "section", ",section"},
- {"", "", ","},
- {"0123456789abcdef", "section", "0123456789abcdef,section"},
- {"gfedcba9876543210", "section", "gfedcba987654321,section"},
- {"0123456789abcdef", "", "0123456789abcdef,"},
- {"gfedcba9876543210", "", "gfedcba987654321,"},
- {"segment", "0123456789abcdef", "segment,0123456789abcdef"},
- {"segment", "gfedcba9876543210", "segment,gfedcba987654321"},
- {"", "0123456789abcdef", ",0123456789abcdef"},
- {"", "gfedcba9876543210", ",gfedcba987654321"},
- {"0123456789abcdef",
- "0123456789abcdef",
- "0123456789abcdef,0123456789abcdef"},
- {"gfedcba9876543210",
- "gfedcba9876543210",
- "gfedcba987654321,gfedcba987654321"},
-
- // Sections defined in <mach-o/loader.h>. All of these should come through
- // SegmentAndSectionNameString() cleanly and without truncation.
- {SEG_TEXT, SECT_TEXT, "__TEXT,__text"},
- {SEG_TEXT, SECT_FVMLIB_INIT0, "__TEXT,__fvmlib_init0"},
- {SEG_TEXT, SECT_FVMLIB_INIT1, "__TEXT,__fvmlib_init1"},
- {SEG_DATA, SECT_DATA, "__DATA,__data"},
- {SEG_DATA, SECT_BSS, "__DATA,__bss"},
- {SEG_DATA, SECT_COMMON, "__DATA,__common"},
- {SEG_OBJC, SECT_OBJC_SYMBOLS, "__OBJC,__symbol_table"},
- {SEG_OBJC, SECT_OBJC_MODULES, "__OBJC,__module_info"},
- {SEG_OBJC, SECT_OBJC_STRINGS, "__OBJC,__selector_strs"},
- {SEG_OBJC, SECT_OBJC_REFS, "__OBJC,__selector_refs"},
- {SEG_ICON, SECT_ICON_HEADER, "__ICON,__header"},
- {SEG_ICON, SECT_ICON_TIFF, "__ICON,__tiff"},
-
- // These segments don’t normally have sections, but the above group tested
- // the known segment names for segments that do normally have sections.
- // This group does the same for segments that normally don’t.
- {SEG_LINKEDIT, "", "__LINKEDIT,"},
- {SEG_UNIXSTACK, "", "__UNIXSTACK,"},
- {SEG_IMPORT, "", "__IMPORT,"},
- };
-
- for (size_t index = 0; index < arraysize(kSegmentAndSectionTestData);
- ++index) {
- const SegmentAndSectionTestData& test = kSegmentAndSectionTestData[index];
- EXPECT_EQ(test.output,
- MachOImageSegmentReader::SegmentAndSectionNameString(
- test.segment, test.section))
- << base::StringPrintf("index %zu, segment %s, section %s",
- index,
- test.segment,
- test.section);
- }
-}
-
-} // namespace
-} // namespace test
-} // namespace crashpad
« no previous file with comments | « util/mac/mach_o_image_segment_reader.cc ('k') | util/mac/mach_o_image_symbol_table_reader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698