[Piglit] [PATCH] run.py: Split windows exception handling into helper
Dylan Baker
baker.dylan.c at gmail.com
Thu Oct 23 01:09:40 PDT 2014
This allows the function to be shared by run and resume. It was not
present in resume before, thus windows exceptions would still raise an
exception and open a popup window.
Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
---
framework/programs/run.py | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/framework/programs/run.py b/framework/programs/run.py
index 15f6ec6..b2fe097 100644
--- a/framework/programs/run.py
+++ b/framework/programs/run.py
@@ -27,6 +27,7 @@ import os
import os.path as path
import time
import ConfigParser
+import ctypes
import framework.core as core
import framework.results
@@ -190,22 +191,13 @@ def _run_parser(input_):
return parser.parse_args(unparsed)
-def run(input_):
- """ Function for piglit run command
-
- This is a function because it allows it to be shared between piglit-run.py
- and piglit run
-
- """
- args = _run_parser(input_)
-
- # Disable Windows error message boxes for this and all child processes.
+def _handle_windows_exceptions():
+ """Disable Windows error message boxes for this and all child processes."""
if sys.platform == 'win32':
# This disables messages boxes for uncaught exceptions, but it will not
# disable the message boxes for assertion failures or abort(). Those
# are created not by the system but by the CRT itself, and must be
# disabled by the child processes themselves.
- import ctypes
SEM_FAILCRITICALERRORS = 0x0001
SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
SEM_NOGPFAULTERRORBOX = 0x0002
@@ -217,6 +209,17 @@ def run(input_):
| SEM_NOOPENFILEERRORBOX
ctypes.windll.kernel32.SetErrorMode(uMode)
+
+def run(input_):
+ """ Function for piglit run command
+
+ This is a function because it allows it to be shared between piglit-run.py
+ and piglit run
+
+ """
+ args = _run_parser(input_)
+ _handle_windows_exceptions()
+
# If dmesg is requested we must have serial run, this is becasue dmesg
# isn't reliable with threaded run
if args.dmesg:
@@ -292,6 +295,7 @@ def resume(input_):
help="Optionally specify a piglit config file to use. "
"Default is piglit.conf")
args = parser.parse_args(input_)
+ _handle_windows_exceptions()
results = framework.results.TestrunResult.resume(args.results_path)
opts = core.Options(concurrent=results.options['concurrent'],
--
2.1.2
More information about the Piglit
mailing list