Patchwork [1/2] oe-selftest: optimize code in _sstatetests_noauto.py module

login
register
mail settings
Submitter Corneliu Stoicescu
Date March 6, 2014, 4:35 p.m.
Message ID <1394123756-25130-1-git-send-email-corneliux.stoicescu@intel.com>
Download mbox | patch
Permalink /patch/68111/
State New
Headers show

Comments

Corneliu Stoicescu - March 6, 2014, 4:35 p.m.
1) Some of the checks made when creating new directories are unnecessary beacause
the test will fail anyway if os.mkdir() fails, with the appropriate error message.

Removing this code.

2) Moved the adding to tracked paths for deletion of temporary build directories
and sstate-cache directories to after they are created. This makes more sense
and prevents deletion of these directories if they allready exist and may contain
useful data.

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
---
 meta/lib/oeqa/selftest/_sstatetests_noauto.py | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)

Patch

diff --git a/meta/lib/oeqa/selftest/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/_sstatetests_noauto.py
index 5253334..97366d9 100644
--- a/meta/lib/oeqa/selftest/_sstatetests_noauto.py
+++ b/meta/lib/oeqa/selftest/_sstatetests_noauto.py
@@ -24,23 +24,15 @@  class RebuildFromSState(SStateBase):
         return found_targets
 
     def configure_builddir(self, builddir):
-        if os.path.exists(builddir):
-            raise AssertionError("Cannot create build directory at %s: Path allready exists!" % builddir)
-        try:
-            os.mkdir(builddir)
-        except:
-            raise AssertionError("Cannot create %s . Make sure %s exists!" % (dst, os.path.dirname(dst)))
+        os.mkdir(builddir)
+        self.track_for_cleanup(builddir)
         os.mkdir(os.path.join(builddir, 'conf'))
         shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/local.conf'), os.path.join(builddir, 'conf/local.conf'))
         shutil.copyfile(os.path.join(os.environ.get('BUILDDIR'), 'conf/bblayers.conf'), os.path.join(builddir, 'conf/bblayers.conf'))
 
     def hardlink_tree(self, src, dst):
-        if os.path.exists(dst):
-            raise AssertionError("Cannot create directory at %s: Path allready exists!" % dst)
-        try:
-            os.mkdir(dst)
-        except:
-            raise AssertionError("Cannot create %s . Make sure %s exists!" % (dst, os.path.dirname(dst)))
+        os.mkdir(dst)
+        self.track_for_cleanup(dst)
         for root, dirs, files in os.walk(src):
             if root == src:
                 continue
@@ -54,9 +46,6 @@  class RebuildFromSState(SStateBase):
             buildB = os.path.join(self.builddir, 'buildB')
         else:
             buildB = buildA
-        self.track_for_cleanup(buildA)
-        self.track_for_cleanup(buildB)
-        self.track_for_cleanup(os.path.join(self.builddir, 'sstate-cache-buildA'))
 
         if rebuild_dependencies:
             rebuild_targets = self.get_dep_targets(primary_targets)