Dynamic Analysis with Clang building python make unittest failed
Offen
Dieses Issue hat noch niemand übernommen.
needs: decision
topic-building python
topic-test
type-feature
- Vorherrschende Sprache
- Python
- Sterne
- 2.1k
- Forks
- 1k
- Ø Merge
- 2 T. 12 Std.
- Gemergte PRs (30 T.)
- 12
Beschreibung
use this way to enable sanitizers make unittest check Sanitizer failed; it use _cflags to check
_cflags = sysconfig.get_config_var('CFLAGS') or ''
_config_args = sysconfig.get_config_var('CONFIG_ARGS') or ''
MEMORY_SANITIZER = (
'-fsanitize=memory' in _cflags or
'--with-memory-sanitizer' in _config_args
)
ADDRESS_SANITIZER = (
'-fsanitize=address' in _cflags
)
should replace with configure option
--with-address-sanitizer
enable AddressSanitizer memory error detector,
'asan' (default is no)
--with-memory-sanitizer enable MemorySanitizer allocation error detector,
'msan' (default is no)
--with-undefined-behavior-sanitizer
enable UndefinedBehaviorSanitizer undefined
behaviour detector, 'ubsan' (default is no)
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie damit, den Python-unittest-Sanitizer-Check zu lokalisieren, der sysconfig CFLAGS und CONFIG_ARGS liest. Vergleichen Sie ihn mit den aufgeführten configure-Optionen für AddressSanitizer, MemorySanitizer und UndefinedBehaviorSanitizer, und führen Sie anschließend den make unittest check aus, um zu bestätigen, dass die Sanitizer-Erkennung mit diesen Optionen funktioniert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- build-system, testing
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 38/100