diff options
Diffstat (limited to 'smoketest/scripts/cli')
| -rw-r--r-- | smoketest/scripts/cli/base_vyostest_shim.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/smoketest/scripts/cli/base_vyostest_shim.py b/smoketest/scripts/cli/base_vyostest_shim.py index 502be2813..590670a06 100644 --- a/smoketest/scripts/cli/base_vyostest_shim.py +++ b/smoketest/scripts/cli/base_vyostest_shim.py @@ -65,16 +65,19 @@ class VyOSUnitTestSHIM: @classmethod def tearDownClass(cls): - # discard any pending changes which might caused a messed up config - cls._session.discard() - # ... and restore the initial state - cls._session.migrate_and_load_config(save_config) - try: + # commit pending changes done by derived tearDownClass() + # implementations like CLI cleanup cls._session.commit() except (ConfigError, ConfigSessionError): + # discard any pending changes which might have failed, causing a + # messed up config cls._session.discard() cls.fail(cls) + finally: + # restore previous configuration before the test + cls._session.migrate_and_load_config(save_config) + cls._session.commit() def setUp(self): pass |
