]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
pytest:segfault: do not assume PLEASE_NO_GDB_BACKTRACE var is unset
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Thu, 14 Mar 2024 01:48:23 +0000 (14:48 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 20 Mar 2024 23:42:34 +0000 (23:42 +0000)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/segfault.py

index d676a21f9c6ae5bd6d062cbb1aa0809b7b416403..885a9c91d1101d54d18016289a61dd0202dcc6e4 100644 (file)
@@ -58,11 +58,15 @@ def segfault_detector(f):
 def no_gdb_backtrace(f):
     from os import environ
     def w(*args, **kwargs):
-        environ['PLEASE_NO_GDB_BACKTRACE'] = '1'        
+        old = environ.get('PLEASE_NO_GDB_BACKTRACE')
+        environ['PLEASE_NO_GDB_BACKTRACE'] = '1'
         try:
             f(*args, **kwargs)
         finally:
-            del environ['PLEASE_NO_GDB_BACKTRACE']
+            if old is not None:
+                environ['PLEASE_NO_GDB_BACKTRACE'] = old
+            else:
+                del environ['PLEASE_NO_GDB_BACKTRACE']
 
     return w