From 7e99a3b5fd8a50524148fed80248e41dc25ff2e3 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Wed, 23 Sep 2020 16:53:19 +0200 Subject: [PATCH] pyln: Allow the base test directory to contain some files We were not removing the base test directory if we had other files in there, which was the case for postgres runs. This now explicitly check for `test_*` directories which are an indicator of a failed test. --- contrib/pyln-testing/pyln/testing/fixtures.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/contrib/pyln-testing/pyln/testing/fixtures.py b/contrib/pyln-testing/pyln/testing/fixtures.py index 40fee2cf2..659ed310f 100644 --- a/contrib/pyln-testing/pyln/testing/fixtures.py +++ b/contrib/pyln-testing/pyln/testing/fixtures.py @@ -26,8 +26,16 @@ def test_base_dir(): yield directory - if os.listdir(directory) == []: + # Now check if any test directory is left because the corresponding test + # failed. If there are no such tests we can clean up the root test + # directory. + contents = [d for d in os.listdir(directory) if os.path.isdir(d) and d.startswith('test_')] + if contents == []: shutil.rmtree(directory) + else: + print("Leaving base_dir {} intact, it still has test sub-directories with failure details: {}".format( + directory, contents + )) @pytest.fixture(autouse=True)