Previously this test would catch SystemExit and report a Skip of "No config section...", which wasn't accurate. Now it does a little better handling of determining whether the exit was expected (usually due to some sort of environment issue), or not and giving a better skip message.
Signed-off-by: Dylan Baker <[email protected]> --- framework/tests/integration_tests.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/framework/tests/integration_tests.py b/framework/tests/integration_tests.py index 0a157a8..472f903 100644 --- a/framework/tests/integration_tests.py +++ b/framework/tests/integration_tests.py @@ -39,11 +39,23 @@ framework.core.get_config() def _import(name): - """ Helper for importing modules """ + """Helper for importing modules. + + It is very important that we use import_module to get the module, since we + need more than just the profile, since we want to ensure that the Test + derived class is importable. + + """ try: return importlib.import_module(name) - except (ConfigParser.NoOptionError, ConfigParser.NoSectionError, SystemExit): + except (ConfigParser.NoOptionError, ConfigParser.NoSectionError): raise SkipTest('No config section for {}'.format(name)) + except SystemExit as e: + if e.code == 0: + # This means that it's a normal operation, but not that it's a pass + raise SkipTest('Profile exited normally.') + else: + raise Exception('Profile exited. code: {}.'.format(e.code)) def test_xts_import(): -- 2.2.2 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
