gperftools/src/tests
Aliaksey Kandratsenka a9b734e3fa perform ucontext->pc variants testing in compile-time
As part of cpu profiler we're extracting current PC (program counter)
of out signal's ucontext. Different OS and hardware combinations have
different ways for that. We had a list of variants that we tested at
compile time and populated PC_FROM_UCONTEXT macro into config.h. It
caused duplication and occasional mismatches between our autoconf and
cmake bits.

So this commit changes testing to be compile-time. We remove
complexity from build system and add some to C++ source.

We use SFINAE to find which of those variants compile (and we silently
assume that 'compiles' implies 'works'; this is what config-time
testing did too). Occasionally we'll face situations where several
variants compile. And we couldn't handle this case in pure C++. So we
have a small Ruby program that generates chain of inheritance among
SFINAE-specialized class templates. This handles prioritization among
variants.

List of ucontext->pc extraction variants is mostly same. We dropped
super-obsolete (circa Linux kernel 2.0) arm variant. And NetBSD case
is now improved. We now use their nice architecture-independent macro
instead of x86-specific access.
2023-12-02 18:58:45 -05:00
..
addressmap_unittest.cc delete-trailing-whitespace on all files 2021-02-14 16:13:15 -08:00
check_address_test.cc unbreak address access "probing" for generic_fp backtracing 2023-09-10 17:24:32 -04:00
current_allocated_bytes_test.cc
debugallocation_test.cc unbreak MallocExtension::GetAllocatedSize() for debug allocator 2023-07-31 16:28:48 -04:00
debugallocation_test.sh
frag_unittest.cc delete-trailing-whitespace on all files 2021-02-14 16:13:15 -08:00
getpc_test.cc perform ucontext->pc variants testing in compile-time 2023-12-02 18:58:45 -05:00
heap-checker_unittest.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
heap-checker-death_unittest.sh
heap-profiler_unittest.cc delete-trailing-whitespace on all files 2021-02-14 16:13:15 -08:00
heap-profiler_unittest.sh [osx] make heap profiler unittest pass 2023-07-02 22:30:00 -04:00
large_heap_fragmentation_unittest.cc remove obsolete references to code.google.com 2023-07-31 14:28:58 -04:00
low_level_alloc_unittest.cc amputate maybe_threads 2023-07-14 03:07:16 -04:00
malloc_extension_c_test.cc simplify project by making it C++-only 2023-07-02 22:30:00 -04:00
malloc_extension_test.cc delete-trailing-whitespace on all files 2021-02-14 16:13:15 -08:00
malloc_hook_test.cc drop old mmap hooks and introduce internal & simpler mmap_hook.h 2023-07-21 16:13:19 -04:00
markidle_unittest.cc delete-trailing-whitespace on all files 2021-02-14 16:13:15 -08:00
memalign_unittest.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
mmap_hook_test.cc drop old mmap hooks and introduce internal & simpler mmap_hook.h 2023-07-21 16:13:19 -04:00
packed-cache_test.cc change size class to be represented by 32 bit int 2017-05-14 19:04:56 -07:00
page_heap_test.cc unbreak -Wthread-safety 2023-08-06 19:32:32 -04:00
pagemap_unittest.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
profile-handler_unittest.cc unbreak unnecessary dependency on 64-bit atomics 2023-09-10 21:07:28 -04:00
profiledata_unittest.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
profiler_unittest.cc slow down profiler_unittest some more 2023-07-02 21:28:30 -04:00
profiler_unittest.sh [osx] make profiler unittest pass 2023-07-02 22:30:00 -04:00
raw_printer_test.cc
realloc_unittest.cc delete-trailing-whitespace on all files 2021-02-14 16:13:15 -08:00
safe_strerror_test.cc implement SafeStrError and use it inside strerror 2023-07-03 18:14:05 -04:00
sampler_test.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
sampling_test.cc use more noopt in various unit tests 2023-07-02 21:28:30 -04:00
sampling_test.sh
simple_compat_test.cc
stack_trace_table_test.cc Drop de-duplication of heap sample (aka heapz) entries. 2018-08-27 20:10:09 -07:00
stacktrace_unittest.cc stacktrace_unittest: add simple way to skip ucontext testing 2023-10-27 20:53:21 -04:00
system-alloc_unittest.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
tcmalloc_large_unittest.cc use more noopt in various unit tests 2023-07-02 21:28:30 -04:00
tcmalloc_unittest.cc reduce set of nallocx size testing points 2023-09-10 22:18:51 -04:00
tcmalloc_unittest.sh Revert "enabled aggressive decommit by default" 2017-05-14 19:04:55 -07:00
testutil.cc dont test HAVE_{STDINT,INTTYPES}_H 2023-07-22 14:32:40 -04:00
testutil.h use more noopt in various unit tests 2023-07-02 21:28:30 -04:00
thread_dealloc_unittest.cc dont workaround unknown problem in thread_dealloc_unittest 2023-07-31 12:37:15 -04:00
unique_path_unittest.cc Add MPICH HPC environment detection 2023-08-11 15:21:15 -04:00