]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/buildproject: Ensure temp directories are cleaned up
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 25 Sep 2021 15:14:47 +0000 (16:14 +0100)
committerAnuj Mittal <anuj.mittal@intel.com>
Wed, 29 Sep 2021 08:22:10 +0000 (16:22 +0800)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d10aff865120a5feecc42c24726bd119364e0188)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta/lib/oeqa/utils/buildproject.py
meta/lib/oeqa/utils/targetbuild.py

index e6d80cc8dc1c25480063d03b37a6e739ac731f14..dfb96618680d47ac10ae22fa1a4e2a99a542ddb3 100644 (file)
@@ -18,6 +18,7 @@ class BuildProject(metaclass=ABCMeta):
     def __init__(self, uri, foldername=None, tmpdir=None, dl_dir=None):
         self.uri = uri
         self.archive = os.path.basename(uri)
+        self.tempdirobj = None
         if not tmpdir:
             self.tempdirobj = tempfile.TemporaryDirectory(prefix='buildproject-')
             tmpdir = self.tempdirobj.name
@@ -57,6 +58,8 @@ class BuildProject(metaclass=ABCMeta):
         return self._run('cd %s; make install %s' % (self.targetdir, install_args))
 
     def clean(self):
+        if self.tempdirobj:
+            self.tempdirobj.cleanup()
         if not self.needclean:
              return
         self._run('rm -rf %s' % self.targetdir)
index 1055810ca33ede0301af3e1140552bb7f5d9bf9c..09738add1d92f105e3f45148ee9d51fa18d6b55c 100644 (file)
@@ -19,6 +19,7 @@ class BuildProject(metaclass=ABCMeta):
         self.d = d
         self.uri = uri
         self.archive = os.path.basename(uri)
+        self.tempdirobj = None
         if not tmpdir:
             tmpdir = self.d.getVar('WORKDIR')
             if not tmpdir:
@@ -71,9 +72,10 @@ class BuildProject(metaclass=ABCMeta):
         return self._run('cd %s; make install %s' % (self.targetdir, install_args))
 
     def clean(self):
+        if self.tempdirobj:
+            self.tempdirobj.cleanup()
         self._run('rm -rf %s' % self.targetdir)
         subprocess.check_call('rm -f %s' % self.localarchive, shell=True)
-        pass
 
 class TargetBuildProject(BuildProject):