summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime/cases
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/runtime/cases: Disable and stop systemd-timesyncdAlex Kiernan2020-03-291-2/+2
| | | | | | | | | | | | Stopping systemd-timesyncd doesn't prevent it being restarted by a different transaction within systemd. Disable the service instead during the date test to ensure it can't be restarted. (From OE-Core rev: 3dd4e637c11abdd6341a3e0c6b67639d3d703862) Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> Acked-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/qemuarm64: Ignore logind: failed to get session seatKhem Raj2020-03-131-0/+1
| | | | | | | | | | | | | When booting weston images this error is seen commonly, but Qemu boots the image fine, session seat error is thrown by libweston perhaps using --seat option or setting XDG_SEAT variable in weston.ini could fix it [YOCTO #13828] (From OE-Core rev: 1f9d36722132c93c19651ea59062b3d5be01bb72) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: ignore rdrand initialization failureMingli Yu2020-03-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the system whose cpu doesn't support rdrand, there comes below message when start rngd service #systemctl status rngd [snip] Feb 25 05:08:14 qemux86-64 rngd[133]: [rdrand]: Initialization Failed [snip] Actually the failed message doesn't matter as it only indicates one entropy source as rdrand fails to initialize and won't affect rngd function. So add to ignore the failure message to fix below error during do_testimage: NOTE: ====================================================================== NOTE: FAIL: test_parselogs (parselogs.ParseLogsTest) NOTE: ---------------------------------------------------------------------- NOTE: Traceback (most recent call last): File "/buildarea/layers/oe-core/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f return func(*args, **kwargs) File "/buildarea/layers/oe-core/meta/lib/oeqa/runtime/cases/parselogs.py", line 370, in test_parselogs self.assertEqual(errcount, 0, msg=self.msg) AssertionError: 1 != 0 : Log: /buildarea/tmp/work/qemux86-64-wrs-linux/wrlinux-image-std/1.0-r5/target_logs/daemon.log Central error: 2020-03-06T09:45:12.774286+00:00 qemux86-64 rngd[134]: [rdrand]: Initialization Failed Reference: https://github.com/nhorman/rng-tools/pull/84 (From OE-Core rev: 09c4f9068858bf59eb60584a497f987bdd1e196e) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa-runtime: add missing import os to ptest caseStefan Kral2020-03-061-0/+1
| | | | | | | | | Add missing import os statement to the oeqa runtime ptest.py (From OE-Core rev: e41c92c60694052c8292c1ea6b3d0b427aafafd7) Signed-off-by: Stefan Kral <sk@typedivision.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ltp: Update to 20200120Petr Vorel2020-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removed ffsb copying file and associated runtest file fs_ext4 (both removed in this release). Added LIBS=-lfts for MUSL. Removed patches (accepted upstream) * 0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch * 0001-testcases-fix-an-absent-format-string-issue.patch * 0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch Merged patches * 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch (into 0001-build-Add-option-to-select-libc-implementation.patch as they touch the same files) Refreshed patches (some tests have been fixed for musl) * 0001-Add-more-musl-exclusions.patch * 0001-build-Add-option-to-select-libc-implementation.patch * 0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch IMHO this one shouldn't be needed not, but CI still fails without it Updated status * 0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch * 0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch (From OE-Core rev: 62e2063698477a13c55ae370451e52a2f1e18e45) Signed-off-by: Petr Vorel <petr.vorel@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest: add an option to enforce a failure (e.g. ptests are required to pass)Alexander Kanavin2020-02-251-1/+14
| | | | | | | | | | | | | | | | | | This can be useful with a more specific, targeted and robust set of ptest packages; the benefit is that ptest regressions are caught as they happen and can be more easily traced to changes that caused them. The existing AB ptest image continues to be expected to fail, my observation of the AB runs is that the full set of ptests is not robust enough (particularly around socket/network related tests) and sporadically fails in random places. This can probably be addressed by making ptests exclusive to a worker (e.g. there is no other workload happening at the same time as ptests). (From OE-Core rev: 102afcc7ea7d7673183f272a29ab233084ad168b) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* weston: add a basic runtime testAlexander Kanavin2020-02-181-0/+19
| | | | | | | | | The test is checking that weston is able to start. (From OE-Core rev: 57700767f90eea8f2b78187c42581aca42d50bbf) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemux86: drop resolution setting via uvesafbAlexander Kanavin2020-02-181-4/+0
| | | | | | | | | | | | | | | | | | | | | | | I am not sure if this has ever worked, but uvesafb is a really outdated (VBE from the 1990s), awkward (needs v86d) and limited (no support for high resolutions) way to do it. The specific reason 640x480-32 was introduced (ages ago) was to force 32 bit mode with vmware driver, as 16bit had rendering issues. The modern, supported option is video=... kernel parameter documented here: https://wiki.archlinux.org/index.php/kernel_mode_setting#Forcing_modes_and_EDID https://github.com/torvalds/linux/blob/master/Documentation/fb/modedb.rst which can be passed directly to runqemu and doesn't require special kernel modules. Sato under X will continue to use 640x480 as that is hardcoded into xorg.conf under qemu. (From OE-Core rev: 1cf26f69fd89b43be24cd1232c43e5050b9d718a) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Use --disable-maintainer-mode configure optionKhem Raj2020-02-141-1/+1
| | | | | | | | | | | | | | | | | since the versions of autotools might differ on target and build host, plus difference in timestamps for configure and system can result in reconfigure lets avoid that by disabling maintainer mode Avoids error: newly created file is older than distributed files! [YOCTO #13779] Suggested-by: Andre McCurdy <armccurdy@gmail.com> (From OE-Core rev: 3dc4e27e7633ce3ca6b9647810d0996bdee48771) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Use cpio 2.13 as testcaseKhem Raj2020-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | cpio 2.12 was released in 2015 and might have used older autotools which could result in errors like https://bugzilla.yoctoproject.org/show_bug.cgi?id=13779 Bumping to 2.13 will help in matching the tool versions A good change on top would be to run aclocal -I .; autoheader; autoconf; automake --add-missing -c before running configure step perhaps [YOCTO #13779] (From OE-Core rev: 84eb1dc4fe8a11cd2d05b703070a6fb6de05b873) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logrotate.py: improve oeqa test implementationTrevor Gamblin2020-02-051-18/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See bug https://bugzilla.yoctoproject.org/show_bug.cgi?id=13632 Autobuilder tests occasionally fail, reporting that a new logfile could not be created. While this failure did occur multiple times, it could not be manually reproduced. However, there are issues with the implementation of the logrotate.py script that can be fixed. These changes will help make the failures clearer, should they continue to occur. Previously, the test_2_logrotate test would, after running the logrotate tool, use "ls -al $HOME/logrotate_dir | wc -l" to count the number of files in the rotation directory and determine if the rotation was successful. The test to see if there are at least three files is problematic, because depending on the version of ls used, it may report the target value of 3 even when there are only hidden files in the directory, potentially reporting a pass for the test when it should actually fail. An example with coreutils: root@qemux86-64:~# ls -al emptydir/ total 2 drwxr-xr-x 2 root root 1024 Jan 14 19:50 . drwx------ 3 root root 1024 Jan 14 19:50 .. root@qemux86-64:~# Where "total" is the number of blocks used. Compare with busybox ls: root@qemux86-64:~# ls -al emptydir/ drwxr-xr-x 2 root root 1024 Jan 14 19:54 . drwx------ 3 root root 1024 Jan 14 19:54 .. root@qemux86-64:~# Instead of using ls to verify that a certain number of files exists in $HOME/logrotate_dir, the tests have been changed to rotate two specific logs: the log for wtmp and a new logrotate_testfile created during the second test. Both tests check that the logs are correctly rotated into $HOME/logrotate_dir by using find and grep on the expected filename (e.g. "wtmp" when rotated becomes "wtmp.1", so we check to see that wtmp.1 is present in $HOME/logrotate_dir). In addition, should the test fail, the output from logrotate -vf is included in the test log to aid debugging. It has also been seen that in some cases, the logrotate test fails because the /var/log/wtmp file is not yet present. Since the objective of the test is to check the logrotate functionality and not the presence of certain log files, test_logrotate_wtmp uses the touch command to help ensure that the file is present before the call to logrotate is issued. Finally, note that while the autobuilder failures that this patch addresses were only seen during core-image-full-cmdline tests, these changes were successfully tested on core-image-minimal and core-image-sato with the manual addition of logrotate and openssh-sshd to the images. (From OE-Core rev: b9392403e96c6d880de844b44da2c7300fcf411c) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs: remove mpc8315e-rdb from errorsArmin Kuster2020-02-021-5/+0
| | | | | | | (From OE-Core rev: 0de55be071efff60944c89582ae0e736f3bdc828) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ltp: update to 20190930Alexander Kanavin2020-01-161-1/+1
| | | | | | | | | | | | | | | Drop a big pile of backports. Add a patch to address absent string formatting error. Additional fixing of builds with musl. timers group has been merged upstream into syscalls. (From OE-Core rev: 7126431cc3512e3d7f55300c561339c87283b605) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ptest: report ptests that couldn't be run at allAlexander Kanavin2020-01-101-0/+5
| | | | | | | | | | | Currently if a ptest does not produce PASS or FAIL, but simply errors out, this is not caught or reported; I think some ptests may have silently regressed due to this. (From OE-Core rev: 4b78b6571a3653d7d8e9dab9512bad5d39483988) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/ptest: fix detection of failed testsAndré Draszik2019-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit d6065f136f6d ("oeqa/logparser: Various misc cleanups"), 7b17274c30c6 in poky, the ptest OEQA is unable to detect failures in any of the test results. The reason is that the test result string changed from 'fail' to 'FAILED', because the original mapping has been removed as part of that commit, but the code in here is still trying to match against the old string, resulting in no matches, i.e. everything is treated as successful, even if it shouldn't be. Update the OEQA ptest test to actually work again and report failure if there was a failure. Note that the ptest test is marked as @expectedfail, so even though this test now again starts to fail, the overall OEQA test result is not affected - but at least the overall OEQA test summary reflects the correct status again. In other words: RESULTS: RESULTS - ping.PingTest.test_ping: PASSED (0.26s) RESULTS - ptest.PtestRunnerTest.test_ptestrunner: PASSED (4.05s) RESULTS - ssh.SSHTest.test_ssh: PASSED (0.60s) SUMMARY: image-debug () - Ran 3 tests in 4.937s correctly changes to: AssertionError: Failed ptests: {'dummytest': ['check_True_is_True', 'test_basic']} RESULTS: RESULTS - ping.PingTest.test_ping: PASSED (0.24s) RESULTS - ssh.SSHTest.test_ssh: PASSED (0.56s) RESULTS - ptest.PtestRunnerTest.test_ptestrunner: EXPECTEDFAIL (4.13s) SUMMARY: image-debug () - Ran 3 tests in 4.937s instead and we see a summary of the ptest subtests that failed. (From OE-Core rev: 08ff4b9195a9de91b8090173c5bd03a5ff263616) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sysklogd: update to 2.0.3Alexander Kanavin2019-12-181-1/+2
| | | | | | | | | | | | | | | | | | | | Drop all patches as they are no longer necessary with autotools, fix problems that are addressed upstream, or (in case of no-vectorization.patch) don't apply to the old version either, which means no one is using that hw target anymore. Remove custom systemd configs (provided by upstream), and custom syslog config (also provided by upstream but not installed by default). Adjust parselogs to not error out on not being able to find System.map file during boot (that is packaged into kernel-dev and is not normally installed). License-Update: various tweaks; the license terms are the same. (From OE-Core rev: dcf0bd14d78b0848f206eb35355f05bfbd51c02d) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/apt dnf opkg: support running from within docker containerAndré Draszik2019-12-163-3/+8
| | | | | | | | | | | | | | | | | If the user specified an http port to use for serving files, use that instead of a random one. At the same time, have the http server bind to all interfaces. Binding to the server_ip might not always be possible, e.g. in the case of running bitbake / oeqa from within a docker container. In this case, the ip address is valid outside the container, but not inside, and hence can't be bound to. So switch to simply binding to all interfaces. (From OE-Core rev: da529e6522959c2024023e90de52b5e42f160596) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/compliance-test: move crashme to runtimeArmin Kuster2019-11-211-0/+98
| | | | | | | | | | | [v3] remove fork12 from crashme. runs forever missed in v2 resend (From OE-Core rev: 5d32ff52a36bdcc6abe55b89bf81c3312a03160a) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-hw: move storage tests to runtimeArmin Kuster2019-11-211-0/+149
| | | | | | | | | | move usb mount, r/w and umount tests to runtime move SD card mount, r/w and umount tests to runtim (From OE-Core rev: 246d73b35f6be7880d98274e87033a14cdced9ba) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/boot: add reboot testArmin Kuster2019-11-211-0/+33
| | | | | | | (From OE-Core rev: c8ddebee04a7c752986b407b98f4d0175f447d01) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/systemd: skip unit enable/disable on read-only-rootfsAndré Draszik2019-10-191-1/+15
| | | | | | | | | | | | | | | | | | | | This doesn't work on read-only-rootfs: AssertionError: 1 != 0 : SYSTEMD_BUS_TIMEOUT=240s systemctl disable avahi-daemon.service Failed to disable unit: File /etc/systemd/system/multi-user.target.wants/avahi-daemon.service: Read-only file system This patch does two things: 1) Decorate the existing test to be skipped if the rootfs is read-only 2) add a new test to be executed only if the rootfs is read-only. This new test remounts the rootfs read-write before continuing to execute the existing test, making sure to clean up correctly after itself (remount r/o again). (From OE-Core rev: ec856301887b1139f93aa54d04bed9b842357b4f) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/opkg: skip install on read-only-rootfsAndré Draszik2019-10-191-1/+3
| | | | | | | | | | | | | | | Images can have package management enabled, but be generally running as read-only. In this case, the test fails at the moment with various errors due to that. Use the new @skipIfFeature decorator to also skip this test in that case. (From OE-Core rev: 84640e2b4daf4cf22c5b0324c22332f59e4d51e3) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/df: don't fail on long device namesAndré Draszik2019-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When device names are long (more than 20 characters), the df test will fail with an exception: self.assertTrue(int(output)>5120, msg=msg) ValueError: invalid literal for int() with base 10: '' at least when busybox is in use. The reason is that busybox breaks the line in that case: Filesystem 1K-blocks Used Available Use% Mounted on /dev/disk/by-partuuid/8e991e5a-cebd-4f88-9494-c9db4f30cb02 1998672 87024 1790408 5% / and the code tries to extract the fourth field from the second line, which is empty of course. df can be told not to break lines, though, using the -P flag, which turns on the POSIX output format, and is supported by busybox df and coreutils df: Filesystem 1024-blocks Used Available Capacity Mounted on /dev/disk/by-partuuid/8e991e5a-cebd-4f88-9494-c9db4f30cb02 1998672 87024 1790408 5% / (From OE-Core rev: 8c23c1476d0c64b9bc8806db03414fa914c1e658) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dnf.py: check busybox for case test_dnf_installrootKai Kang2019-10-091-0/+2
| | | | | | | | | | Check package busybox which is required by cases test_dnf_installroot and test_dnf_installroot_usrmerge. (From OE-Core rev: 0f09c5b7a9a66af825951354b436b69dd9a596a4) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Recognise svlogd as another loggerKhem Raj2019-09-071-1/+1
| | | | | | | | | | This is provided by runit which another init system like systemd, sysvinit, this lets oeqa run on systems which are using runit (From OE-Core rev: e4eb3ca113985ab2be123eb5b5ea76764761df88) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dnf.py: installroot support usrmergeChangqing Li2019-09-071-1/+33
| | | | | | | (From OE-Core rev: 65f8dfd81abcf48d472ee28c2cdae819fd87ef32) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu: switch to '-vga std' emulated hardware from vmware/cirrus for x86/mipsAlexander Kanavin2019-09-011-0/+4
| | | | | | | | | | | | | | | | | | | | This is the qemu default since qemu 2.2, is generally supported better, and is recommended by upstream. It also has already been in use for arm/risc and ovmf. Additional information: https://bugzilla.yoctoproject.org/show_bug.cgi?id=13466 https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ '-vga virtio' emulated hardware remains in use when virgl is enabled via a runqemu override. Also, adjust the error whitelist, as there is a number of new messages coming from the drivers that are not actual errors. (From OE-Core rev: 73cb104f3307736f4922f2e0c9648f9b2d3b3b6b) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/parselogs: grep for exact errors list keywordsKhem Raj2019-08-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Given grep expression looks for error strings regardless of the semantics and this ends up it flagging things like *********************** Log: /mnt/a/yoe/build/tmp/work/raspberrypi3_64-yoe-linux-musl/yoe-qt5-wayland-image/1.0-r0/target_logs/weston.log ----------------------- Central error: EGL_KHR_create_context_no_error EGL_KHR_fence_sync *********************** here EGL_KHR_create_context_no_error is an API, therefore the check should be tightened a bit so explicitly look for error words so such false positives don't show up This helps in fixing wrong matches e.g. on rpi3 dmesg have strings like above (From OE-Core rev: e54ecea0a7d309533973b31bdbda178d9af92632) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/buildgalculator.py: Add dependency on gtk+3Khem Raj2019-08-141-0/+1
| | | | | | | | | | | This helps in skipping this test on images which are not using gtk and as per the gcalculator website it needs gtk+3 or gtk+2 and libglade as the build first looks for gtk+3 (From OE-Core rev: 2cdb4b3697e02947352803a9db013d61b812c4fd) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/rpm: Move test_rpm_query_nonroot test case to RpmBasicTestChen Qi2019-07-151-29/+30
| | | | | | | | | | The test_rpm_query_nonroot test case was in RpmInstallRemoveTest. But it should logically belong to RpmBasicTest. So move it there. (From OE-Core rev: 506388a10a26613524602dcb4e630f216c6fee60) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/rpm: ensure no user process running before deleting userChen Qi2019-07-151-0/+15
| | | | | | | | | | | | | | | | | | In case of systemd, `su -c 'xxx' test1' via ssh will create several processes owned by test1, e.g. /lib/system/systemd --user. These processes are actually managed by user@UID.service (e.g. user@1000.service). And such service is managed automatically by systemd. In other words, it will be cleaned up by systemd automatically. So we need to wait for systemd to clean it up before trying to use `userdel' to delete the user. (From OE-Core rev: 9d398be42a69d25277b929d760aaed1679f3cd54) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/syslog: Add delay to test to avoid failuresRichard Purdie2019-06-271-0/+3
| | | | | | | | | | | On a loaded builder we've seen the log message not make it to the log file before the ssh command completes. Add a short delay to try and ensure this does happen. There is unforunately no way to flush syslog in all cases we test. (From OE-Core rev: 66322b689e46520647e2d94d5e3f3ce282a41247) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/oesyslog: systemd syslog restart doesn't change pidRichard Purdie2019-06-271-2/+5
| | | | | | | | | The systemd-journald process doesn't restart/change the way syslog does, don't test/error in this case. (From OE-Core rev: be48190dca0643df4881624d29c2eae453395919) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/syslog: Improve test debug messagesRichard Purdie2019-06-271-12/+20
| | | | | | | | | | | | Its useful to test whether the restart command returned an error code and exit early from the test if so. Also add different messages to tell if the syslog processes didn't die or didn't restart. (From OE-Core rev: f19e95b8571a0d8213c4dec0da056e3d243fbbd1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe_syslog.py: Handle syslogd/klogd restart raceJon Mason2019-06-271-9/+59
| | | | | | | | | | | | | | | | syslogd and klogd can occasionally take too long to restart, which causes tests to fail by starting before the log daemons are ready. To work around this problem, poll for up to 30 seconds on the processes to verify the old ones are killed and the new ones are up and running. Similarly, add checks for rsyslogd and systemd-journald to possibly catch issues with those daemons. [YOCTO #13379] (From OE-Core rev: dc73872b828ea271678fa624c15199364a5cba9e) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* runtime/cases/logrotate: make test more reliableAnuj Mittal2019-06-191-1/+3
| | | | | | | | | | | | | | | | | | | | | By default logrotate uses 'dateext' in logrotate.conf which results in a date string being appended at the end of log name. In cases when a test that installs configuration in logrotate.d is executed first (dnf for example), it might result in errors when logrotate test is executed: error: destination /var/log/dnf.librepo.log-20190528 already exists, skipping rotation error: destination /var/log/dnf.rpm.log-20190528 already exists, skipping rotation error: destination /var/log/hawkey.log-20190528 already exists, skipping rotation Tweak the test to use it's own temporary configuration that doesn't enable dateext. Fixes [YOCTO #13363] (From OE-Core rev: d0a30c1c57edc9a724658e2ed312b34eed3af5a9) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime: add simple test for sconsTim Orling2019-06-081-0/+37
| | | | | | | | | This test simply compiles a hello world program using scons. (From OE-Core rev: bf6e3f0f3a7a134e8e3cb16366ef01b8c956e4c8) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib+scripts: Convert to SPDX license headersRichard Purdie2019-05-0935-16/+135
| | | | | | | | | | | | | | | | | | | | | | | This adds SPDX license headers in place of the wide assortment of things currently in our script headers. We default to GPL-2.0-only except for the oeqa code where it was clearly submitted and marked as MIT on the most part or some scripts which had the "or later" GPL versioning. The patch also drops other obsolete bits of file headers where they were encoountered such as editor modelines, obsolete maintainer information or the phrase "All rights reserved" which is now obsolete and not required in copyright headers (in this case its actually confusing for licensing as all rights were not reserved). More work is needed for OE-Core but this takes care of the bulk of the scripts and meta/lib directories. The top level LICENSE files are tweaked to match the new structure and the SPDX naming. (From OE-Core rev: f8c9c511b5f1b7dbd45b77f345cb6c048ae6763e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Drop OETestIDRichard Purdie2019-05-0928-85/+0
| | | | | | | | | | These IDs refer to testopia which we're no longer using. We would now use the test names to definitively reference tests and the IDs can be dropped, along with their supporting code. (From OE-Core rev: 8e2d0575e4e7036b5f60e632f377a8ab2b96ead8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ltp_compliance: add new runtimeArmin Kuster2019-04-291-0/+104
| | | | | | | | | | | | | | | | | test runtimes in sec. AIO: 14 MEM: 94 MSG: 89 SEM: 30 SIG: 194 THR: 399 TMR: 867 TPS: 23 (From OE-Core rev: e099204c34d1cf90ae4bb44fb0f56e72904c664a) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* ltp: add runtime testArmin Kuster2019-04-291-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the framework for running ltp tests. Here are some times: math: 61 syscalls: 3957 dio: 18472 io: 29 mm: 551 ipc: 48 sched: 165 nptl: 46 pty: 37 containers: 52 controllers: 9625 filecaps: 27 cap_bounds: 27 fcntl-locktests: 29 connectors: 27 timers: 37 commands: 165 net.ipv6_lib: 30 input: 29 fs_perms_simple: 31 fs: 3476 fsx: 30 fs_bind: 28 fs_ext4: 28 cve: 675 (From OE-Core rev: 1ec677549d490a29a7c713610db4a56be7b55e26) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* parselogs.py: ignore regulatory.db load failure messages for x86*Naveen Saini2019-03-031-0/+2
| | | | | | | | | [YOCTO #13098] (From OE-Core rev: 9c20f8c6e4bb5157550e347ffd6ef790eb6a1200) Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* logrotate.py: restore /etc/logrotate.d/wtmpMingli Yu2019-02-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the test logrotate.LogrotateTest.test_1_logrotate_setup, there is below logic: # mkdir $HOME/logrotate_dir # sed -i "s#wtmp {#wtmp {\n olddir $HOME/logrotate_dir#" /etc/logrotate.d/wtmp After all logrotate.LogrotateTest finished, only cleanup $HOME/logrotate_dir as below, but don't restore the config file /etc/logrotate.d/wtmp. [snip] def tearDownClass(cls): cls.tc.target.run('rm -rf $HOME/logrotate_dir') [snip] That's to say, there is one additional line added to /etc/logrotate.d/wtmp and will make the logrotate service start failed when run systemd.SystemdBasicTests.test_systemd_failed Take an example as below when run test as root: # cat /etc/logrotate.d/wtmp # no packages own wtmp -- we'll rotate it here /var/log/wtmp { olddir /root/logrotate_dir missingok monthly create 0664 root utmp minsize 1M rotate 1 } # ls /root/logrotate_dir ls: cannot access '/root/logrotate_dir': No such file or directory # systemctl start logrotate Job for logrotate.service failed because the control process exited with error code. See "systemctl status logrotate.service" and "journalctl -xe" for details. # systemctl status logrotate logrotate.service - Rotate log files Loaded: loaded (/lib/systemd/system/logrotate.service; static; vendor preset> Active: failed (Result: exit-code) since Wed 2019-02-13 03:35:19 UTC; 7s ago Docs: man:logrotate(8) man:logrotate.conf(5) Process: 540 ExecStart=/usr/sbin/logrotate /etc/logrotate.conf (code=exited, status=1/FAILURE) Main PID: 540 (code=exited, status=1/FAILURE) Feb 13 03:35:18 qemumips systemd[1]: Starting Rotate log files... Feb 13 03:35:19 qemumips logrotate[540]: error: wtmp:9 error verifying olddir path /root/logrotate_dir: No such file or directory Feb 13 03:35:19 qemumips logrotate[540]: error: found error in file wtmp, skipping Feb 13 03:35:19 qemumips systemd[1]: logrotate.service: Main process exited, code=exited, status=1/FAILURE Feb 13 03:35:19 qemumips systemd[1]: logrotate.service: Failed with result 'exit-code'. Feb 13 03:35:19 qemumips systemd[1]: Failed to start Rotate log files. Add the logic to restore /etc/logrotate.d/wtmp to make the cleanup complete to fix the above issue. (From OE-Core rev: a2db9320d97d12d87524ff16a329f9c38a8da33f) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/runtime/cases/gi.py: fix deprecation warningAlexander Kanavin2019-02-021-1/+1
| | | | | | | | | | | With newest Python, the following is printed: PyGIDeprecationWarning: GObject.markup_escape_text is deprecated; use GLib.markup_escape_text instead) (From OE-Core rev: 7b4302d84e6c9833089bd575c1083fe826082387) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/ptest: Ensure OOM errors are loggedRichard Purdie2019-02-021-1/+9
| | | | | | | | | | | Currently processed being killed by the OOM killer may not be spotted by ptest-runner. After we complete the tests, check the logs and report if there were any. This ensures the user is aware of OOM conditions affecting the ptest results. (From OE-Core rev: 20a441d53817f80e0ce1597e77f6e794422ac49a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* perl: add testdepends for sshArmin Kuster2019-01-311-0/+2
| | | | | | | | | | | | | | | fixes: DEBUG: [Running]$ ssh -l root -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR 192.168.7.4 export PATH=/usr/sbin:/sbin:/usr/bin:/bin; perl -e '$_="Uryyb, jbeyq"; tr/a-zA-Z/n-za-mN-ZA-M/;print' | DEBUG: time: 1548816904.4024463, endtime: 1548817204.397057 | DEBUG: Partial data from SSH call: ssh: connect to host 192.168.7.4 port 22: Connection refused for master/thud/sumo (From OE-Core rev: a590e7805e3bec5dd995f7ea0b9e79a21f82b48b) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/logparser: Various misc cleanupsRichard Purdie2019-01-311-8/+5
| | | | | | | | | | | | | Get rid of further unneeded code complications: * value mappings we could just direct use * ftools when we can write files easily ourself * test result status filtering we don't use * variable overwriting module imports (From OE-Core rev: d6065f136f6d353c3054cc3f440a4e259509f876) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/logparser: Improve results handlingRichard Purdie2019-01-311-6/+8
| | | | | | | | | | | | | | | | | Merge the results handling into the ptest log parser as a seperate method. Drop the weird "pass.skip.fail." prefix to the results filename, its just bizarre. Drop the code turning a list into a regex then searching the regex for an item, "x in y" is perfectly capable. Use a dict, sort the keys as needed and drop the list sorting code. (From OE-Core rev: f317800e950b4a37b4034133bc52e0c47f04dc29) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/logparser: Add in support for duration, exitcode and logs by sectionRichard Purdie2019-01-311-1/+3
| | | | | | | | | | | Allow parsing of the ptest duration, exit code and timeout keywords from the logs, returning data on each section. Also include the logs broken out per section. (From OE-Core rev: a9a67dccaa5be0f06eedcab46dcff7cbf9202850) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/logparser: Reform the ptest results parserRichard Purdie2019-01-311-37/+3
| | | | | | | | | | Now we have a dedicated ptest parser, merge in the remaining ptest specific pieces to further clarify and simplify the code, moving to a point where we can consider extending/enhancing it. (From OE-Core rev: 05991bb5bc8018275d03fdeecee3d5a757840c7c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>