summaryrefslogtreecommitdiffstats
path: root/base/debug_util_unittest.cc
Commit message (Collapse)AuthorAgeFilesLines
* Import google-glog's Symbolize() and use it in debug_util_posix.cc.satorux@chromium.org2010-01-261-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike glibc's backtrace_symbols(), google-glog's Symbolize() can resolve symbols in binaries built with -fvisibility=hidden. This is because Symbolize() uses both dynamic and regular symbols, while backtrace_symbols() only uses dynamic symbols. As shown below, the new backtrace is slightly less informative as it does not have the binary name like out/Debug/base_unittests and the distance information like +0x20, but it should be ok. BUG=32762 TEST=out/Debug/base_unittests --gtest_filter='StackTrace*' --gtest_also_run_disabled_tests; and manually: BEFORE out/Debug/base_unittests(StackTrace::StackTrace()+0x20) [0x81d38f6] out/Debug/base_unittests(StackTrace_DISABLED_DebugOutputToStream_Test::TestBody()+0x17) [0x806633d] out/Debug/base_unittests(testing::Test::Run()+0x7a) [0x8242f96] out/Debug/base_unittests(testing::internal::TestInfoImpl::Run()+0xb9) [0x824347b] out/Debug/base_unittests(testing::TestCase::Run()+0xb7) [0x8243a7f] out/Debug/base_unittests(testing::internal::UnitTestImpl::RunAllTests()+0x256) [0x824777e] out/Debug/base_unittests(testing::UnitTest::Run()+0x14) [0x824680a] out/Debug/base_unittests [0x8048cc5] out/Debug/base_unittests(main+0x50) [0x80482a4] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb6b41b56] out/Debug/base_unittests [0x80481c1] AFTER % out/Debug/base_unittests --gtest_filter='*DebugOutputToStream' --gtest_also_run_disabled_tests StackTrace::StackTrace() [0x81d3910] StackTrace_DISABLED_DebugOutputToStream_Test::TestBody() [0x806633d] testing::Test::Run() [0x8242f66] testing::internal::TestInfoImpl::Run() [0x824344b] testing::TestCase::Run() [0x8243a4f] testing::internal::UnitTestImpl::RunAllTests() [0x824774e] testing::UnitTest::Run() [0x82467da] TestSuite::Run() [0x8048cc5] main [0x80482a4] 0xb6c0db56 0x80481c1 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=36997 Review URL: http://codereview.chromium.org/545148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37090 0039d316-1c4b-4281-b951-d872f2087c98
* OpenBSD/FreeBSD ifdefs and GYP changes for base/pvalchev@google.com2010-01-251-2/+2
| | | | | | | | Based on original work by Sprewell and Ben Laurie on FreeBSD port Review URL: http://codereview.chromium.org/548129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37063 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36997 - Import googleglog's Symbolize() and use it in ↵satorux@chromium.org2010-01-251-15/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debug_util_posix.cc. Unlike glibc's backtrace_symbols(), googleglog's Symbolize() can resolve symbols in binaries built with fvisibility=hidden. This is because Symbolize() uses both dynamic and regular symbols, while backtrace_symbols() only uses dynamic symbols. As shown below, the new backtrace is slightly less informative as it does not have the binary name like out/Debug/base_unittests and the distance information like +0x20, but it should be ok. BUG=32762 TEST=out/Debug/base_unittests gtest_filter='StackTrace*' gtest_also_run_disabled_tests; and manually: BEFORE out/Debug/base_unittests(StackTrace::StackTrace()+0x20) [0x81d38f6] out/Debug/base_unittests(StackTrace_DISABLED_DebugOutputToStream_Test::TestBody()+0x17) [0x806633d] out/Debug/base_unittests(testing::Test::Run()+0x7a) [0x8242f96] out/Debug/base_unittests(testing::internal::TestInfoImpl::Run()+0xb9) [0x824347b] out/Debug/base_unittests(testing::TestCase::Run()+0xb7) [0x8243a7f] out/Debug/base_unittests(testing::internal::UnitTestImpl::RunAllTests()+0x256) [0x824777e] out/Debug/base_unittests(testing::UnitTest::Run()+0x14) [0x824680a] out/Debug/base_unittests [0x8048cc5] out/Debug/base_unittests(main+0x50) [0x80482a4] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb6b41b56] out/Debug/base_unittests [0x80481c1] AFTER % out/Debug/base_unittests gtest_filter='*DebugOutputToStream' gtest_also_run_disabled_tests StackTrace::StackTrace() [0x81d3910] StackTrace_DISABLED_DebugOutputToStream_Test::TestBody() [0x806633d] testing::Test::Run() [0x8242f66] testing::internal::TestInfoImpl::Run() [0x824344b] testing::TestCase::Run() [0x8243a4f] testing::internal::UnitTestImpl::RunAllTests() [0x824774e] testing::UnitTest::Run() [0x82467da] TestSuite::Run() [0x8048cc5] main [0x80482a4] 0xb6c0db56 0x80481c1 Review URL: http://codereview.chromium.org/545148 TBR=satorux@chromium.org Review URL: http://codereview.chromium.org/545185 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36998 0039d316-1c4b-4281-b951-d872f2087c98
* Import google-glog's Symbolize() and use it in debug_util_posix.cc.satorux@chromium.org2010-01-251-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike glibc's backtrace_symbols(), google-glog's Symbolize() can resolve symbols in binaries built with -fvisibility=hidden. This is because Symbolize() uses both dynamic and regular symbols, while backtrace_symbols() only uses dynamic symbols. As shown below, the new backtrace is slightly less informative as it does not have the binary name like out/Debug/base_unittests and the distance information like +0x20, but it should be ok. BUG=32762 TEST=out/Debug/base_unittests --gtest_filter='StackTrace*' --gtest_also_run_disabled_tests; and manually: BEFORE out/Debug/base_unittests(StackTrace::StackTrace()+0x20) [0x81d38f6] out/Debug/base_unittests(StackTrace_DISABLED_DebugOutputToStream_Test::TestBody()+0x17) [0x806633d] out/Debug/base_unittests(testing::Test::Run()+0x7a) [0x8242f96] out/Debug/base_unittests(testing::internal::TestInfoImpl::Run()+0xb9) [0x824347b] out/Debug/base_unittests(testing::TestCase::Run()+0xb7) [0x8243a7f] out/Debug/base_unittests(testing::internal::UnitTestImpl::RunAllTests()+0x256) [0x824777e] out/Debug/base_unittests(testing::UnitTest::Run()+0x14) [0x824680a] out/Debug/base_unittests [0x8048cc5] out/Debug/base_unittests(main+0x50) [0x80482a4] /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb6b41b56] out/Debug/base_unittests [0x80481c1] AFTER % out/Debug/base_unittests --gtest_filter='*DebugOutputToStream' --gtest_also_run_disabled_tests StackTrace::StackTrace() [0x81d3910] StackTrace_DISABLED_DebugOutputToStream_Test::TestBody() [0x806633d] testing::Test::Run() [0x8242f66] testing::internal::TestInfoImpl::Run() [0x824344b] testing::TestCase::Run() [0x8243a4f] testing::internal::UnitTestImpl::RunAllTests() [0x824774e] testing::UnitTest::Run() [0x82467da] TestSuite::Run() [0x8048cc5] main [0x80482a4] 0xb6c0db56 0x80481c1 Review URL: http://codereview.chromium.org/545148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36997 0039d316-1c4b-4281-b951-d872f2087c98
* Fix tree bustage temporarillyjar@chromium.org2010-01-121-2/+3
| | | | | | | | BUG=32070 tbr=nsylvain Review URL: http://codereview.chromium.org/542032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36018 0039d316-1c4b-4281-b951-d872f2087c98
* linux: reenable symbols in backtraces in debug buildsevan@chromium.org2009-12-311-9/+14
| | | | | | | | This is easy enough to fix, and would be occasionally helpful. Review URL: http://codereview.chromium.org/524015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35405 0039d316-1c4b-4281-b951-d872f2087c98
* linux: StackTrace test isn't expected to work in Release builds anymoreevan@chromium.org2009-11-181-0/+7
| | | | | | | | | | Dropping the exception unwind data cut our executable size considerably, but it means we can't get stack traces anymore in Release builds, so stop this test early in that case. Review URL: http://codereview.chromium.org/399069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32346 0039d316-1c4b-4281-b951-d872f2087c98
* Demangle C++ symbols in stack traces for Linux.evan@chromium.org2009-10-141-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | My first Chromium linux build greeted me with a backtrace of mangled symbols (FWIW, my /dev/shm permission was wrong). That made me write this patch. BEFORE: ../sconsbuild/Debug/base_unittests(_ZN10StackTraceC1Ev+0x20) [0x817795e] ../sconsbuild/Debug/base_unittests(_ZN30StackTrace_OutputToStream_Test8TestBodyEv+0x18) [0x805fc98] ../sconsbuild/Debug/base_unittests(_ZN7testing4Test3RunEv+0x7e) [0x82005ea] AFTER: ../sconsbuild/Debug/base_unittests(StackTrace::StackTrace()+0x20) [0x817778c] ../sconsbuild/Debug/base_unittests(StackTrace_OutputToStream_Test::TestBody()+0x18) [0x805fc98] ../sconsbuild/Debug/base_unittests(testing::Test::Run()+0x7e) [0x8200786] BUG=none TEST=manually tested. also ran base_unittests Review URL: http://codereview.chromium.org/267074 Patch from Satoru Takabayashi <satorux@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28940 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a whole bunch of style nits.erg@google.com2009-10-131-1/+1
| | | | | | | | (Long term intention is to add a subset of cpplint.py to the presubmit script.) Review URL: http://codereview.chromium.org/276008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28914 0039d316-1c4b-4281-b951-d872f2087c98
* Fix StackTrace on Windows.maruel@chromium.org2009-08-241-10/+6
| | | | | | | | | | The previous implementation was overly verbose. The new one is now functional and the unit test now works. TEST=unit_test BUG=none Review URL: http://codereview.chromium.org/174250 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24097 0039d316-1c4b-4281-b951-d872f2087c98
* Symbols aren't always present, which causes this test to fail. In ↵ajwong@chromium.org2009-04-241-0/+5
| | | | | | | | particular, symbols are not present on the buildbot which means this test always fails on the buildbot. Disabling the code for now to bring the tree green. Review URL: http://codereview.chromium.org/92112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14401 0039d316-1c4b-4281-b951-d872f2087c98
* Print backtraces on FATAL log messages in debug mode.ajwong@chromium.org2009-04-241-0/+72
This provides basic support for looking up backtrace information on GNU libc systems and in Windows. The code is only enabled for FATAL log messages in debug mode. In a release build, it is unlikely that symbols will be available making the backtrace less useful. Review URL: http://codereview.chromium.org/62140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14391 0039d316-1c4b-4281-b951-d872f2087c98