From e14f34741cc99d0b1f8b8575eb44bf36541f35fa Mon Sep 17 00:00:00 2001
From: lukas leufen <l.leufen@fz-juelich.de>
Date: Mon, 9 Dec 2019 12:08:12 +0100
Subject: [PATCH] modified pytest_runtest_teardown

---
 conftest.py | 43 +++++++++----------------------------------
 1 file changed, 9 insertions(+), 34 deletions(-)

diff --git a/conftest.py b/conftest.py
index d8205ae4..7f6d2911 100644
--- a/conftest.py
+++ b/conftest.py
@@ -1,38 +1,13 @@
 import os
 import shutil
-import py
 
-import pytest
 
-
-@pytest.fixture(scope='class')
-def teardown_module(pytestconfig):
-    yield
-    # dirname can be found at pytestconfig._assertstate.hook.session._initialparts[0][0].dirname but it is not clear for
-    # me, if there can be more than 1 entry in each of the lists. Therefore just loop over all elements will definitely
-    # catch all dirnames.
-    d = pytestconfig._assertstate.hook.session._initialparts
-    f = open("testfile.log", "a+")
-    print(f"pytestconfig._assertstate.hook.session._initialparts {pytestconfig._assertstate.hook.session._initialparts}")
-    print(f"pytestconfig._assertstate.hook.session._initialpaths {pytestconfig._assertstate.hook.session._initialpaths}")
-    f.write(f"pytestconfig._assertstate.hook.session._initialparts {pytestconfig._assertstate.hook.session._initialparts}\n")
-    f.write(f"pytestconfig._assertstate.hook.session._initialpaths {pytestconfig._assertstate.hook.session._initialpaths}\n")
-    f.write(f"pytestconfig.invocation_params.dir {pytestconfig.invocation_params.dir}\n")
-    f.write(f"pytestconfig.invocation_dir {pytestconfig.invocation_dir}\n")
-    f.write(f"list(pytestconfig._assertstate.hook.session._bestrelpathcache.keys())[0].dirname {list(pytestconfig._assertstate.hook.session._bestrelpathcache.keys())[0].dirname}\n")
-    f.write(f"list(pytestconfig._assertstate.hook.session._bestrelpathcache.keys())[0].strpath {list(pytestconfig._assertstate.hook.session._bestrelpathcache.keys())[0].strpath}\n")
-    for di in d:
-        print(f"di: {type(di)}: {di}")
-        for dii in di:
-            print(f"dii: {type(dii)}: {dii}")
-            f.write(f"di: {type(di)}: {di}\n")
-            f.write(f"\tdii: {type(dii)}: {dii}\n")
-            if isinstance(dii, py._path.local.LocalPath):
-                print("is localpath")
-                f.write(f"\t\t{os.listdir(dii.strpath)}\n")
-                if "data" in os.listdir(dii.strpath):
-                    print("found data")
-                    f.write(f"\t\tfound data\n")
-                    shutil.rmtree(os.path.join(dii.strpath, "data"), ignore_errors=True)
-            f.write("#############\n\n")
-    f.close()
+def pytest_runtest_teardown(item, nextitem):
+    if nextitem is None or item.cls != nextitem.cls:
+        print(f"\nnew class: {item.cls} -> {nextitem.cls if nextitem else None}")
+        print(f"\n{nextitem.fspath.dirname}")
+        if "data" in os.listdir(item.fspath.dirname):
+            print("found data")
+            shutil.rmtree(os.path.join(item.fspath.dirname, "data"), ignore_errors=True)
+    else:
+        print(f"\nsame class: {item.cls} == {nextitem.cls}")
-- 
GitLab