summaryrefslogtreecommitdiff
path: root/meta/classes/imagetest-qemu.bbclass
AgeCommit message (Collapse)AuthorFiles
2013-05-12imagetest-qemu.bbclass, qemuimage-testlib: add support for more FSTYPESStefan Stanacar1
qemuimage-testlib hardcodes ext3 as fs type. This adds support for more images types which are supported by runqemu: ext[234]/jffs2/btrfs. I've skipped (for now) vmdk (which qemu can boot) because: - we don't have network on images without connman because of the way runqemu starts vmdk images (can't pass kernel args for network config) - qemuimage-testlib-pythonhelper relies on '192.168' being in the output of ps to return the pid Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09imagetest-qemu: Fix indentationRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-09class/lib: Fix up various file access methodsRichard Purdie1
There are various bits of cruft that have built up around our file accesses. This patch cleans some of them up, specifically: * Remove pointless "from __builtin__ import file" * Use open(), not file() * Wrap file usage in a with container to ensure files are closed * Add missing .close() calls in some cases Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-03-26qemuimagetest: collect and print runqemu outputPaul Eggleton1
If runqemu (or qemu itself) fails we need to know why, so tee out to a log file and print it when we can't find the qemu process or determine its IP address. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-06imagetest-qemu: Adapt to bitbake environment changesRichard Purdie1
Load environment variables like DISPLAY from BB_ORIGENV after recent bitbake changes. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-14Update sanity tests to use smart instead of zypperPaul Eggleton1
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-01imagetest-qemu.bbclass: Fix whitespace issuesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19Remove a number of unneeded import os/bb callsRichard Purdie1
The bb and os modules are always imported so having these extra import calls are a waste of space/execution time. They also set a bad example for people copy and pasting code so clean them up. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30meta: replace os.system with subprocess.callRobert Yang1
Replace os.system with subprocess.call since the older function would fail (more or less) silently if the executed program cannot be found More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)Richard Purdie1
Using "1" with getVar is bad coding style and "True" is preferred. This patch is a sed over the meta directory of the form: sed \ -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \ -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \ -i `grep -ril getVar *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-18sanitytest: remove rpm/zypper tests if PACKAGE_CLASSES does not set package_rpmJiajun Xu1
If PACKAGE_CLASSES does not set package_rpm as the first item, the root filesystem will not be generated based on rpm. We need remove rpm/zypper tests against non-rpm filesystem. [YOCTO #1757] Signed-off-by: Jiajun Xu <jiajun.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10Convert to use direct access to the data store (instead of bb.data.*Var*())Richard Purdie1
This is the result of running the following over the metadata: sed \ -e 's:bb.data.\(setVar([^,()]*,[^,()]*\), *\([^ )]*\) *):\2.\1):g' \ -e 's:bb.data.\(setVarFlag([^,()]*,[^,()]*,[^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^(), ]*\) *,\([^)]*\)):\2.\1,\3):g' \ -e 's:bb.data.\(getVarFlag([^,()]*,[^,()]*\), *\([^() ]*\) *):\2.\1):g' \ -e 's:bb.data.\(getVar([^,()]*\), *\([^) ]*\) *):\2.\1):g' \ -i `grep -ril bb.data *` Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28scripts: use OE_TMPDIR instead of TMPDIR external variablePaul Eggleton1
On OpenSUSE within an X session, TMPDIR is set to the system temporary directory (/tmp) which is incorrect for these scripts. Thus, change runqemu and oe-setup-rpmrepo to use OE_TMPDIR from the external environment rather than TMPDIR. Fixes [YOCTO #1530] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-09imagetest-qemu/runqueue: Since we no longer support BUILDDIR, use TMPDIRRichard Purdie1
Commit 993672fa2739794a6dd0dbd7bb232fa60522b897 removed the BUILDDIR support from runqueue which broke the imagetest-qemu integration. We now therefore need to set TMPDIR and pass this through the environment to ensure the runqueue script finds the right locations without running bitbake directly. This patch also adds a sleep to the qemu command in the error case so that this remains on the screen for a period of time so the user can see errors more easily. This change unbreaks automated testing failures on the autobuilder. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-24qemuimagetest: update cvs and iptables to newer version for toolchain testJiajun Xu1
The old versions of cvs and iptables may meet compile error under some architecture - cvs 1.11.23 fails on x86-64 host and iptables 1.4.9 fails on arm host. Update them to latest version could solve these build error. Meanwhile, 240s timeout is set for sudoku becasue 120s is not enough to finish compile. Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-05-04qemuimagetest: Enable toolchain automation tests in qemuimagetestJiajun Xu1
Enable toolchain automation tests in qemuimagetest framework. 3 C/C++ test projects are added to test toolchain - cvs, iptables and sudoku-savant. User needs to set TEST_SCEN to "toolchain" in local.conf to enable tests. Test case will check if toolchain tarball exists under "${DEPLOY_DIR}/sdk". And it will extract toolchain tarball into /opt. It requires user to chown /opt to non-root user, who will run qemuimagetest. Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-04-21Further cleanup of various poky referencesRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-20Replace POKYBASE with COREBASERichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-20qemuimagetest: Use same image during sanity testing instead of copying a new ↵Jiajun Xu1
image for each case To reduce the time on sanity testing, we remove variable SHARE_IMAGE and use a new variable TEST_SERIALIZE in local.conf. It is by default set to 1. Poky will copy and boot the to-be tested image for only once. It will not remove or kill the image and test cases will be serialized executed against the same image. If it is set to 0, image is always be copied for each cases, which takes much time. I had a experiment that latest qemuppc sato only takes 7 minutes to finish 9 sanity test cases, which takes more than 20 minutes before. I also removed sanity case "boot" from sato/sdk/lsb because the other cases for these targets already cover the check point of "boot". Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2011-01-14qemuimagetest: Use the same image in sanity testing to fix the timeout issue ↵Jiajun Xu1
on autobuilder Fixes [BUGID #595] Because of the QEMU booting slowness issue(see bug #646 and #618), autobuilder may suffer a timeout issue when running sanity test. We introduce variable SHARE_IMAGE here to fix the issue. It is by default set to 1. Poky will copy latest built-out image and keep using it in sanity testing. If it is set to 0, latest built-out image will be copied and tested for each case, which will take much time. Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-12-23qemuimage-testlib: Ensure TOPDIR/BUILDDIR are setRichard Purdie1
The recent environment changes mean TOPDIR/BUILDDIR need to be exported specifcially to the enviromnent so the qemu scripts can find the correct build directory. Without this, qemu can fail to run. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-07imagetest-qemu: Allow the task to run after any rootfs is created and also ↵Richard Purdie1
standalone One bitbake invocation can cause multiple images to be generated. We should test each one and we cna do this by running after the rootfs task. Running the tests standlone is also still possible with a new separate standlone task. Acked-by: Scott Garman <scott.a.garman@intel.com> Acked-by: Jiajun Xu <jiajun.xu@intel.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-11-14imagetest-qemu: Add sanity test cases for scp/shutdown in targetJiajun Xu1
scp test is to check if file copying via network work or not in target. shutdown test is to check if target can be poweroff with qemu process off. Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-11-10imagetest-qemu: Add test case for dmesg check in targetJiajun Xu1
Add a test case for error log check with command dmesg in target. The case introduces a new folder in target, "/opt/test", which holds test scripts running in target. Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-08-27test: Add scenario file for each target and support single case runningJiajun Xu1
Different test cases are needed for different targets. A folder "scenario" is created under scripts/qemuimage-tests to hold scenario files for different targets. Single case running is supported now. User can run single case together with a whole test suite by setting variable TEST_SCEN in local.conf. By default test cases in sanity suite will be ran. If you want to run other test suite or specific test case(e.g. bat or boot test case under sanity suite), list them like following. TEST_SCEN = "sanity bat sanity:boot" Signed-off-by Jiajun Xu <jiajun.xu@intel.com>
2010-07-21Enable build dir outside of the poky directoryJoshua Lock1
You need to first set up the build directory by sourcing the poky build script, after that builds can be run in that directory so long as bitbake is in $PATH removing the need to source the init script for each build. i.e: $ . poky-init-build-env ~/my-build $ bitbake some-image <<later, in a different shell>> $ cd ~/my-build $ export PATH=/path/to/bitbake/bin:$PATH $ bitbake an-image This patch also removes use of OEROOT in recipes, etc. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-07-15test: add automation framework and sanitytestJiajun Xu1
Automation test is disabled by default. User need set TESTCLASS to qemu in conf/local.conf and run bitbake command "bitbake poky-image-xxx" or "bitbake poky-image-xxx -c qemuimagetest" to trigger it. Currently only the sanity test with two testcases are added. To run the test, user need prepare a testing environment: 1) "expect" should be installed on system 2) NOPASSWD should be set for user to run bitbake Signed-off-by Jiajun Xu <jiajun.xu@intel.com>