* [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options
@ 2016-12-19 21:07 Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 1/4] selftest/wic: adding Testopia ID numbers to test cases missing it Jair Gonzalez
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Jair Gonzalez @ 2016-12-19 21:07 UTC (permalink / raw)
To: openembedded-core
Changed in V2:
The original patch was splitted and updated according to the discussion on:
http://lists.openembedded.org/pipermail/openembedded-core/2016-December/130131.html
NOTE: The WKS_FILE entry deletion was ommitted from this patch set as it
was introduced on the first patch by mistake.
The following changes since commit 573c646d4cc62dcd0c230381df4940bdf314d495:
bitbake: BBHandler: use with instead of open/close (2016-12-16 10:23:24 +0000)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib jairglez/wictest
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jairglez/wictest
Jair Gonzalez (4):
selftest/wic: adding Testopia ID numbers to test cases missing it
selftest/wic: code cleanup
selftest/wic: reorganizing test methods by functionality
selftest/wic: extending test coverage for WIC script options
meta/lib/oeqa/selftest/wic.py | 370 +++++++++++++++++++++++++++---------------
1 file changed, 238 insertions(+), 132 deletions(-)
--
2.7.4
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/4] selftest/wic: adding Testopia ID numbers to test cases missing it
2016-12-19 21:07 [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
@ 2016-12-19 21:07 ` Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 2/4] selftest/wic: code cleanup Jair Gonzalez
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jair Gonzalez @ 2016-12-19 21:07 UTC (permalink / raw)
To: openembedded-core
The following test cases were assigned an ID number on Testopia:
1496 Test generation of .bmap file
1560 Test creation of systemd-bootdisk image
1561 Test creation of sdimage-bootpart image
Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
---
meta/lib/oeqa/selftest/wic.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index e652fad..8c7aefa 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -278,6 +278,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (command, output))
self.assertEqual(output, '/dev/root /\r\n/dev/vda3 /mnt')
+ @testcase(1496)
def test_bmap(self):
"""Test generation of .bmap file"""
image = "directdisk"
@@ -286,6 +287,7 @@ class Wic(oeSelfTest):
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct.bmap" % image)))
+ @testcase(1560)
def test_systemd_bootdisk(self):
"""Test creation of systemd-bootdisk image"""
image = "systemd-bootdisk"
@@ -293,6 +295,7 @@ class Wic(oeSelfTest):
% image).status)
self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ @testcase(1561)
def test_sdimage_bootpart(self):
"""Test creation of sdimage-bootpart image"""
image = "sdimage-bootpart"
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/4] selftest/wic: code cleanup
2016-12-19 21:07 [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 1/4] selftest/wic: adding Testopia ID numbers to test cases missing it Jair Gonzalez
@ 2016-12-19 21:07 ` Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 3/4] selftest/wic: reorganizing test methods by functionality Jair Gonzalez
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jair Gonzalez @ 2016-12-19 21:07 UTC (permalink / raw)
To: openembedded-core
The following changes were added to improve the code readability:
- Removed redundant backlashes between brackets
- Aligned continuation lines according to PEP8 style
- Refactored command execution in the next methods for enhanced
legibility:
- test_build_image_name(self)
- test_gpt_image(self)
- test_qemux86_directdisk(self)
- test_rootfs_indirect_recipes(self)
- test_iso_image(self)
- test_mkgummidisk(self)
- test_mkefidisk(self)
- test_directdisk_bootloader_config(self)
- test_qemu(self)
- test_bmap(self)
- test_systemd_bootdisk(self)
- test_sdimage_bootpart(self)
Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
---
meta/lib/oeqa/selftest/wic.py | 107 +++++++++++++++++++-----------------------
1 file changed, 48 insertions(+), 59 deletions(-)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 8c7aefa..d130ba2 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -74,16 +74,16 @@ class Wic(oeSelfTest):
@testcase(1211)
def test_build_image_name(self):
"""Test wic create directdisk --image-name core-image-minimal"""
- self.assertEqual(0, runCmd("wic create directdisk "
- "--image-name core-image-minimal").status)
+ cmd = "wic create directdisk --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
@testcase(1212)
def test_build_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
- bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) \
- for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE',
- 'STAGING_DIR_NATIVE', 'IMAGE_ROOTFS'))
+ bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal'))
+ for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE',
+ 'STAGING_DIR_NATIVE', 'IMAGE_ROOTFS'))
status = runCmd("wic create directdisk "
"-b %(staging_datadir)s "
"-k %(deploy_dir_image)s "
@@ -95,8 +95,8 @@ class Wic(oeSelfTest):
@testcase(1157)
def test_gpt_image(self):
"""Test creation of core-image-minimal with gpt table and UUID boot"""
- self.assertEqual(0, runCmd("wic create directdisk-gpt "
- "--image-name core-image-minimal").status)
+ cmd = "wic create directdisk-gpt --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
@testcase(1213)
@@ -131,8 +131,7 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd("wic create directdisk "
"--image-name core-image-minimal "
"-c gzip").status)
- self.assertEqual(1, len(glob(self.resultdir + \
- "directdisk-*.direct.gz")))
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.gz")))
@testcase(1265)
def test_compress_bzip2(self):
@@ -140,8 +139,7 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd("wic create directdisk "
"--image-name core-image-minimal "
"-c bzip2").status)
- self.assertEqual(1, len(glob(self.resultdir + \
- "directdisk-*.direct.bz2")))
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.bz2")))
@testcase(1266)
def test_compress_xz(self):
@@ -149,8 +147,7 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd("wic create directdisk "
"--image-name core-image-minimal "
"-c xz").status)
- self.assertEqual(1, len(glob(self.resultdir + \
- "directdisk-*.direct.xz")))
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct.xz")))
@testcase(1267)
def test_wrong_compressor(self):
@@ -162,37 +159,35 @@ class Wic(oeSelfTest):
@testcase(1268)
def test_rootfs_indirect_recipes(self):
"""Test usage of rootfs plugin with rootfs recipes"""
- wks = "directdisk-multi-rootfs"
- self.assertEqual(0, runCmd("wic create %s "
- "--image-name core-image-minimal "
- "--rootfs rootfs1=core-image-minimal "
- "--rootfs rootfs2=core-image-minimal" \
- % wks).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s*.direct" % wks)))
+ status = runCmd("wic create directdisk-multi-rootfs "
+ "--image-name core-image-minimal "
+ "--rootfs rootfs1=core-image-minimal "
+ "--rootfs rootfs2=core-image-minimal").status
+ self.assertEqual(0, status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct")))
@testcase(1269)
def test_rootfs_artifacts(self):
"""Test usage of rootfs plugin with rootfs paths"""
- bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal')) \
- for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE',
- 'STAGING_DIR_NATIVE', 'IMAGE_ROOTFS'))
+ bbvars = dict((var.lower(), get_bb_var(var, 'core-image-minimal'))
+ for var in ('STAGING_DATADIR', 'DEPLOY_DIR_IMAGE',
+ '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 "
"--rootfs-dir rootfs1=%(image_rootfs)s "
- "--rootfs-dir rootfs2=%(image_rootfs)s" \
+ "--rootfs-dir rootfs2=%(image_rootfs)s"
% bbvars).status
self.assertEqual(0, status)
- self.assertEqual(1, len(glob(self.resultdir + \
- "%(wks)s-*.direct" % bbvars)))
+ self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars)))
@testcase(1346)
def test_iso_image(self):
"""Test creation of hybrid iso image with legacy and EFI boot"""
- self.assertEqual(0, runCmd("wic create mkhybridiso "
- "--image-name core-image-minimal").status)
+ cmd = "wic create mkhybridiso --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct")))
self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso")))
@@ -238,34 +233,30 @@ class Wic(oeSelfTest):
@testcase(1348)
def test_qemux86_directdisk(self):
"""Test creation of qemux-86-directdisk image"""
- image = "qemux86-directdisk"
- self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
- % image).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ cmd = "wic create qemux86-directdisk -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct")))
@testcase(1349)
def test_mkgummidisk(self):
"""Test creation of mkgummidisk image"""
- image = "mkgummidisk"
- self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
- % image).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ cmd = "wic create mkgummidisk --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "mkgummidisk-*direct")))
@testcase(1350)
def test_mkefidisk(self):
"""Test creation of mkefidisk image"""
- image = "mkefidisk"
- self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
- % image).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ cmd = "wic create mkefidisk -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct")))
@testcase(1385)
def test_directdisk_bootloader_config(self):
"""Test creation of directdisk-bootloader-config image"""
- image = "directdisk-bootloader-config"
- self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
- % image).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ cmd = "wic create directdisk-bootloader-config -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct")))
@testcase(1422)
def test_qemu(self):
@@ -273,33 +264,31 @@ class Wic(oeSelfTest):
self.assertEqual(0, bitbake('wic-image-minimal').status)
with runqemu('wic-image-minimal', ssh=False) as qemu:
- command = "mount |grep '^/dev/' | cut -f1,3 -d ' '"
- status, output = qemu.run_serial(command)
- self.assertEqual(1, status, 'Failed to run command "%s": %s' % (command, output))
+ cmd = "mount |grep '^/dev/' | cut -f1,3 -d ' '"
+ status, output = qemu.run_serial(cmd)
+ self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
self.assertEqual(output, '/dev/root /\r\n/dev/vda3 /mnt')
@testcase(1496)
def test_bmap(self):
"""Test generation of .bmap file"""
- image = "directdisk"
- status = runCmd("wic create %s -e core-image-minimal --bmap" % image).status
+ cmd = "wic create directdisk -e core-image-minimal --bmap"
+ status = runCmd(cmd).status
self.assertEqual(0, status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct.bmap" % image)))
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct")))
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*direct.bmap")))
@testcase(1560)
def test_systemd_bootdisk(self):
"""Test creation of systemd-bootdisk image"""
- image = "systemd-bootdisk"
- self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
- % image).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ cmd = "wic create systemd-bootdisk -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct")))
@testcase(1561)
def test_sdimage_bootpart(self):
"""Test creation of sdimage-bootpart image"""
- image = "sdimage-bootpart"
+ cmd = "wic create sdimage-bootpart -e core-image-minimal"
self.write_config('IMAGE_BOOT_FILES = "bzImage"\n')
- self.assertEqual(0, runCmd("wic create %s -e core-image-minimal" \
- % image).status)
- self.assertEqual(1, len(glob(self.resultdir + "%s-*direct" % image)))
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/4] selftest/wic: reorganizing test methods by functionality
2016-12-19 21:07 [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 1/4] selftest/wic: adding Testopia ID numbers to test cases missing it Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 2/4] selftest/wic: code cleanup Jair Gonzalez
@ 2016-12-19 21:07 ` Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 4/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
2016-12-20 13:06 ` [PATCH v2 0/4] " Ed Bartosh
4 siblings, 0 replies; 8+ messages in thread
From: Jair Gonzalez @ 2016-12-19 21:07 UTC (permalink / raw)
To: openembedded-core
Part of the test methods were rearranged to group them by
functionality and identify more easily opportunities to extend
coverage.
Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
---
meta/lib/oeqa/selftest/wic.py | 184 +++++++++++++++++++++---------------------
1 file changed, 92 insertions(+), 92 deletions(-)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index d130ba2..52b9538 100644
--- a/meta/lib/oeqa/selftest/wic.py
+++ b/meta/lib/oeqa/selftest/wic.py
@@ -71,6 +71,32 @@ class Wic(oeSelfTest):
"""Test wic list --help"""
self.assertEqual(0, runCmd('wic list --help').status)
+ @testcase(1215)
+ def test_help_overview(self):
+ """Test wic help overview"""
+ self.assertEqual(0, runCmd('wic help overview').status)
+
+ @testcase(1216)
+ def test_help_plugins(self):
+ """Test wic help plugins"""
+ self.assertEqual(0, runCmd('wic help plugins').status)
+
+ @testcase(1217)
+ def test_help_kickstart(self):
+ """Test wic help kickstart"""
+ self.assertEqual(0, runCmd('wic help kickstart').status)
+
+ @testcase(1213)
+ def test_unsupported_subcommand(self):
+ """Test unsupported subcommand"""
+ self.assertEqual(1, runCmd('wic unsupported',
+ ignore_status=True).status)
+
+ @testcase(1214)
+ def test_no_command(self):
+ """Test wic without command"""
+ self.assertEqual(1, runCmd('wic', ignore_status=True).status)
+
@testcase(1211)
def test_build_image_name(self):
"""Test wic create directdisk --image-name core-image-minimal"""
@@ -78,6 +104,64 @@ class Wic(oeSelfTest):
self.assertEqual(0, runCmd(cmd).status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+ @testcase(1157)
+ def test_gpt_image(self):
+ """Test creation of core-image-minimal with gpt table and UUID boot"""
+ cmd = "wic create directdisk-gpt --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
+
+ @testcase(1346)
+ def test_iso_image(self):
+ """Test creation of hybrid iso image with legacy and EFI boot"""
+ cmd = "wic create mkhybridiso --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct")))
+ self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso")))
+
+ @testcase(1348)
+ def test_qemux86_directdisk(self):
+ """Test creation of qemux-86-directdisk image"""
+ cmd = "wic create qemux86-directdisk -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct")))
+
+ @testcase(1349)
+ def test_mkgummidisk(self):
+ """Test creation of mkgummidisk image"""
+ cmd = "wic create mkgummidisk --image-name core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "mkgummidisk-*direct")))
+
+ @testcase(1350)
+ def test_mkefidisk(self):
+ """Test creation of mkefidisk image"""
+ cmd = "wic create mkefidisk -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct")))
+
+ @testcase(1385)
+ def test_directdisk_bootloader_config(self):
+ """Test creation of directdisk-bootloader-config image"""
+ cmd = "wic create directdisk-bootloader-config -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct")))
+
+ @testcase(1560)
+ def test_systemd_bootdisk(self):
+ """Test creation of systemd-bootdisk image"""
+ cmd = "wic create systemd-bootdisk -e core-image-minimal"
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct")))
+
+ @testcase(1561)
+ def test_sdimage_bootpart(self):
+ """Test creation of sdimage-bootpart image"""
+ cmd = "wic create sdimage-bootpart -e core-image-minimal"
+ self.write_config('IMAGE_BOOT_FILES = "bzImage"\n')
+ self.assertEqual(0, runCmd(cmd).status)
+ self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
+
@testcase(1212)
def test_build_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
@@ -92,39 +176,6 @@ class Wic(oeSelfTest):
self.assertEqual(0, status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
- @testcase(1157)
- def test_gpt_image(self):
- """Test creation of core-image-minimal with gpt table and UUID boot"""
- cmd = "wic create directdisk-gpt --image-name core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
-
- @testcase(1213)
- def test_unsupported_subcommand(self):
- """Test unsupported subcommand"""
- self.assertEqual(1, runCmd('wic unsupported',
- ignore_status=True).status)
-
- @testcase(1214)
- def test_no_command(self):
- """Test wic without command"""
- self.assertEqual(1, runCmd('wic', ignore_status=True).status)
-
- @testcase(1215)
- def test_help_overview(self):
- """Test wic help overview"""
- self.assertEqual(0, runCmd('wic help overview').status)
-
- @testcase(1216)
- def test_help_plugins(self):
- """Test wic help plugins"""
- self.assertEqual(0, runCmd('wic help plugins').status)
-
- @testcase(1217)
- def test_help_kickstart(self):
- """Test wic help kickstart"""
- self.assertEqual(0, runCmd('wic help kickstart').status)
-
@testcase(1264)
def test_compress_gzip(self):
"""Test compressing an image with gzip"""
@@ -183,13 +234,14 @@ class Wic(oeSelfTest):
self.assertEqual(0, status)
self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars)))
- @testcase(1346)
- def test_iso_image(self):
- """Test creation of hybrid iso image with legacy and EFI boot"""
- cmd = "wic create mkhybridiso --image-name core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct")))
- self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso")))
+ @testcase(1496)
+ def test_bmap(self):
+ """Test generation of .bmap file"""
+ 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")))
@testcase(1347)
def test_image_env(self):
@@ -230,34 +282,6 @@ class Wic(oeSelfTest):
self.assertTrue(os.path.islink(path))
self.assertTrue(os.path.isfile(os.path.realpath(path)))
- @testcase(1348)
- def test_qemux86_directdisk(self):
- """Test creation of qemux-86-directdisk image"""
- cmd = "wic create qemux86-directdisk -e core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct")))
-
- @testcase(1349)
- def test_mkgummidisk(self):
- """Test creation of mkgummidisk image"""
- cmd = "wic create mkgummidisk --image-name core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "mkgummidisk-*direct")))
-
- @testcase(1350)
- def test_mkefidisk(self):
- """Test creation of mkefidisk image"""
- cmd = "wic create mkefidisk -e core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct")))
-
- @testcase(1385)
- def test_directdisk_bootloader_config(self):
- """Test creation of directdisk-bootloader-config image"""
- cmd = "wic create directdisk-bootloader-config -e core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct")))
-
@testcase(1422)
def test_qemu(self):
"""Test wic-image-minimal under qemu"""
@@ -268,27 +292,3 @@ class Wic(oeSelfTest):
status, output = qemu.run_serial(cmd)
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
self.assertEqual(output, '/dev/root /\r\n/dev/vda3 /mnt')
-
- @testcase(1496)
- def test_bmap(self):
- """Test generation of .bmap file"""
- 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")))
-
- @testcase(1560)
- def test_systemd_bootdisk(self):
- """Test creation of systemd-bootdisk image"""
- cmd = "wic create systemd-bootdisk -e core-image-minimal"
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct")))
-
- @testcase(1561)
- def test_sdimage_bootpart(self):
- """Test creation of sdimage-bootpart image"""
- cmd = "wic create sdimage-bootpart -e core-image-minimal"
- self.write_config('IMAGE_BOOT_FILES = "bzImage"\n')
- self.assertEqual(0, runCmd(cmd).status)
- self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 4/4] selftest/wic: extending test coverage for WIC script options
2016-12-19 21:07 [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
` (2 preceding siblings ...)
2016-12-19 21:07 ` [PATCH v2 3/4] selftest/wic: reorganizing test methods by functionality Jair Gonzalez
@ 2016-12-19 21:07 ` Jair Gonzalez
2016-12-20 13:06 ` [PATCH v2 0/4] " Ed Bartosh
4 siblings, 0 replies; 8+ messages in thread
From: Jair Gonzalez @ 2016-12-19 21:07 UTC (permalink / raw)
To: openembedded-core
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>
---
meta/lib/oeqa/selftest/wic.py | 142 +++++++++++++++++++++++++++++++++++++-----
1 file changed, 128 insertions(+), 14 deletions(-)
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/wic.py
index 52b9538..3db00a6 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"""
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options
2016-12-19 21:07 [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
` (3 preceding siblings ...)
2016-12-19 21:07 ` [PATCH v2 4/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
@ 2016-12-20 13:06 ` Ed Bartosh
2016-12-20 22:04 ` Jair Gonzalez
4 siblings, 1 reply; 8+ messages in thread
From: Ed Bartosh @ 2016-12-20 13:06 UTC (permalink / raw)
To: Jair Gonzalez; +Cc: openembedded-core
On Mon, Dec 19, 2016 at 03:07:30PM -0600, Jair Gonzalez wrote:
> Changed in V2:
>
> The original patch was splitted and updated according to the discussion on:
> http://lists.openembedded.org/pipermail/openembedded-core/2016-December/130131.html
> NOTE: The WKS_FILE entry deletion was ommitted from this patch set as it
> was introduced on the first patch by mistake.
>
> The following changes since commit 573c646d4cc62dcd0c230381df4940bdf314d495:
>
> bitbake: BBHandler: use with instead of open/close (2016-12-16 10:23:24 +0000)
>
> are available in the git repository at:
>
> git://git.yoctoproject.org/poky-contrib jairglez/wictest
> http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jairglez/wictest
>
> Jair Gonzalez (4):
> selftest/wic: adding Testopia ID numbers to test cases missing it
> selftest/wic: code cleanup
> selftest/wic: reorganizing test methods by functionality
> selftest/wic: extending test coverage for WIC script options
>
> meta/lib/oeqa/selftest/wic.py | 370 +++++++++++++++++++++++++++---------------
> 1 file changed, 238 insertions(+), 132 deletions(-)
>
Thank you for the updated patchset!
It looks good to me.
BTW, did you measure its impact on the test run time?
--
Regards,
Ed
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options
2016-12-20 13:06 ` [PATCH v2 0/4] " Ed Bartosh
@ 2016-12-20 22:04 ` Jair Gonzalez
2016-12-21 13:06 ` Ed Bartosh
0 siblings, 1 reply; 8+ messages in thread
From: Jair Gonzalez @ 2016-12-20 22:04 UTC (permalink / raw)
To: ed.bartosh; +Cc: openembedded-core
> -----Original Message-----
> From: Ed Bartosh [mailto:ed.bartosh@linux.intel.com]
> Sent: Tuesday, December 20, 2016 7:07 AM
> To: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH v2 0/4] selftest/wic: extending test
coverage
> for WIC script options
>
> On Mon, Dec 19, 2016 at 03:07:30PM -0600, Jair Gonzalez wrote:
> > Changed in V2:
> >
> > The original patch was splitted and updated according to the
discussion on:
> > http://lists.openembedded.org/pipermail/openembedded-core/2016-
> Decembe
> > r/130131.html
> > NOTE: The WKS_FILE entry deletion was ommitted from this patch set as
> > it was introduced on the first patch by mistake.
> >
> > The following changes since commit
> 573c646d4cc62dcd0c230381df4940bdf314d495:
> >
> > bitbake: BBHandler: use with instead of open/close (2016-12-16
> > 10:23:24 +0000)
> >
> > are available in the git repository at:
> >
> > git://git.yoctoproject.org/poky-contrib jairglez/wictest
> >
> > http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jairglez/wict
> > est
> >
> > Jair Gonzalez (4):
> > selftest/wic: adding Testopia ID numbers to test cases missing it
> > selftest/wic: code cleanup
> > selftest/wic: reorganizing test methods by functionality
> > selftest/wic: extending test coverage for WIC script options
> >
> > meta/lib/oeqa/selftest/wic.py | 370
> > +++++++++++++++++++++++++++---------------
> > 1 file changed, 238 insertions(+), 132 deletions(-)
> >
>
> Thank you for the updated patchset!
> It looks good to me.
>
> BTW, did you measure its impact on the test run time?
>
> --
> Regards,
> Ed
Hi Ed,
Thanks. Regarding the impact, I tested it on my local machine after cleaning
the cache, sstate-cache, downloads and tmp directories, and the difference
between them was about 130 seconds after I applied my commits:
Before:
Ran 28 tests in 4446.939s
After:
Ran 39 tests in 4578.604s
Difference:
131.665s
I also tried with a source repository with existing cache and the difference
was about 70 seconds:
Before:
Ran 28 tests in 272.170s
After:
Ran 39 tests in 339.637s
Difference:
67.467s
Regards,
Jair
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options
2016-12-20 22:04 ` Jair Gonzalez
@ 2016-12-21 13:06 ` Ed Bartosh
0 siblings, 0 replies; 8+ messages in thread
From: Ed Bartosh @ 2016-12-21 13:06 UTC (permalink / raw)
To: Jair Gonzalez; +Cc: openembedded-core
On Tue, Dec 20, 2016 at 04:04:06PM -0600, Jair Gonzalez wrote:
> > -----Original Message-----
> > From: Ed Bartosh [mailto:ed.bartosh@linux.intel.com]
> > Sent: Tuesday, December 20, 2016 7:07 AM
> > To: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
> > Cc: openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH v2 0/4] selftest/wic: extending test
> coverage
> > for WIC script options
> >
> > On Mon, Dec 19, 2016 at 03:07:30PM -0600, Jair Gonzalez wrote:
> > > Changed in V2:
> > >
> > > The original patch was splitted and updated according to the
> discussion on:
> > > http://lists.openembedded.org/pipermail/openembedded-core/2016-
> > Decembe
> > > r/130131.html
> > > NOTE: The WKS_FILE entry deletion was ommitted from this patch set as
> > > it was introduced on the first patch by mistake.
> > >
> > > The following changes since commit
> > 573c646d4cc62dcd0c230381df4940bdf314d495:
> > >
> > > bitbake: BBHandler: use with instead of open/close (2016-12-16
> > > 10:23:24 +0000)
> > >
> > > are available in the git repository at:
> > >
> > > git://git.yoctoproject.org/poky-contrib jairglez/wictest
> > >
> > > http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jairglez/wict
> > > est
> > >
> > > Jair Gonzalez (4):
> > > selftest/wic: adding Testopia ID numbers to test cases missing it
> > > selftest/wic: code cleanup
> > > selftest/wic: reorganizing test methods by functionality
> > > selftest/wic: extending test coverage for WIC script options
> > >
> > > meta/lib/oeqa/selftest/wic.py | 370
> > > +++++++++++++++++++++++++++---------------
> > > 1 file changed, 238 insertions(+), 132 deletions(-)
> > >
> >
> > Thank you for the updated patchset!
> > It looks good to me.
> >
> > BTW, did you measure its impact on the test run time?
> >
> > --
> > Regards,
> > Ed
>
> Hi Ed,
>
> Thanks. Regarding the impact, I tested it on my local machine after cleaning
> the cache, sstate-cache, downloads and tmp directories, and the difference
> between them was about 130 seconds after I applied my commits:
> Before:
> Ran 28 tests in 4446.939s
> After:
> Ran 39 tests in 4578.604s
> Difference:
> 131.665s
>
> I also tried with a source repository with existing cache and the difference
> was about 70 seconds:
> Before:
> Ran 28 tests in 272.170s
> After:
> Ran 39 tests in 339.637s
> Difference:
> 67.467s
>
Hi Jair,
Thanks. The difference is acceptable from my point of view.
--
Regards,
Ed
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-12-21 13:06 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-19 21:07 [PATCH v2 0/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 1/4] selftest/wic: adding Testopia ID numbers to test cases missing it Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 2/4] selftest/wic: code cleanup Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 3/4] selftest/wic: reorganizing test methods by functionality Jair Gonzalez
2016-12-19 21:07 ` [PATCH v2 4/4] selftest/wic: extending test coverage for WIC script options Jair Gonzalez
2016-12-20 13:06 ` [PATCH v2 0/4] " Ed Bartosh
2016-12-20 22:04 ` Jair Gonzalez
2016-12-21 13:06 ` Ed Bartosh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox