From: Tom de Vries Date: Tue, 3 Dec 2024 21:54:23 +0000 (+0100) Subject: [gdb/testsuite] Fix gdb.python/py-startup-opt.exp with empty PYTHONDONTWRITEBYTECODE X-Git-Tag: gdb-16-branchpoint~199 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1dc13c7e9f47718b51d8206e0b7cc8b244271ce4;p=thirdparty%2Fbinutils-gdb.git [gdb/testsuite] Fix gdb.python/py-startup-opt.exp with empty PYTHONDONTWRITEBYTECODE When running test-case gdb.python/py-startup-opt.exp with empty PYTHONDONTWRITEBYTECODE: ... $ cd build/gdb/testsuite $ PYTHONDONTWRITEBYTECODE= make check \ RUNTESTFLAGS=gdb.python/py-startup-opt.exp ... I get: ... end^M dont_write_bytecode is off^M (gdb) FAIL: $exp: attr=dont_write_bytecode: testname: input 6: end ... The problem is that the test-case expects dont_write_bytecode to be on, which is incorrect because PYTHONDONTWRITEBYTECODE only has effect if set to a non-empty string [1]. Fix this by correctly setting expectations in the test-case. Tested on x86_64-linux, with: - PYTHONDONTWRITEBYTECODE= - PYTHONDONTWRITEBYTECODE=1 - unset PYTHONDONTWRITEBYTECODE Approved-By: Tom Tromey [1] https://docs.python.org/3/using/cmdline.html#envvar-PYTHONDONTWRITEBYTECODE --- diff --git a/gdb/testsuite/gdb.python/py-startup-opt.exp b/gdb/testsuite/gdb.python/py-startup-opt.exp index cf2a2cf6768..014aff5725a 100644 --- a/gdb/testsuite/gdb.python/py-startup-opt.exp +++ b/gdb/testsuite/gdb.python/py-startup-opt.exp @@ -78,8 +78,9 @@ proc test_python_settings { exp_state } { # all GDB developers some will test GDB with this environment # variable unset. if { $attr == "dont_write_bytecode" \ - && $exp_state == "off" - && [info exists ::env(PYTHONDONTWRITEBYTECODE)] } { + && $exp_state == "off" \ + && [info exists ::env(PYTHONDONTWRITEBYTECODE)] \ + && $::env(PYTHONDONTWRITEBYTECODE) != "" } { set answer "on" } else { set answer $exp_state