From 6d7ecc144107b38101edc7b58e0b3f3519c61cb2 Mon Sep 17 00:00:00 2001 From: Radomir Dopieralski Date: Mon, 14 Nov 2022 12:18:23 +0100 Subject: Attach video even if the exception happens in cleanup The way we were handling attaching video in integration tests, it would not attach it if the error happened in a cleanup, not in the main body of the test. This should fix that. Change-Id: I356e6849892ed87b2827740e265fcf15fc076cb5 --- openstack_dashboard/test/integration_tests/helpers.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/openstack_dashboard/test/integration_tests/helpers.py b/openstack_dashboard/test/integration_tests/helpers.py index f3941f259..0e2ef5fde 100644 --- a/openstack_dashboard/test/integration_tests/helpers.py +++ b/openstack_dashboard/test/integration_tests/helpers.py @@ -149,15 +149,20 @@ class BaseTestCase(testtools.TestCase): self.video_recorder = VideoRecorder(width, height, display=display) self.video_recorder.start() - self.addOnException( - lambda exc_info: setattr(self, '_need_attach_video', True)) + def attach_video(exc_info): + if getattr(self, '_attached_video', None): + return + self.video_recorder.stop() + self._attach_video() + setattr(self, '_attached_video', True) + + self.addOnException(attach_video) def cleanup(): + if getattr(self, '_attached_video', None): + return self.video_recorder.stop() - if getattr(self, '_need_attach_video', None): - self._attach_video() - else: - self.video_recorder.clear() + self.video_recorder.clear() self.addCleanup(cleanup) -- cgit v1.2.1