Updated code to be compliant with style guidelines

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@264 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
nealsid 2008-04-29 23:49:39 +00:00
parent 4c39c138fe
commit d906d0f7c9
9 changed files with 184 additions and 69 deletions

View file

@ -166,7 +166,7 @@ void* ReadTaskMemory(task_port_t target_task,
&local_length);
if(kr != NULL) {
if (kr != NULL) {
*kr = r;
}

View file

@ -275,7 +275,7 @@ bool MinidumpGenerator::WriteStackFromStartAddress(
size,
&kr);
if(stack_memory == NULL) {
if (stack_memory == NULL) {
return false;
}

View file

@ -1,37 +1,62 @@
/*
* DynamicImagesTests.cpp
* minidump_test
*
* Created by Neal Sidhwaney on 4/17/08.
* Copyright 2008 Google Inc. All rights reserved.
*
*/
// Copyright (c) 2008, Google Inc.
// All rights reserved
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "DynamicImagesTests.h"
#include "dynamic_images.h"
//
// DynamicImagesTests.cpp
// minidump_test
//
// Created by Neal Sidhwaney on 4/17/08.
// Copyright 2008 Google Inc. All rights reserved.
//
DynamicImagesTests test2(TEST_INVOCATION(DynamicImagesTests, ReadTaskMemoryTest));
#include "client/mac/handler/testcases/DynamicImagesTests.h"
#include "client/mac/handler/dynamic_images.h"
DynamicImagesTests test2(TEST_INVOCATION(DynamicImagesTests,
ReadTaskMemoryTest));
DynamicImagesTests::DynamicImagesTests(TestInvocation *invocation)
: TestCase(invocation)
{
: TestCase(invocation) {
}
DynamicImagesTests::~DynamicImagesTests()
{
DynamicImagesTests::~DynamicImagesTests() {
}
void DynamicImagesTests::ReadTaskMemoryTest()
{
void DynamicImagesTests::ReadTaskMemoryTest() {
kern_return_t kr;
// pick test2 as a symbol we know to be valid to read
// anything will work, really
void *addr = (void*)&test2;
void *addr = reinterpret_cast<void*>(&test2);
void *buf;
fprintf(stderr, "reading 0x%p\n",addr);
fprintf(stderr, "reading 0x%p\n", addr);
buf = google_breakpad::ReadTaskMemory(mach_task_self(),
addr,
getpagesize(),
@ -41,8 +66,7 @@ void DynamicImagesTests::ReadTaskMemoryTest()
CPTAssert(buf != NULL);
CPTAssert(0 == memcmp(buf,(const void*)addr,getpagesize()));
CPTAssert(0 == memcmp(buf, (const void*)addr, getpagesize()));
free(buf);
}

View file

@ -1,19 +1,51 @@
/*
* DynamicImagesTests.h
* minidump_test
*
* Created by Neal Sidhwaney on 4/17/08.
* Copyright 2008 Google Inc. All rights reserved.
*
*/
// Copyright (c) 2008, Google Inc.
// All rights reserved
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// DynamicImagesTests.h
// minidump_test
//
// Created by Neal Sidhwaney on 4/17/08.
// Copyright 2008 Google Inc. All rights reserved.
//
//
#ifndef _CLIENT_MAC_HANDLER_TESTCASES_DYNAMICIMAGESTESTS_H__
#define _CLIENT_MAC_HANDLER_TESTCASES_DYNAMICIMAGESTESTS_H__
#include <CPlusTest/CPlusTest.h>
class DynamicImagesTests : public TestCase {
public:
DynamicImagesTests(TestInvocation* invocation);
virtual ~DynamicImagesTests();
public:
explicit DynamicImagesTests(TestInvocation* invocation);
virtual ~DynamicImagesTests();
void ReadTaskMemoryTest();
void ReadTaskMemoryTest();
};
#endif /* _CLIENT_MAC_HANDLER_TESTCASES_DYNAMICIMAGESTESTS_H__ */

View file

@ -1,15 +1,42 @@
/*
* breakpad_nlist_test.cc
* minidump_test
*
* Created by Neal Sidhwaney on 4/13/08.
* Copyright 2008 Google Inc. All rights reserved.
*
*/
// Copyright (c) 2008, Google Inc.
// All rights reserved
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "breakpad_nlist_test.h"
//
// breakpad_nlist_test.cc
// minidump_test
//
// Created by Neal Sidhwaney on 4/13/08.
// Copyright 2008 Google Inc. All rights reserved.
//
#include "client/mac/handler/testcases/breakpad_nlist_test.h"
#include <mach-o/nlist.h>
#include "breakpad_nlist_64.h"
#include "client/mac/handler/breakpad_nlist_64.h"
BreakpadNlistTest test1(TEST_INVOCATION(BreakpadNlistTest, CompareToNM));
@ -28,13 +55,13 @@ void BreakpadNlistTest::CompareToNM() {
system("/usr/bin/nm -arch ppc64 /usr/lib/dyld > /tmp/dyld-namelist.txt");
#endif
FILE *fd = fopen("/tmp/dyld-namelist.txt","rt");
FILE *fd = fopen("/tmp/dyld-namelist.txt", "rt");
char oneNMAddr[30];
char symbolType;
char symbolName[500];
while(!feof(fd)) {
fscanf(fd,"%s %c %s",oneNMAddr, &symbolType, symbolName);
while (!feof(fd)) {
fscanf(fd, "%s %c %s", oneNMAddr, &symbolType, symbolName);
breakpad_nlist symbolList[2];
breakpad_nlist &list = symbolList[0];
@ -44,7 +71,7 @@ void BreakpadNlistTest::CompareToNM() {
symbolNames[1] = "\0";
breakpad_nlist_64("/usr/lib/dyld",&list, symbolNames);
uint64_t nmAddr = strtol(oneNMAddr,NULL,16);
if(!IsSymbolMoreThanOnceInDyld(symbolName)) {
if (!IsSymbolMoreThanOnceInDyld(symbolName)) {
CPTAssert(nmAddr == symbolList[0].n_value);
}
}
@ -53,7 +80,7 @@ void BreakpadNlistTest::CompareToNM() {
}
bool BreakpadNlistTest::IsSymbolMoreThanOnceInDyld(const char *symbolName) {
//These are the symbols that occur more than once when nm dumps
// These are the symbols that occur more than once when nm dumps
// the symbol table of /usr/lib/dyld. Our nlist program returns
// the first address because it's doing a search so we need to exclude
// these from causing the test to fail
@ -68,14 +95,12 @@ bool BreakpadNlistTest::IsSymbolMoreThanOnceInDyld(const char *symbolName) {
bool found = false;
for(int i = 0; multipleSymbols[i][0]; i++) {
if(!strcmp(multipleSymbols[i],symbolName)) {
for (int i = 0; multipleSymbols[i][0]; i++) {
if (!strcmp(multipleSymbols[i], symbolName)) {
found = true;
break;
}
}
return found;
}

View file

@ -1,16 +1,48 @@
/*
* breakpad_nlist_test.h
* minidump_test
*
* Created by Neal Sidhwaney on 4/13/08.
* Copyright 2008 Google Inc. All rights reserved.
*
*/
// Copyright (c) 2008, Google Inc.
// All rights reserved
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// breakpad_nlist_test.h
// minidump_test
//
// Created by Neal Sidhwaney on 4/13/08.
// Copyright 2008 Google Inc. All rights reserved.
//
//
#ifndef CLIENT_MAC_HANDLER_TESTCASES_BREAKPAD_NLIST_TEST_H__
#define CLIENT_MAC_HANDLER_TESTCASES_BREAKPAD_NLIST_TEST_H__
#include <CPlusTest/CPlusTest.h>
class BreakpadNlistTest : public TestCase {
private:
private:
// nm dumps multiple addresses for the same symbol in
// /usr/lib/dyld. So we track those so we don't report failures
@ -18,8 +50,8 @@ private:
// for the duplicate symbols.
bool IsSymbolMoreThanOnceInDyld(const char *symbolName);
public:
BreakpadNlistTest(TestInvocation* invocation);
public:
explicit BreakpadNlistTest(TestInvocation* invocation);
virtual ~BreakpadNlistTest();
@ -27,3 +59,5 @@ public:
output of every symbol to what our nlist implementation returns */
void CompareToNM();
};
#endif /* CLIENT_MAC_HANDLER_TESTCASES_BREAKPAD_NLIST_TEST_H__*/