bpo-32043: New "developer mode": "-X dev" option (#4413)
Add a new "developer mode": new "-X dev" command line option to
enable debug checks at runtime.
Changes:
* Add unit tests for -X dev
* test_cmd_line: replace test.support with support.
* Fix _PyRuntimeState_Fini(): Use the same memory allocator
than _PyRuntimeState_Init().
* Fix _PyMem_GetDefaultRawAllocator()
diff --git a/Modules/main.c b/Modules/main.c
index 95076c6..203abf4 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -1396,6 +1396,16 @@
if (pymain_init_tracemalloc(pymain) < 0) {
return -1;
}
+ if (pymain_get_xoption(pymain, L"dev")) {
+ /* "python3 -X dev ..." behaves
+ as "PYTHONMALLOC=debug python3 -Wd -X faulthandler ..." */
+ core_config->allocator = "debug";
+ if (pymain_optlist_append(pymain, &pymain->cmdline.warning_options,
+ L"default") < 0) {
+ return -1;
+ }
+ core_config->faulthandler = 1;
+ }
return 0;
}