wic: debug mode to keep tmp directory

files in wic tmp directory can be usefull for debugging, so do not remove
tmp directory when wic create run with debugging mode (-D or --debug).

also update wic.Wic.test_debug_short and wic.Wic.test_debug_long to
check for tmp directory.

[YOCTO#14216]

(From OE-Core rev: a122e2418b67d38f691edcf8dd846c167d6b4fa9)

Signed-off-by: Lee Chee Yang <Chee.Yang.Lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Lee Chee Yang 2021-02-08 09:22:55 +08:00 committed by Richard Purdie
parent 7747c98bf2
commit 34ea1433fc
2 changed files with 6 additions and 2 deletions

View File

@ -318,6 +318,7 @@ class Wic(WicTestCase):
"--image-name=core-image-minimal "
"-D -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
self.assertEqual(1, len(glob(self.resultdir + "tmp.wic*")))
def test_debug_long(self):
"""Test --debug option"""
@ -325,6 +326,7 @@ class Wic(WicTestCase):
"--image-name=core-image-minimal "
"--debug -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
self.assertEqual(1, len(glob(self.resultdir + "tmp.wic*")))
def test_skip_build_check_short(self):
"""Test -s option"""

View File

@ -54,6 +54,7 @@ class DirectPlugin(ImagerPlugin):
self.native_sysroot = native_sysroot
self.oe_builddir = oe_builddir
self.debug = options.debug
self.outdir = options.outdir
self.compressor = options.compressor
self.bmap = options.bmap
@ -274,8 +275,9 @@ class DirectPlugin(ImagerPlugin):
if os.path.isfile(path):
shutil.move(path, os.path.join(self.outdir, fname))
# remove work directory
shutil.rmtree(self.workdir, ignore_errors=True)
# remove work directory when it is not in debugging mode
if not self.debug:
shutil.rmtree(self.workdir, ignore_errors=True)
# Overhead of the MBR partitioning scheme (just one sector)
MBR_OVERHEAD = 1