PageRenderTime 8ms CodeModel.GetById 1ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/thirdparty/breakpad/client/mac/handler/testcases/breakpad_nlist_test.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 62 lines | 12 code | 9 blank | 41 comment | 0 complexity | e633f23231326d27d3bd9f04539b3a99 MD5 | raw file
 1// Copyright (c) 2008, Google Inc.
 2// All rights reserved
 3// Redistribution and use in source and binary forms, with or without
 4// modification, are permitted provided that the following conditions are
 5// met:
 6//
 7//     * Redistributions of source code must retain the above copyright
 8// notice, this list of conditions and the following disclaimer.
 9//     * Redistributions in binary form must reproduce the above
10// copyright notice, this list of conditions and the following disclaimer
11// in the documentation and/or other materials provided with the
12// distribution.
13//     * Neither the name of Google Inc. nor the names of its
14// contributors may be used to endorse or promote products derived from
15// this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29//
30//  breakpad_nlist_test.h
31//  minidump_test
32//
33//  Created by Neal Sidhwaney on 4/13/08.
34//  Copyright 2008 Google Inc. All rights reserved.
35//
36//
37
38#ifndef CLIENT_MAC_HANDLER_TESTCASES_BREAKPAD_NLIST_TEST_H__
39#define CLIENT_MAC_HANDLER_TESTCASES_BREAKPAD_NLIST_TEST_H__
40
41#include <CPlusTest/CPlusTest.h>
42
43class BreakpadNlistTest : public TestCase {
44 private:
45
46  // nm dumps multiple addresses for the same symbol in
47  // /usr/lib/dyld. So we track those so we don't report failures
48  // in mismatches between what our nlist returns and what nm has
49  // for the duplicate symbols.
50  bool IsSymbolMoreThanOnceInDyld(const char *symbolName);
51
52 public:
53  explicit BreakpadNlistTest(TestInvocation* invocation);
54  virtual ~BreakpadNlistTest();
55
56
57  /* This test case runs nm on /usr/lib/dyld and then compares the
58     output of every symbol to what our nlist implementation returns */
59  void CompareToNM();
60};
61
62#endif /* CLIENT_MAC_HANDLER_TESTCASES_BREAKPAD_NLIST_TEST_H__*/