summaryrefslogtreecommitdiff
path: root/meta/lib
AgeCommit message (Collapse)AuthorFiles
2016-08-25oe-build-perf-test: new {tag_num} keyword for --commit-results-tagMarkus Lehtonen1
This makes it possible to create numbered tags, where the "basename" of the tag is the same and the only difference is an (automatically) increasing index number. This is useful if you do multiple test runs on the same commit. For example, using: --commit-results-tag {tester_host}/{git_commit}/{tag_num} would give you tags something like: myhost/decb3119dffd3fd38b800bebc1e510f9217a152e/0 myhost/decb3119dffd3fd38b800bebc1e510f9217a152e/1 ... The default tag format is updated to use this new keyword in order to prevent unintentional tag name clashes. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oe-build-perf-test: tag results committed to GitMarkus Lehtonen1
Create a Git tag when committing results to a Git repository. This patch also implements --commit-results-tag command line option for controlling the tag name. The value is a format string where the following fields may be used: - {git_branch} - target branch being tested - {git_commit} - target commit being tested - {tester_host} - hostname of the tester machine Tagging can be disabled by giving an empty string to --commit-results-tag. The option has no effect if --commit-results is not defined. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa.utils.git: implement init() methodMarkus Lehtonen1
Method for doing 'git init'. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oe-build-perf-test: implement --commit-results-branchMarkus Lehtonen1
A new command line option for defining the branch where results are commited. The value is actually a format string accepting two field names: - {git_branch} expands to the name of the target branch being tested - {tester_host} expands to the hostname of the tester machine The option has no effect if --commit-results is not used. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oe-build-perf-test: support committing results data to GitMarkus Lehtonen1
Implement a new command line option '--commit-results' which commits the test results data into a Git repository. The given path must be an existing initialized local Git repository. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa.buildperf: use term commit instead of revisionMarkus Lehtonen1
This is basically a internal change, at this point. Term 'commit' better represents the data we actually have. Term 'revision' is more vague and could be understood to point to a tag object, for example. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa.utils.git.GitRepo: new arg to require topdirMarkus Lehtonen1
Add a new 'is_topdir' argument to the GitRepo init method which validates that the given path is the top directory of a Git repository. Without this argument GitRepo also accepts subdirectories of a Git repository (in which case GitRepo will point to the parent directory that is the top directory of this repository) which may have undesired in some cases. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa.utils.git: implement GitRepo.get_current_branch()Markus Lehtonen2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa.utils.git: introduce GitRepo.rev_parse()Markus Lehtonen2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa.utils.git: support git commands with updated envMarkus Lehtonen1
Extend GitRepo.run_cmd so that the caller may redefine and/or define additional environment variables that will be used when the git command is run. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25oeqa/runtime/rpm: use su instead of sudoRoss Burton1
This test works fine with su, which is more likely to be installed in images than sudo. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-25parselogs: Ignore uvesafb timeoutsRichard Purdie1
We're periodically seeing uvesafb timeouts on the autobuilder. Whitelist these errors as there is little it seems we can do about them and we therefore choose to ignore them rather than fail the builds. [YOCTO #8245] There is a better solution proposed in the bug with a -1 timeout however this avoids failed builds until such times as that is implemented. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-25license: simple verification of LICENSE_<pkg> valuesMarkus Lehtonen1
LICENSE should be a superset of all LICENSE_<pkg> values. That is, LICENSE should contain all licenses and LICENSE_<pkg> can be used to "filter" this on a per-package basis. LICENSE_<pkg> shouldn't contain anything that isn't specified in LICENSE. This patch implements simple checking of LICENSE_<pkg> values. It does do not do advanced parsing/matching of license expressions, but, checks that all licenses mentioned in LICENSE_<pkg> are also specified in LICENSE. A warning is printed if problems are found. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-23oeqa/buildiptables: Switch from netfilter.org to yoctoproject.org mirrorRichard Purdie2
We've had some upstream mirror instability so use our own mirror for the iptables sources to ensure this doesn't affect the test results. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-20oeqa.buildperf: fix crash when creating globalres.logMarkus Lehtonen1
Fix a bug that was introduced when converting to unittest framework. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18devtool/recipetool/meta: Adapt to bitbake API changes for ↵Richard Purdie2
multi-configuration builds Unfortunately to implenent multiconfig support in bitbake some APIs had to change. This updates code in OE to match the changes in bitbake. Its mostly periperhal changes around devtool/recipetool [Will need a bitbake version requirement bump which I'll make when merging] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18parselogs: Ignore amb_nb warning messages under qemux86*Richard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18parselogs.py: Add failed to setup card detect gpio error on x86California Sullivan1
This error has occurred on the MinnowBoard Max and Turbot since its inception. It supposedly indicates a non-working SD card reader, but ours works fine. Whitelist the error. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18parselogs.py: Add dmi and ioremap errors to ignore list for core2California Sullivan1
These errors have been occuring since the introduction of the 4.4 kernel with no apparent functionality loss. Whitelist for now. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18parselogs.py: Ignore Skylake graphics firmware load errors on genericx86-64California Sullivan1
These errors can't be fixed without adding the firmware to the initramfs and building it into the kernel, which we don't want to do for genericx86-64. Since graphics still work acceptably without the firmware blobs, just ignore the errors for that MACHINE. Signed-off-by: California Sullivan <california.l.sullivan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-18testimage: allow using kvm when running qemux86* machinesBill Randle2
Using kvm can provide significant speedups when running qemux86* machines on an x86* host. Enabled by using the new QEMU_USE_KVM variable. [YOCTO #9298] Signed-off-by: Bill Randle <william.c.randle@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-17oeqa.buildperf: use oe.path.remove()Markus Lehtonen2
Drop the self-baked force_rm() method. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: be more verbose about failed commandsMarkus Lehtonen1
Log failures of commands whose output is stored. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: introduce runCmd2()Markus Lehtonen2
Special runCmd() for build perf tests which doesn't raise an AssertionError when the command fails. This causes command failures to be detected as test errors instead of test failures. This way "failed" state of tests is reserved for future making it possible to set e.g. thresholds for certain measurement results. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: convert test cases to unittestMarkus Lehtonen1
This commit converts the actual tests to be compatible with the new Python unittest based framework. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: add BuildPerfTestResult classMarkus Lehtonen2
The new class is derived from unittest.TextTestResult class. It is actually implemented by modifying the old BuildPerfTestRunner class which, in turn, is replaced by a totally new simple implementation derived from unittest.TestRunner. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: add BuildPerfTestLoader classMarkus Lehtonen2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: derive BuildPerfTestCase class from unitest.TestCaseMarkus Lehtonen2
Rename BuildPerfTest to BuildPerfTestCase and convert it to be derived from TestCase class from the unittest framework of the Python standard library. This doesn't work with our existing testcases or test runner class and these need to be modified, too. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa.buildperf: rename module containing basic testsMarkus Lehtonen2
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17buildperf: Add support for times without decimal partJose Perez Carranza1
Add logic for the cases when the time retrieved does not have decimal part. Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17lib/oeqa/selftest/bbtests: don't report expected failuresRoss Burton1
Another instance where expected failures need to be not reported to the error reporting service. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa/runtime/syslog.py: Improve test_syslog_logger on systemdAníbal Limón1
When an image uses systemd journald acts as a main syslog daemon using /dev/log. The test_syslog_logger try to log a predifined message into the syslog using logger and then search using grep in /var/log/messages if this fails for some reason (file rotated) now search the predifined message into the journal. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17lib/oe/copy_buildsystem: fix merging sstate directories for eSDKPaul Eggleton1
When we don't have uninative enabled there's more merging to be done in the default configuration (SDK_EXT_TYPE = "full" which by default means SDK_INCLUDE_TOOLCHAIN = "1") and there are likely files that already exist in the sstate feed we're assembling, so we need to take care to merge the directory contents rather than just moving the directories over. Additionally we now only run this if uninative genuinely isn't enabled (i.e. NATIVELSBSTRING is different to the fixed value of "universal".) In the process of fixing this I discovered an unusual behaviour in os.rename() - when we're merging these feeds we're dealing with hard-linked sstate artifacts, and whilst os.rename() is supposed to silently overwrite an existing destination (permissions allowing), if you have the source and destination as hardlinks to the same file then the os.rename() call will just silently fail. As a result the code now just checks if the destination exists and deletes the source if so (since we know it will be the same file, we don't need to check in this case.) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-17oeqa/oetest: Improve subprocess error reportingRichard Purdie1
Without this, we get to know the command failed and the exit code but have no idea how the command failed since we don't get the output by default. This makes it much easier to see what went wrong and stand a chance of fixing it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-11Allow for simultaneous do_rootfs tasks with rpmuninative-1.3Stephano Cetola2
Give each rootfs its own RPM channel to use. This puts the RPM metadata in a private subdirectory of $WORKDIR, rather than living in DEPLOY_DIR where other tasks may race with it. This allows us to reduce the time that the rpm.lock is held to only the time needed to hardlink the RPMs, allowing the majority of the rootfs operation to run in parallel. Also, this fixes the smart tests by generating an index for all packages at the time of the test, rather than using the one provided by the rootfs process. Original credit for the enhancement should go to Steven Walter stevenrwalter@gmail.com. Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10oeqa: start() add remaining args SimpleRemoteTarget and QemuTinyRunnerAníbal Limón2
Now Runner's support extra_bootargs for the kernel so add extra_bootparams to the start() methods to avoid exception. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-10oeqa/utils/httpserver.py: HTTPServer enable thread connection handlingAníbal Limón1
HTTPServer now supports multiple connections using Python threads. Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-10terminal: Add sleep in pid-monitor loopJacob Kroon1
Monitoring the process started by gnome-terminal was spinning in a busy-loop. Insert some sleeping so that we don't eat all the cpu. Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-10oeqa/selftest: disable report-error class when builds are expected to failRoss Burton2
Some invocations of bitbake are expected to fail, so we don't want to report the errors to errors.yoctoproject.org. Also rewrite the messages in test_invalid_patch so they reflect reality. [ YOCTO #10052 ] Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04oeqa/utils/sshcontrol.py: Allows to copy symlinks to targetMariano Lopez1
Currently when copying a symlink to the target it will fail throwing an exception. This will recreate symlinks from the system performing the tests to the device under tests. [YOCTO #9932] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04oeqa/oetest.py: Allow to export packages using symlinksMariano Lopez1
Currently packages that contains symlinks can't be extracted and exported. This allows to export extracted such packages. A nice side effect is improved readability. [YOCTO #9932] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04oetest.py: Remove check for __init__.pyMariano Lopez1
When using "auto" in TEST_SUITES there is a check for __init__.py in the <layer>/lib/oeqa/runtime/ directory in all the layers in BBLAYERS. This check was needed because the way that python 2 import the modules, now that bitbake uses python 3 there is no need these __init__.py files, moreover these files won't allow to import tests from other layers. This patch removes the check. [YOCTO #9996] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04oetest.py: Add command line parameter support for tag in testexportMariano Lopez2
This allows to use a command line argument to change the tag used to filter test instead of rebuilding the tests. [YOCTO #8532] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-04selftest/runtime-test.py: Add test for testexport SDK featureMariano Lopez1
This adds test_testexport_sdk() to test the SDK feature of testexport in the CI in order to avoid breaking it. [YOCTO #9765] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01oeqa/utils/commands.py: Command class improve validations/decoding in outputAníbal Limón1
When run a command sometimes the output isn't provided so validate before trying to encode to utf-8, also some output like BIOS/EFI contains characters that can't be codified into utf-8 for this reason set errors='replace'. [YOCTO #10019] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01oeqa/runtime/syslog: test_syslog_logger Don't try to use logread when ↵Aníbal Limón1
systemd is enabled Busybox logread uses shmmem circular buffer to retrive [1] syslog messages when systemd is enabled this shmem circular buffer isn't enabled because systemd journald doesn't provide it. [1] https://git.busybox.net/busybox/tree/sysklogd/logread.c?id=accd9eeb719916da974584b33b1aeced5f3bb346#n121 Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01oeqa/runtime/syslog.py: Improve test_syslog_loggerAníbal Limón1
Instead of make all the testing in a shell one liner, divide the test into 3 operations to be able to know in what part is failing. Parts, - Log message to syslog - Review if message exist in /var/log/messages - Review if message exist using logread Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-01selftest/runtime-test.py: Add test for import test from other layersMariano Lopez1
There are some features in testimage/testexport that are not tested; this might lead to break some of these features without notice. This adds a new test in order to test two features of testimage: - Import test from other layers. - Install/Unistall in the DUT without a package manager. [YOCTO #9764] [YOCTO #9766] Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-28oe-selftest: recipetool: add tests for git URL manglingPaul Eggleton1
Add three tests to verify that the git URL mangling is working the way it's supposed to. This should prevent us regressing on this again in future. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-25lib/oe/recipeutils: fix patch_recipe*() with empty inputPaul Eggleton1
If you supplied an empty file to patch_recipe() (or an empty list to patch_recipe_lines()) then the result was IndexError because the code checking to see if it needed to add an extra line of padding didn't check to see if there were in fact any lines before trying to access the last line. Fixes [YOCTO #9972]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>