summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-11-16 11:20:31 (GMT)
committerGitHub <noreply@github.com>2017-11-16 11:20:31 (GMT)
commitccb0442a338066bf40fe417455e5a374e5238afb (patch)
tree155b84289b5136d624ebd3577902ee1435a6b4e1 /Modules
parent05cb728d68a278d11466f9a6c8258d914135c96c (diff)
downloadcpython-ccb0442a338066bf40fe417455e5a374e5238afb.zip
cpython-ccb0442a338066bf40fe417455e5a374e5238afb.tar.gz
cpython-ccb0442a338066bf40fe417455e5a374e5238afb.tar.bz2
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()
Diffstat (limited to 'Modules')
-rw-r--r--Modules/main.c10
1 files changed, 10 insertions, 0 deletions
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 @@ pymain_parse_envvars(_PyMain *pymain)
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;
}