aboutsummaryrefslogtreecommitdiff
path: root/src/client/mac/handler/breakpad_nlist_test.h
blob: c778a9b3b1dd47854c625c3c47158a0136441241 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
 *  BreakpadNlistTest.h
 *  minidump_test
 *
 *  Created by Neal Sidhwaney on 4/13/08.
 *  Copyright 2008 Google Inc. All rights reserved.
 *
 */

#include <CPlusTest/CPlusTest.h>

/*
__Z41__static_initialization_and_destruction_0ii
__Z41__static_initialization_and_destruction_0ii
__Z41__static_initialization_and_destruction_0ii
___tcf_0
___tcf_0
___tcf_0
___tcf_1
_read_encoded_value_with_base
_read_sleb128
_read_uleb128

*/

class BreakpadNlistTest : public TestCase {
private:

  // nm dumps multiple addresses for the same symbol in
  // /usr/lib/dyld. So we track those so we don't report failures
  // in mismatches between what our nlist returns and what nm has
  // for the duplicate symbols.
  bool IsSymbolMoreThanOnceInDyld(const char *symbolName);

public:
  BreakpadNlistTest(TestInvocation* invocation);
  virtual ~BreakpadNlistTest();


  /* This test case runs nm on /usr/lib/dyld and then compares the
     output of every symbol to what our nlist implementation returns */
  void CompareToNM();
};