CCaslyn Tonelli[gwp_asan] Exclude recoverable tests on Fuchsia
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[GWP-ASan] Minor refactor of optional components. In preparation for the inbuilt options parser, this is a minor refactor of optional components including: - Putting certain optional elements in the right header files, according to their function and their dependencies. - Cleaning up some old and mostly-dead code. - Moving some functions into anonymous namespaces to prevent symbol export. Reviewed By: cryptoad, eugenis Differential Revision: https://reviews.llvm.org/D94117 | 5 年前 | |
[GWP-ASan] Handle wild touches of the guarded pool. AllocMeta could be null when returned from __gwp_asan_get_metadata() for a bad access into the GuardedPagePool that was never allocated. Currently, then we dereference the null pointer, oops. Hoist the check up and print a message (only once in recoverable mode) about the bad memory access. Reviewed By: fmayer Differential Revision: https://reviews.llvm.org/D144973 | 3 年前 | |
[NFCI] clang-format gwp-asan files. | 4 年前 | |
[gwp_asan] Exclude recoverable tests on Fuchsia Signal handlers used by recoverable tests are unsupported on Fuchsia. Exclude the set of tests that test recoverable code paths (i.e. BacktraceGuardedPoolAllocator tests in recoverable.cpp) and always set the Recoverable testing bool to false on the Fuchsia platform. Differential Revision: https://reviews.llvm.org/D149311 | 3 年前 | |
[GWP-ASan] Add aligned allocations. Adds a new allocation API to GWP-ASan that handles size+alignment restrictions. Reviewed By: cryptoad, eugenis Differential Revision: https://reviews.llvm.org/D94830 | 5 年前 | |
[GWP-ASan] Port tests to Fuchsia This modifies the tests so that they can be run on Fuchsia: - add the necessary includes for set/vector etc - do the few modifications required to use zxtest instead og gtest backtrace.cpp requires stacktrace support that Fuchsia doesn't have yet, and enable_disable.cpp currently uses fork() which Fuchsia doesn't support yet. I'll revisit this later. I chose to use harness.h to hold my "platform-specific" include and namespace, and using this header in tests rather than gtest.h, which I am open to change if someone would rather go another direction. Differential Revision: https://reviews.llvm.org/D91575 | 5 年前 | |
[GWP-ASan] Stop using type aliases for ::testing:: types | 3 年前 | |
[GWP-ASan] Port tests to Fuchsia This modifies the tests so that they can be run on Fuchsia: - add the necessary includes for set/vector etc - do the few modifications required to use zxtest instead og gtest backtrace.cpp requires stacktrace support that Fuchsia doesn't have yet, and enable_disable.cpp currently uses fork() which Fuchsia doesn't support yet. I'll revisit this later. I chose to use harness.h to hold my "platform-specific" include and namespace, and using this header in tests rather than gtest.h, which I am open to change if someone would rather go another direction. Differential Revision: https://reviews.llvm.org/D91575 | 5 年前 | |
Name all DEATH tests using 'DeathTest' suffix. gtest highly recommends this prefix, and runs death tests first (https://github.com/google/googletest/blob/master/docs/advanced.md#death-test-naming). This may help with some spurious bot failures like https://lab.llvm.org/buildbot/#/builders/169/builds/1290/steps/25/logs/stdio. Reviewed By: cryptoad, vitalybuka Differential Revision: https://reviews.llvm.org/D105371 | 4 年前 | |
[gwp_asan] Exclude recoverable tests on Fuchsia Signal handlers used by recoverable tests are unsupported on Fuchsia. Exclude the set of tests that test recoverable code paths (i.e. BacktraceGuardedPoolAllocator tests in recoverable.cpp) and always set the Recoverable testing bool to false on the Fuchsia platform. Differential Revision: https://reviews.llvm.org/D149311 | 3 年前 | |
[gwp_asan] Employ EXPECT_DEATH for zxtest compatibility Employ a similar tactic introduced by https://reviews.llvm.org/D94362 for gwp_asan tests. zxtest ASSERT_DEATH syntax differs from gtest in that it expects a lambda. zxtest does not have EXPECT_DEATH, so it introduced for Fuchsia builds and wraps the expression with a lambda to create a compatible syntax between zxtest and gtest for death tests. An example of where this compatiblity is needed is in never_allocated.cpp. Differential Revision: https://reviews.llvm.org/D147189 | 3 年前 | |
[gwp_asan] Add missing <algorithm> include After https://reviews.llvm.org/D119667, <algorithm> is no longer transitively included from various headers. This patch adds the <algorithm> include into gwp_asan. Differential Revision: https://reviews.llvm.org/D120172 | 4 年前 | |
[GWP-ASan] Port tests to Fuchsia This modifies the tests so that they can be run on Fuchsia: - add the necessary includes for set/vector etc - do the few modifications required to use zxtest instead og gtest backtrace.cpp requires stacktrace support that Fuchsia doesn't have yet, and enable_disable.cpp currently uses fork() which Fuchsia doesn't support yet. I'll revisit this later. I chose to use harness.h to hold my "platform-specific" include and namespace, and using this header in tests rather than gtest.h, which I am open to change if someone would rather go another direction. Differential Revision: https://reviews.llvm.org/D91575 | 5 年前 | |
[GWP-ASan] Port tests to Fuchsia This modifies the tests so that they can be run on Fuchsia: - add the necessary includes for set/vector etc - do the few modifications required to use zxtest instead og gtest backtrace.cpp requires stacktrace support that Fuchsia doesn't have yet, and enable_disable.cpp currently uses fork() which Fuchsia doesn't support yet. I'll revisit this later. I chose to use harness.h to hold my "platform-specific" include and namespace, and using this header in tests rather than gtest.h, which I am open to change if someone would rather go another direction. Differential Revision: https://reviews.llvm.org/D91575 | 5 年前 | |
[gwp_asan] Employ EXPECT_DEATH for zxtest compatibility Employ a similar tactic introduced by https://reviews.llvm.org/D94362 for gwp_asan tests. zxtest ASSERT_DEATH syntax differs from gtest in that it expects a lambda. zxtest does not have EXPECT_DEATH, so it introduced for Fuchsia builds and wraps the expression with a lambda to create a compatible syntax between zxtest and gtest for death tests. An example of where this compatiblity is needed is in never_allocated.cpp. Differential Revision: https://reviews.llvm.org/D147189 | 3 年前 | |
[GWP-ASan] Add inbuilt options parser. Adds a modified options parser (shamefully pulled from Scudo, which shamefully pulled it from sanitizer-common) to GWP-ASan. This allows customers (Android) to parse options strings in a common way. Depends on D94117. AOSP side of these patches is staged at: - sepolicy (sysprops should only be settable by the shell, in both root and unrooted conditions): https://android-review.googlesource.com/c/platform/system/sepolicy/+/1517238 - zygote updates: https://android-review.googlesource.com/c/platform/frameworks/base/+/1515009 - bionic changes to add gwp_asan.<process_name> system property, and GWP_ASAN_OPTIONS environment variable: https://android-review.googlesource.com/c/platform/bionic/+/1514989 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D92696 | 5 年前 | |
[GWP-ASan] Handle wild touches of the guarded pool. AllocMeta could be null when returned from __gwp_asan_get_metadata() for a bad access into the GuardedPagePool that was never allocated. Currently, then we dereference the null pointer, oops. Hoist the check up and print a message (only once in recoverable mode) about the bad memory access. Reviewed By: fmayer Differential Revision: https://reviews.llvm.org/D144973 | 3 年前 | |
[GWP-ASan] Port tests to Fuchsia This modifies the tests so that they can be run on Fuchsia: - add the necessary includes for set/vector etc - do the few modifications required to use zxtest instead og gtest backtrace.cpp requires stacktrace support that Fuchsia doesn't have yet, and enable_disable.cpp currently uses fork() which Fuchsia doesn't support yet. I'll revisit this later. I chose to use harness.h to hold my "platform-specific" include and namespace, and using this header in tests rather than gtest.h, which I am open to change if someone would rather go another direction. Differential Revision: https://reviews.llvm.org/D91575 | 5 年前 | |
[GWP-ASan] Remove thread clamping in tests. It's better and easier for us to just have threads contend against each other in the tests if it's more than the maximum supported number of hardware threads available. Specifically, the recoverable test fails on Android because the GTEST_SKIP in a called function, and it only properly works from the TEST_* harness function. Android tests run on cuttlefish, which can be a single core with two hyperthreads. Reviewed By: fmayer Differential Revision: https://reviews.llvm.org/D143221 | 3 年前 |