[OE-core] [PATCH] lib/oeqa/selftest/base, scripts/oe-selftest: fix wrong remove path and do a complete cleanup at the end

Stefan Stanacar stefanx.stanacar at intel.com
Wed Dec 4 11:42:58 UTC 2013


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 at intel.com>
---
 meta/lib/oeqa/selftest/base.py |  2 +-
 scripts/oe-selftest            | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

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)
-- 
1.8.3.1




More information about the Openembedded-core mailing list