Patchwork lib/oeqa/selftest/base, scripts/oe-selftest: fix wrong remove path and do a complete cleanup at the end

login
register
mail settings
Submitter Stanacar, StefanX
Date Dec. 4, 2013, 11:42 a.m.
Message ID <1386157378-22214-1-git-send-email-stefanx.stanacar@intel.com>
Download mbox | patch
Permalink /patch/62797/
State Accepted
Commit f17a6937ab50452834dc85fab4e9712576e0c840
Headers show

Comments

Stanacar, StefanX - Dec. 4, 2013, 11:42 a.m.
The script should clean-up all the .inc files that might
have been created by tests regardless of the outcome or if
the script is interrupted. (currently the
last test will leave a conf/selftest.inc around, even
if it's not included anywhere)
Also fix delete_recipeinc to actually delete what's supposed to.

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
---
 meta/lib/oeqa/selftest/base.py |  2 +-
 scripts/oe-selftest            | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

Patch

diff --git a/meta/lib/oeqa/selftest/base.py b/meta/lib/oeqa/selftest/base.py
index 30a71e8..c3474a3 100644
--- a/meta/lib/oeqa/selftest/base.py
+++ b/meta/lib/oeqa/selftest/base.py
@@ -92,7 +92,7 @@  class oeSelfTest(unittest.TestCase):
         inc_file = os.path.join(self.testlayer_path, 'recipes-test', recipe, 'test_recipe.inc')
         self.log.debug("Deleting file: %s" % inc_file)
         try:
-            os.remove(self.testinc_path)
+            os.remove(inc_file)
         except OSError as e:
             if e.errno != errno.ENOENT:
                 raise
diff --git a/scripts/oe-selftest b/scripts/oe-selftest
index db42e73..29fe010 100755
--- a/scripts/oe-selftest
+++ b/scripts/oe-selftest
@@ -97,6 +97,17 @@  def remove_include():
             ftools.remove_from_file(os.path.join(builddir, "conf/local.conf"), \
                     "#include added by oe-selftest.py\ninclude selftest.inc")
 
+
+def remove_inc_files():
+    try:
+        os.remove(os.path.join(os.environ.get("BUILDDIR"), "conf/selftest.inc"))
+        for root, _, files in os.walk(get_test_layer()):
+            for f in files:
+                if f == 'test_recipe.inc':
+                    os.remove(os.path.join(root, f))
+    except OSError as e:
+        pass
+
 def get_tests():
     testslist = []
     for x in sys.argv[1:]:
@@ -145,4 +156,5 @@  if __name__ == "__main__":
         traceback.print_exc(5)
     finally:
         remove_include()
+        remove_inc_files()
     sys.exit(ret)