Ensure settings get cleaned up on exceptions
Before this change, Ctrl-C or another exception leaves settings behind
Bug: b/284462263
Change-Id: I5694cbb2ca7d43a4173099d126e6695e07ec9d2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4685238
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
diff --git a/src/tests/restricted_traces/restricted_trace_perf.py b/src/tests/restricted_traces/restricted_trace_perf.py
index 6a1c4c9..2dce3d7 100644
--- a/src/tests/restricted_traces/restricted_trace_perf.py
+++ b/src/tests/restricted_traces/restricted_trace_perf.py
@@ -620,6 +620,20 @@
logging.basicConfig(level=args.log.upper())
+ run_adb_command('root')
+
+ try:
+ run_traces(args)
+ finally:
+ # Clean up settings, including in case of exceptions (including Ctrl-C)
+ run_adb_command('shell settings delete global angle_debug_package')
+ run_adb_command('shell settings delete global angle_gl_driver_selection_pkgs')
+ run_adb_command('shell settings delete global angle_gl_driver_selection_values')
+
+ return 0
+
+
+def run_traces(args):
# Load trace names
with open(os.path.join(DEFAULT_TEST_DIR, DEFAULT_TEST_JSON)) as f:
traces = json.loads(f.read())
@@ -682,8 +696,6 @@
column_width['gpu_mem_peak'], 'gpu_mem_peak', column_width['proc_mem_median'],
'proc_mem_median', column_width['proc_mem_peak'], 'proc_mem_peak'))
- run_adb_command('root')
-
if args.power:
starting_power = GPUPowerStats()
ending_power = GPUPowerStats()
@@ -1001,13 +1013,6 @@
percent(safe_divide(data["native"][16], data["vulkan"][16]))
])
- # Clean up settings
- run_adb_command('shell settings delete global angle_debug_package')
- run_adb_command('shell settings delete global angle_gl_driver_selection_pkgs')
- run_adb_command('shell settings delete global angle_gl_driver_selection_values')
-
- return 0
-
if __name__ == '__main__':
sys.exit(main())