wic tests: Move wic tests to oe-selftest infra

Modified existing wic test modules to work with oe-selftest
infrastructure.

$ oe-selftest --run-tests wic
...
test01_help (oeqa.selftest.wic.Wic)
Test wic --help ... ok
test02_createhelp (oeqa.selftest.wic.Wic)
Test wic create --help ... ok
test03_listhelp (oeqa.selftest.wic.Wic)
Test wic list --help ... ok
test04_build_image_name (oeqa.selftest.wic.Wic)
Test wic create directdisk --image-name core-image-minimal ... ok
test05_build_artifacts (oeqa.selftest.wic.Wic)
Test wic create directdisk providing all artifacts. ... ok

----------------------------------------------------------------------
Ran 5 tests in 6.434s

OK

(From OE-Core rev: 2a7f16b19d78186ed6c2eb119ec102c645596b87)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh
2015-04-30 13:33:40 +03:00
committed by Richard Purdie
parent 6451c08c7b
commit fd254d007f
4 changed files with 69 additions and 113 deletions

View File

@@ -0,0 +1,69 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (c) 2015, Intel Corporation.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# AUTHORS
# Ed Bartosh <ed.bartosh@linux.intel.com>
"""Test cases for wic."""
import sys
from glob import glob
from shutil import rmtree
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import runCmd
class Wic(oeSelfTest):
"""Wic test class."""
resultdir = "/var/tmp/wic/build/"
def setUp(self):
"""This code is executed before each test method."""
rmtree(self.resultdir, ignore_errors=True)
def test01_help(self):
"""Test wic --help"""
self.assertEqual(0, runCmd('wic --help').status)
def test02_createhelp(self):
"""Test wic create --help"""
self.assertEqual(0, runCmd('wic creat --help').status)
def test03_listhelp(self):
"""Test wic list --help"""
self.assertEqual(0, runCmd('wic list --help').status)
def test04_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)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
def test05_build_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
self.assertEqual(0, runCmd("wic create directdisk "
"-b tmp/sysroots/qemux86/usr/share "
"-k tmp/deploy/images/qemux86 "
"-n tmp/sysroots/x86_64-linux "
"-r tmp/work/qemux86-poky-linux/"
"core-image-minimal/1.0-r0/rootfs").status)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))

View File

@@ -1,6 +0,0 @@
[nosetests]
verbosity=2
exe=1
with-coverage=1
cover-erase=1
cover-package=wic,image,wic.imager

View File

@@ -1,44 +0,0 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (c) 2015, Intel Corporation.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# AUTHORS
# Ed Bartosh <ed.bartosh@linux.intel.com>
import imp
import unittest
class TestWicHelp(unittest.TestCase):
"""Test help output of wic (sub)commands"""
def setUp(self):
"""This code is executed before each test method."""
self.main = imp.load_source("wic", "wic").main
def testhelp(self):
"""Test wic --help"""
self.assertRaises(SystemExit, self.main, ['--help'])
def testcreatehelp(self):
"""Test wic create --help"""
self.assertRaises(SystemExit, self.main, ['create', '--help'])
def testlisthelp(self):
"""Test wic list --help"""
self.assertRaises(SystemExit, self.main, ['list', '--help'])

View File

@@ -1,63 +0,0 @@
#!/usr/bin/env python
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Copyright (c) 2015, Intel Corporation.
# All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# AUTHORS
# Ed Bartosh <ed.bartosh@linux.intel.com>
"""Test directdisk builds."""
import imp
import unittest
import os
import shutil
import glob
class TestWicDirectdisk(unittest.TestCase):
"""Test build of directdisk image"""
def __init__(self, methodName='runTest'):
unittest.TestCase.__init__(self, methodName)
self.main = imp.load_source("wic", "wic").main
self.resultdir = "/var/tmp/wic/build/"
def setUp(self):
"""This code executes before each test method."""
shutil.rmtree(self.resultdir)
os.chdir(os.getenv("BUILDDIR"))
def _build(self, cmdline):
"""Call self.main with provided commandline."""
self.assertIsNone(self.main(cmdline))
self.assertEqual(1, len(glob.glob(self.resultdir + \
"directdisk-*.direct")))
def testbuild_image_name(self):
"""Test wic create directdisk --image-name core-image-minimal"""
self._build(["create", "directdisk",
"--image-name", "core-image-minimal"])
def testbuild_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
self._build(["create", "directdisk",
"-b", "tmp/sysroots/qemux86/usr/share",
"-k", "tmp/deploy/images/qemux86",
"-n", "tmp/sysroots/x86_64-linux",
"-r", "tmp/work/qemux86-poky-linux/"
"core-image-minimal/1.0-r0/rootfs"])