diff options
author | swarmer <[email protected]> | 2025-09-24 12:09:29 +0300 |
---|---|---|
committer | swarmer <[email protected]> | 2025-09-24 12:38:07 +0300 |
commit | e7bdd96e81bf801c444d8a81ed143db37118aeeb (patch) | |
tree | b78498ec926f8df274bf91c7cb6b3a537e9bd7c1 | |
parent | b574fe91abef2759dd642a485bd5295a4df2fa0d (diff) |
import python/sanitizers interface
commit_hash:072d78454b56aed802cb4aacd39defc584cabb41
-rw-r--r-- | library/python/sanitizers/README.md | 5 | ||||
-rw-r--r-- | library/python/sanitizers/__init__.py | 1 | ||||
-rw-r--r-- | library/python/sanitizers/sanitizers.pxd | 6 | ||||
-rw-r--r-- | library/python/sanitizers/sanitizers.pyx | 10 | ||||
-rw-r--r-- | library/python/sanitizers/ya.make | 10 |
5 files changed, 32 insertions, 0 deletions
diff --git a/library/python/sanitizers/README.md b/library/python/sanitizers/README.md new file mode 100644 index 00000000000..515a9cc953d --- /dev/null +++ b/library/python/sanitizers/README.md @@ -0,0 +1,5 @@ +# Флаги включенности санитайзеров в сборке + +Библиотека позволяет проверить в рантайме, был ли бинарь собран с санитайзерами. + +Целевая область применения - тесты. Так как производительность с санитайзерами ниже, то и количество итераций в, например, стресс-тестах стоит делать ниже. Таймауты на тесты ведь одинаковые. diff --git a/library/python/sanitizers/__init__.py b/library/python/sanitizers/__init__.py new file mode 100644 index 00000000000..a68ffc4a0ec --- /dev/null +++ b/library/python/sanitizers/__init__.py @@ -0,0 +1 @@ +from .sanitizers import asan_is_on, tsan_is_on, msan_is_on # F401 # noqa diff --git a/library/python/sanitizers/sanitizers.pxd b/library/python/sanitizers/sanitizers.pxd new file mode 100644 index 00000000000..1e13229d0be --- /dev/null +++ b/library/python/sanitizers/sanitizers.pxd @@ -0,0 +1,6 @@ +from libcpp cimport bool + +cdef extern from "util/system/sanitizers.h" namespace "NSan" nogil: + bool ASanIsOn() + bool TSanIsOn() + bool MSanIsOn() diff --git a/library/python/sanitizers/sanitizers.pyx b/library/python/sanitizers/sanitizers.pyx new file mode 100644 index 00000000000..c2a5e684e3c --- /dev/null +++ b/library/python/sanitizers/sanitizers.pyx @@ -0,0 +1,10 @@ +def asan_is_on(): + return ASanIsOn() + + +def tsan_is_on(): + return TSanIsOn() + + +def msan_is_on(): + return MSanIsOn() diff --git a/library/python/sanitizers/ya.make b/library/python/sanitizers/ya.make new file mode 100644 index 00000000000..4028e7ecadd --- /dev/null +++ b/library/python/sanitizers/ya.make @@ -0,0 +1,10 @@ +PY23_LIBRARY() + +STYLE_PYTHON() + +PY_SRCS( + __init__.py + sanitizers.pyx +) + +END() |