From 457e2d9812e4514ddea59d67a72a02820e82d65f Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 8 Nov 2021 13:11:43 -0800 Subject: unittests: use UnitTest.addCleanup a bit --- unittests/allplatformstests.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py index ea5ab8e..d0a1632 100644 --- a/unittests/allplatformstests.py +++ b/unittests/allplatformstests.py @@ -1499,19 +1499,22 @@ class AllPlatformTests(BasePlatformTests): else: shlibfile = os.path.join(tdir, 'libalexandria.' + shared_suffix) self.build_shared_lib(cc, source, objectfile, shlibfile, impfile) - # Run the test - try: - self.init(tdir) - self.build() - self.run_tests() - finally: - os.unlink(shlibfile) - if is_windows(): - # Clean up all the garbage MSVC writes in the - # source tree. + + if is_windows(): + def cleanup() -> None: + """Clean up all the garbage MSVC writes in the source tree.""" + for fname in glob(os.path.join(tdir, 'alexandria.*')): - if os.path.splitext(fname)[1] not in ['.c', '.h']: + if os.path.splitext(fname)[1] not in {'.c', '.h'}: os.unlink(fname) + self.addCleanup(cleanup) + else: + self.addCleanup(os.unlink, shlibfile) + + # Run the test + self.init(tdir) + self.build() + self.run_tests() @skipIfNoPkgconfig def test_pkgconfig_static(self): -- cgit v1.1