aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>2016-12-16 21:46:18 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-22 08:46:37 +0000
commitb4d52c3f1e0ad2c14028ff08c0938d1b24b7f648 (patch)
tree937092ac6d626496c19fa1e854aa34c6e1b1298c
parentf290a2c9b946e00dbc451592691596c656d49042 (diff)
downloadopenembedded-core-contrib-b4d52c3f1e0ad2c14028ff08c0938d1b24b7f648.tar.gz
selftest/wic: extending test coverage for WIC script options
The previous WIC script selftest didn't cover all of its command line options. Some option variants were included in existing test cases and the following tests were added to complete covering them: 1552 Test wic --version 1553 Test wic help create 1554 Test wic help list 1555 Test wic list images 1556 Test wic list source-plugins 1557 Test wic listed images help 1558 Test debug 1563 Test skip build check 1564 Test build rootfs 1559 Test image vars directory selection 1562 Test alternate output directory Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/lib/oeqa/selftest/wic.py142
1 files changed, 128 insertions, 14 deletions
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 52b9538a68..3db00a6bb2 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -37,7 +37,9 @@ class Wic(oeSelfTest):
"""Wic test class."""
resultdir = "/var/tmp/wic/build/"
+ alternate_resultdir = "/var/tmp/wic/build/alt/"
image_is_ready = False
+ wicenv_cache = {}
def setUpLocal(self):
"""This code is executed before each test method."""
@@ -56,10 +58,16 @@ class Wic(oeSelfTest):
rmtree(self.resultdir, ignore_errors=True)
+ @testcase(1552)
+ def test_version(self):
+ """Test wic --version"""
+ self.assertEqual(0, runCmd('wic --version').status)
+
@testcase(1208)
def test_help(self):
- """Test wic --help"""
+ """Test wic --help and wic -h"""
self.assertEqual(0, runCmd('wic --help').status)
+ self.assertEqual(0, runCmd('wic -h').status)
@testcase(1209)
def test_createhelp(self):
@@ -71,6 +79,16 @@ class Wic(oeSelfTest):
"""Test wic list --help"""
self.assertEqual(0, runCmd('wic list --help').status)
+ @testcase(1553)
+ def test_help_create(self):
+ """Test wic help create"""
+ self.assertEqual(0, runCmd('wic help create').status)
+
+ @testcase(1554)
+ def test_help_list(self):
+ """Test wic help list"""
+ self.assertEqual(0, runCmd('wic help list').status)
+
@testcase(1215)
def test_help_overview(self):
"""Test wic help overview"""
@@ -86,6 +104,24 @@ class Wic(oeSelfTest):
"""Test wic help kickstart"""
self.assertEqual(0, runCmd('wic help kickstart').status)
+ @testcase(1555)
+ def test_list_images(self):
+ """Test wic list images"""
+ self.assertEqual(0, runCmd('wic list images').status)
+
+ @testcase(1556)
+ def test_list_source_plugins(self):
+ """Test wic list source-plugins"""
+ self.assertEqual(0, runCmd('wic list source-plugins').status)
+
+ @testcase(1557)
+ def test_listed_images_help(self):
+ """Test wic listed images help"""
+ output = runCmd('wic list images').output
+ imagelist = [line.split()[0] for line in output.splitlines()]
+ for image in imagelist:
+ self.assertEqual(0, runCmd('wic list %s help' % image).status)
+
@testcase(1213)
def test_unsupported_subcommand(self):
"""Test unsupported subcommand"""
@@ -99,8 +135,8 @@ class Wic(oeSelfTest):
@testcase(1211)
def test_build_image_name(self):
- """Test wic create directdisk --image-name core-image-minimal"""
- cmd = "wic create directdisk --image-name core-image-minimal"
+ """Test wic create directdisk --image-name=core-image-minimal"""
+ cmd = "wic create directdisk --image-name=core-image-minimal"
self.assertEqual(0, runCmd(cmd).status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
@@ -162,6 +198,22 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd(cmd).status)
self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
+ @testcase(1562)
+ def test_alternate_output_dir(self):
+ """Test alternate output directory"""
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "-e core-image-minimal "
+ "-o %s"
+ % self.alternate_resultdir).status)
+ self.assertEqual(1, len(glob(self.alternate_resultdir +
+ "build/directdisk-*.direct")))
+ self.assertEqual(0, runCmd("wic create mkefidisk -e "
+ "core-image-minimal "
+ "--outdir=%s"
+ % self.alternate_resultdir).status)
+ self.assertEqual(1, len(glob(self.alternate_resultdir +
+ "build/mkefidisk-*direct")))
+
@testcase(1212)
def test_build_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
@@ -188,7 +240,7 @@ class Wic(oeSelfTest):
def test_compress_bzip2(self):
"""Test compressing an image with bzip2"""
self.assertEqual(0, runCmd("wic create directdisk "
- "--image-name core-image-minimal "
+ "--image-name=core-image-minimal "
"-c bzip2").status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.bz2")))
@@ -196,22 +248,58 @@ class Wic(oeSelfTest):
def test_compress_xz(self):
"""Test compressing an image with xz"""
self.assertEqual(0, runCmd("wic create directdisk "
- "--image-name core-image-minimal "
- "-c xz").status)
+ "--image-name=core-image-minimal "
+ "--compress-with=xz").status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.xz")))
@testcase(1267)
def test_wrong_compressor(self):
"""Test how wic breaks if wrong compressor is provided"""
self.assertEqual(2, runCmd("wic create directdisk "
- "--image-name core-image-minimal "
+ "--image-name=core-image-minimal "
"-c wrong", ignore_status=True).status)
+ @testcase(1558)
+ def test_debug(self):
+ """Test debug"""
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=core-image-minimal "
+ "-D").status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=core-image-minimal "
+ "--debug").status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+
+ @testcase(1563)
+ def test_skip_build_check(self):
+ """Test skip build check"""
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=core-image-minimal "
+ "-s").status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=core-image-minimal "
+ "--skip-build-check").status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+
+ @testcase(1564)
+ def test_build_rootfs(self):
+ """Test build rootfs"""
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=core-image-minimal "
+ "-f").status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=core-image-minimal "
+ "--build-rootfs").status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+
@testcase(1268)
def test_rootfs_indirect_recipes(self):
"""Test usage of rootfs plugin with rootfs recipes"""
status = runCmd("wic create directdisk-multi-rootfs "
- "--image-name core-image-minimal "
+ "--image-name=core-image-minimal "
"--rootfs rootfs1=core-image-minimal "
"--rootfs rootfs2=core-image-minimal").status
self.assertEqual(0, status)
@@ -225,9 +313,9 @@ class Wic(oeSelfTest):
'STAGING_DIR_NATIVE', 'IMAGE_ROOTFS'))
bbvars['wks'] = "directdisk-multi-rootfs"
status = runCmd("wic create %(wks)s "
- "-b %(staging_datadir)s "
- "-k %(deploy_dir_image)s "
- "-n %(staging_dir_native)s "
+ "--bootimg-dir=%(staging_datadir)s "
+ "--kernel-dir=%(deploy_dir_image)s "
+ "--native-sysroot=%(staging_dir_native)s "
"--rootfs-dir rootfs1=%(image_rootfs)s "
"--rootfs-dir rootfs2=%(image_rootfs)s"
% bbvars).status
@@ -237,19 +325,30 @@ class Wic(oeSelfTest):
@testcase(1496)
def test_bmap(self):
"""Test generation of .bmap file"""
+ cmd = "wic create directdisk -e core-image-minimal -m"
+ status = runCmd(cmd).status
+ self.assertEqual(0, status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct")))
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct.bmap")))
cmd = "wic create directdisk -e core-image-minimal --bmap"
status = runCmd(cmd).status
self.assertEqual(0, status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct")))
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct.bmap")))
+ def _get_image_env_path(self, image):
+ """Generate and obtain the path to <image>.env"""
+ if image not in self.wicenv_cache:
+ self.assertEqual(0, bitbake('%s -c do_rootfs_wicenv' % image).status)
+ stdir = get_bb_var('STAGING_DIR_TARGET', image)
+ self.wicenv_cache[image] = os.path.join(stdir, 'imgdata')
+ return self.wicenv_cache[image]
+
@testcase(1347)
def test_image_env(self):
"""Test generation of <image>.env files."""
image = 'core-image-minimal'
- self.assertEqual(0, bitbake('%s -c do_rootfs_wicenv' % image).status)
- stdir = get_bb_var('STAGING_DIR_TARGET', image)
- imgdatadir = os.path.join(stdir, 'imgdata')
+ imgdatadir = self._get_image_env_path(image)
basename = get_bb_var('IMAGE_BASENAME', image)
self.assertEqual(basename, image)
@@ -267,6 +366,21 @@ class Wic(oeSelfTest):
self.assertTrue(var in content, "%s is not in .env file" % var)
self.assertTrue(content[var])
+ @testcase(1559)
+ def test_image_vars_dir(self):
+ """Test image vars directory selection"""
+ image = 'core-image-minimal'
+ imgenvdir = self._get_image_env_path(image)
+
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=%s "
+ "-v %s"
+ % (image, imgenvdir)).status)
+ self.assertEqual(0, runCmd("wic create directdisk "
+ "--image-name=%s "
+ "--vars %s"
+ % (image, imgenvdir)).status)
+
@testcase(1351)
def test_wic_image_type(self):
"""Test building wic images by bitbake"""