summaryrefslogtreecommitdiff
path: root/poky/meta/lib
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2019-05-16 04:57:59 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2019-05-16 05:15:53 +0300
commitc342db356d4f451821781eb24eb9f3d39d6c0c5e (patch)
tree13ee73073b2cee7d49d389aead46dd210c693cae /poky/meta/lib
parent0dd04f33864280128a3d2869833d56fddad804d2 (diff)
downloadopenbmc-c342db356d4f451821781eb24eb9f3d39d6c0c5e.tar.xz
subtree updates
poky: 4e511f0abc..a015ed7704: Adrian Bunk (22): gnutls: upgrade 3.6.5 -> 3.6.7 dhcp: Replace OE specific patch for compatibility with latest bind with upstream patch Set XZ_COMPRESSION_LEVEL to -9 gcc: Remove Java support variables Use the best xz compression for the SDK gnome-doc-utils: Remove stale patch libxcrypt: Stop adding -std=gnu99 to CPPFLAGS file: Stop adding -std=c99 to CFLAGS gnu-efi: Remove support patch for gcc < 4.7 grub: Use -Wno-error instead of doing this on a per-warning basis socat: upgrade 1.7.3.2 -> 1.7.3.3 bison: upgrade 3.0.4 -> 3.1 mmc-utils: update to the latest upstream code cogl: upgrade 1.22.2 -> 1.22.4 cogl: remove -Werror=maybe-uninitialized workaround libxcb: remove workaround patch for a bug that was fixed in gcc 5 in 2015 sysstat: inherit upstream-version-is-even ccache: upgrade 3.6 -> 3.7.1 lttng-modules: upgrade 2.10.8 -> 2.10.9 iproute2: Remove bogus workaround patch for musl openssl: Remove openssl10 Remove irda-utils and the irda feature Alejandro Enedino Hernandez Samaniego (1): run-postinsts: Fix full execution of scripts at first boot Alejandro del Castillo (1): opkg: add ptest Alex Kiernan (12): systemd-conf: simplify creation of machine-specific configuration systemctl-native: Rewrite in Python supporting preset-all and mask image: call systemctl preset-all for images uboot-sign: Fix build when UBOOT_DTB_BINARY is empty patchelf: Upgrade 0.9 -> 0.10 python3: Add ntpath.py to python core go: Exclude vcs files when installing deps recipetool: fix unbound variable when fixed SRCREV can't be found systemd: Default to non-stateless images systemd-systemctl: Restore support for enable command systemd: Restore mask and preset targets, fix instance creation shadow: Backport last change reproducibility Alexander Kanavin (38): python3: add a tr-tr locale for test_locale ptest gobject-introspection: update to 1.60.1 dtc: upgrade 1.4.7 -> 1.5.0 webkitgtk: update to 2.24.0 libdazzle: update to 3.32.1 vala: update to 0.44.3 libdnf: update to 0.28.1 libcomps: upgrade 0.1.10 -> 0.1.11 dnf: upgrade 4.1.0 -> 4.2.2 btrfs-tools: upgrade 4.20.1 -> 4.20.2 meson: update to 0.50.0 libmodulemd: update to 2.2.3 at-spi2-core: fix meson 0.50 build ffmpeg: update to 4.1.3 python: update to 2.7.16 python: update to 3.7.3 python-numpy: update to 1.16.2 icu: update to 64.1 epiphany: update to 3.32.1.2 python3: add another multilib fix meson: do not try to substitute the prefix in python supplied paths python3-pygobject: update to 3.32.0 meson: add missing Upstream-Status and SOB to a patch acpica: update to 20190405 msmtp: fix upstream version check python-scons: update to 3.0.5 python-setuptools: update to 41.0.1 python3-mako: update to 1.0.9 python3-pbr: update to 5.1.3 python3-pip: update to 19.0.3 buildhistory: call a dependency parser only on actual dependency lists gtk-doc.bbclass: unify option setting for meson-based recipes python3-pycairo: update to 1.18.1 maintainers.inc: take over as perl maintainer xorg-lib: drop native overrides for REQUIRED_DISTRO_FEATURES meson: update to 0.50.1 perl: update to 5.28.2 packagegroup-self-hosted: drop epiphany Alistair Francis (5): u-boot: Upgrade from 2019.01 to 2019.04 beaglebone-yocto: Update u-boot config to match u-boot 19.04 u-boot: Fix missing Python.h build failure libsoup: Upgrade from 2.64.2 to 2.66.1 qemu: Upgrade from 3.1.0 to 4.0.0 Andre Rosa (1): bitbake: utils: Let mkdirhier fail if existing path is not a folder Andreas Müller (17): gobject-introspection: auto-enable/-disable gobject-introspection for meson libmodulemd: use gobject-introspection.bbclass on/off mechanism gdk-pixbuf: use gobject-introspection.bbclass on/off mechanism json-glib: use gobject-introspection.bbclass on/off mechanism libdazzle: use gobject-introspection.bbclass on/off mechanism clutter-gtk-1.0: use gobject-introspection.bbclass on/off mechanism pango: use gobject-introspection.bbclass on/off mechanism at-spi2-core: use gobject-introspection.bbclass on/off mechanism atk: use gobject-introspection.bbclass on/off mechanism libsoup-2.4: use gobject-introspection.bbclass on/off mechanism glib-networking: upgrade 2.58.0 -> 2.60.1 gst-plugins: move 'inherit gobject-introspection' to recipes supporting GI gstreamer1.0-python: rework gobject-introspection handling insane.bbclass: Trigger unrecognzed configure option for meson vte: upgrade 0.52.2 -> 0.56.1 vte: move shell auto scripts into seperate package qemu: split out vte into seperate PACKAGECONFIG Andreas Obergschwandtner (1): uboot-sign: add support for different u-boot configurations Andrej Valek (2): dropbear: update to 2019.78 systemd: upgrade to 242 Angus Lees (1): Revert "wic: Set a miniumum FAT16 volume size." Anuj Mittal (4): gcc: fix CVE-2018-18484 gdb: fix CVE-2017-9778 binutils: fix CVE-2019-9074 CVE-2019-9075 CVE-2019-9076 CVE-2019-9077 openssh: fix CVE-2018-20685, CVE-2019-6109, CVE-2019-6111 Armin Kuster (8): resulttool: add ltp test support logparser: Add decoding ltp logs ltp: add runtime test resulttool: add LTP compliance section logparser: Add LTP compliance section ltp_compliance: add new runtime manual compliance: remove bits done at runtime nss: cleanup recipe to match OE style Beniamin Sandu (1): kernel-devsrc: check for localversion files in the kernel source tree Breno Leitao (3): weston-init: Fix tab indentation weston-init: Add support for non-root start weston-init: Fix WESTON_USER typo Bruce Ashfield (8): linux-yocto/5.0: update to v5.0.5 linux-yocto-rt: update to 5.0.5-rt3 linux-yocto/5.0: update to v5.0.7 linux-yocto/4.19: update to v4.19.34 linux-yocto-rt/4.19: fix merge conflict in lru_drain linux-yocto/5.0: port RAID configuration tweaks from master linux-yocto/5.0: integrate TCP timeout / hang fix linux-yocto/5.0: update TCP patch to mainline version Changhyeok Bae (2): iw: upgrade 4.14 -> 5.0.1 iptables: upgrade 1.6.2 -> 1.8.2 Changqing Li (11): ruby: make ext module fiddle can compile success ruby: add ptest cogl: fix compile error caused by -Werror=maybe-uninitialized systemd: change default locale from C.UTF-8 to C m4: add ptest support gettext: add ptest support waffle: supprt build waffle without x11 piglit: support build piglit without x11 dbus: fix ptest failure populate_sdk_base: provide options to set sdk type python3: fix do_install fail for parallel buiild Chee Yang Lee (1): wic/bootimg-efi: replace hardcoded volume name with label Chen Qi (9): runqemu: do not check return code of tput busybox: fix ptest failure about 'dc' base-files: move hostname operations out of issue file settings webkitgtk: set CVE_PRODUCT dropbear: set CVE_PRODUCT libsdl: set CVE_PRODUCT ghostscript: set CVE_PRODUCT flac: also add flac to CVE_PRODUCT squashfs-tools: set CVE_PRODUCT David Reyna (1): bitbake: toaster: update to Warrior Dengke Du (2): perf: workaround the error cased by maybe-uninitialized warning linux-yocto_5.0: set devicetree for armv5 Denys Dmytriyenko (1): weston: upgrade 5.0.0 -> 6.0.0 Douglas Royds (2): distutils: Run python from the PATH in the -native case as well distutils: Tidy and simplify for readability Fabio Berton (1): mesa: Update 19.0.1 -> 19.0.3 He Zhe (2): ltp: Fix setrlimit03 call succeeded unexpectedly systemd: Bump up SRCREV to systemd-stable top to include the fix for shutdown now hang Hongxu Jia (15): image_types.bbclass: fix a race between the ubi and ubifs FSTYPES cpio/tar/native.bbclass: move rmt to sbindir and add a prefix to avoid native clashing acpica: use update-alternatives for acpidump apr: upgrade 1.6.5 -> 1.7.0 man-pages: upgrade 4.16 -> 5.01 man-db: upgrade 2.8.4 -> 2.8.5 bash: upgrade 4.4.18 -> 5.0 ncurses: fix incorrect UPSTREAM_CHECK_GITTAGREGEX gpgme: upgrade 1.12.0 -> 1.13.0 subversion: upgrade 1.11.1 -> 1.12.0 groff: upgrade 1.22.3 -> 1.22.4 libxml2: upgrade 2.9.8 -> 2.9.9 ghostscript: 9.26 -> 9.27 groff: imporve musl support oeqa/targetcontrol.py: fix qemuparams not work in runqemu with launch_cmd Jacob Kroon (3): grub-efi-native: Install grub-editenv bitbake: knotty: Pretty print task elapsed time base-passwd: Add kvm group Jaewon Lee (1): Adding back wrapper and using OEPYTHON3HOME variable for python3 Jens Rehsack (1): kernel-module-split.bbclass: support CONFIG_MODULE_COMPRESS=y Jonas Bonn (3): systemd: don't build firstboot by default systemd: do not create machine-id systemd: create preset files instead of installing in image Joshua Watt (6): classes/waf: Set WAFLOCK resulttool: Load results from URL resulttool: Add log subcommand qemux86: Allow higher tunes bitbake.conf: Account for older versions of bitbake resulttool: Add option to dump all ptest logs Kai Kang (5): msmtp: 1.6.6 -> 1.8.3 cryptodev: fix module loading error target-sdk-provides-dummy: resolve sstate conflict bitbake.conf: set NO_RECOMMENDATIONS with weak assignment webkitgtk: fix compile error for arm64 Kevin Hao (1): meta-yocto-bsp: Bump to the latest stable kernel for all the BSP Khem Raj (9): gcc-cross-canadian: Make baremetal specific code generic musl: Upgrade to master past 1.1.22 webkitgtk: Fix build with clang mdadm: Disable Werror gcc-target: Do not set --with-sysroot and gxx-include-dir paths systemd: Add -Wno-error=format-overflow to fix build with gcc9 systemd: Backport patch to fix build with gcc9 libgfortan: Package target gcc include directory to fix gcc-9: Add recipes for gcc 9.1 release Lei Maohui (2): dnf: Enable nativesdk icu: Added armeb support. Lei Yang (1): recipetool: add missed module Luca Boccassi (1): systemd: add cgroupv2 PACKAGECONFIG Mardegan, Alberto (1): oeqa/core/runner: dump stdout and stderr of each test case Mariano Lopez (5): update-alternatives.bbclass: Add function to get metadata ptest.bbclass: Add feature to populate a binary directory util-linux: Use PTEST binary directory busybox: Use PTEST binary directory ptest.bbclass: Use d.getVar instead of os.environ Martin Jansa (6): connman: add PACKAGECONFIG for nfc, fix MACHINE_ARCH signature when l2tp is enabled icecc.bbclass: stop causing everything to be effectivelly MACHINE_ARCH glibc: always use bfd linker opkg: fix ptest packaging when OPKGLIBDIR == libdir kexec-tools: refresh patches with devtool perf: make sure that the tools/include/uapi/asm-generic directory exists Matthias Schiffer (1): systemd: move "machines" symlinks to systemd-container Max Kellermann (2): useradd-staticids: print exception after parse_args() error initrdscripts: merge multiple "mkdir" calls Michael Scott (2): kernel-fitimage: support RISC-V procps: update legacy sysctl.conf to fix rp_filter sysctl issue Mikko Rapeli (3): elfutils: remove Elfutils-Exception and include GPLv2 for shared libraries oeqa/sdk: use bash to execute SDK test commands openssh: recommend rng-tools with sshd Mingli Yu (6): nettle: fix ptest failure elfutils: add ptest support elfutils: fix build failure with musl gcc-sanitizers: fix -Werror=maybe-uninitialized issue nettle: fix the Segmentation fault nettle: fix ptest failure Nathan Rossi (1): ccmake.bbclass: Fix up un-escaped quotes in output formatting Naveen Saini (5): core-image-rt: make sure that we append to DEPENDS core-image-rt-sdk: make sure that we append to DEPENDS bitbake.conf: add git-lfs to HOSTTOOLS_NONFATAL bitbake: bitbake: fetch2/git: git-lfs check linux-yocto: update genericx86* SRCREV for 4.19 Oleksandr Kravchuk (52): iproute2: update to 5.0.0 curl: update to 7.64.1 libxext: update to 1.3.4 x11perf: update to 1.6.1 libxdmcp: update to 1.1.3 libxkbfile: update 1.1.0 libxvmc: update to 1.0.11 libxrandr: update to 1.5.2 connman: update to 1.37 ethtool: update to 5.0 tar: update to 1.32 ffmpeg: update to 4.1.2 librepo: update to 1.9.6 libxmu: update to 1.1.3 libxcrypt: update to 4.4.4 wget: update to 1.20.2 libsecret: 0.18.8 createrepo-c: update to 0.12.2 libinput: update to 1.13.0 cronie: update to 1.5.4 libyaml: update to 0.2.2 fontconfig: update to 2.13.1 makedepend: update to 1.0.6 libdrm: update to 2.4.98 libinput: update to 1.13.1 libnotify: update to 0.7.8 libpng: update to 1.6.37 libcroco: update to 0.6.13 libpsl: update to 0.21.0 git: update to 2.21.0 quota: update to 4.05 gnupg: update to 2.2.15 lz4: update to 1.9.0 orc: update to 0.4.29 help2man-native: update to 1.47.10 cups: update to 2.2.11 pixman: update to 0.38.4 libcap: update to 2.27 ninja: add Upstream-Status and SOB for musl patch python-numpy: update to 1.16.3 python3-pygobject: update to 3.32.1 wget: update to 1.20.3 libsolv: update to 0.7.4 ell: add recipe sqlite3: update to 3.28.0 kmscube: update to latest revision coreutils: update to 8.31 mtools: update to 4.0.23 msmtp: update to 1.8.4 wpa-supplicant: update to 2.8 bitbake.conf: use https instead of http ell: update to 0.20 Paul Barker (3): oe.path: Add copyhardlink() helper function license_image: Use new oe.path.copyhardlink() helper gdb: Fix aarch64 build with musl Peter Kjellerstedt (1): systemd: Use PACKAGECONFIG definition to depend on libnss-myhostname Randy MacLeod (5): valgrind: update from 3.14.0 to 3.15.0 valgrind: fix vg_regtest return code valgrind: update the ptest subdirs list valgrind: adjust test filters and expected output valgrind: fix call/cachegrind ptests Richard Purdie (52): pseudo: Update to gain key bugfixes python3: Avoid hanging tests python3: Fix ptest output parsing go.bbclass: Remove unused override goarch.bbclass: Simplify logic e2fsprogs: Skip slow ptest tests bitbake: bitbake: Update version to 1.42.0 poky.conf: Bump version for 2.7 warrior release build-appliance-image: Update to warrior head revision bitbake: bitbake: Post release version bumnp to 1.43 poky.conf: Post release version bump build-appliance-image: Update to master head revision Revert "nettle: fix ptest failure" core-image-sato-sdk-ptest: Try and keep image below 4GB limit core-image-sato-ptest-fast: Add 'fast' ptest execution image core-image-sato-sdk-ptest: Include more ptests in ptest image core-image-sato-sdk-ptest: Add temporary PROVIDES core-image-sato-ptest resultool/resultutils: Fix module import error lttng-tools: Add missing patch Upstream-Status utils/multiprocess_launch: Improve failing subprocess output python3: Drop ptest hack ptest-packagelists: Add m4 and gettext as 'fast' ptests bitbake: knotty: Implement console 'keepalive' output bitbake: build: Ensure warning for invalid task dependencies is useful bitbake: build: Disable warning about dependent tasks for now oeqa/ssh: Avoid unicode decode exceptions elfutils: ptest fixes elfutils: Fix ptest compile failures on musl bitbake: bitbake: Add initial pass of SPDX license headers to source code bitbake: bitbake: Drop duplicate license boilerplace text bitbake: bitbake: Strip old editor directives from file headers bitbake: HEADER: Drop it openssh/systemd/python/qemu: Fix patch Upstream-Status scripts/pybootchart: Fix mixed indentation scripts/pybootchart: Port to python3 scripts/pybootchart/draw: Clarify some variable names scripts/pybootchart/draw: Fix some bounding problems coreutils: Fix patch upstream status field oeqa: Drop OETestID meta/lib+scripts: Convert to SPDX license headers oeqa/core/runner: Handle unexpectedSucesses oeqa/systemd_boot: Drop OETestID oeqa/runner: Fix subunit setupClass/setupModule failure handling oeqa/concurrenttest: Patch subunit module to handle classSetup failures tcmode-default: Add PREFERRED_VERSION for libgfortran oeqa/selftest: Automate manual pybootchart tests openssh: Avoid PROVIDES warning from rng-tools dependency oeqa/target/ssh: Replace suggogatepass with ignoring errors core-image-sato-sdk-ptest: Tweak size to stay within 4GB limit valgrind: Include debugging symbols in ptests dbus-test: Improve ptest dependencies dependencies ptest: Add RDEPENDS frpm PN-ptest to PN package Robert Joslyn (1): qemu: Add PACKAGECONFIG for snappy Robert Yang (6): bitbake: bitbake-diffsigs: Use 4 spaces as indent for recursecb bitbake: bb: siggen: Make dump_sigfile and compare_sigfiles print uuid4 bitbake: bb: siggen: Print more info when basehash are mis-matched bitbake: BBHandler: Fix addtask and deltask bitbake: build.py: check dependendent task for addtask bitbake: tests/parse.py: Add testcase for addtask and deltask Ross Burton (14): lttng-tools: fix Upstream-Status acpica: upgrade to 20190215 staging: add ${datadir}/gtk-doc/html to the sysroot blacklist mpg123: port to use libsdl2 meta-poky: remove obsolete DISTRO_FEATURES_LIBC m4: update patch status packagegroup-core-full-cmdline: remove zlib wic: change expand behaviour to match docs wic: add global debug option gtk-icon-cache: clean up DEPENDS patch: add minver and maxver parameters glib-2.0: fix locale handling glib-2.0: add missing locales for the tests glib-2.0: fix last failing ptest Scott Rifenbark (34): bitbake: poky.ent: Removed "ECLIPSE" entity variables. bitbake: bitbake-user-manual: Added section on modifying variables Makefile: Removed Eclipse support Documentation: Removed customization.xsl files for Eclipse mega-manual: Removed two Eclipse figures from tarball list mega-manual, overview-manual: Added updated index releases figure poky.ent: Removed Eclipse related variables. mega-manual: Removed the Eclipse chapters dev-manual: Removed all references to Eclipse. overview-manual: Removed all references to Eclipse profile-manual: Removed all references to Eclipse ref-manual: Removed all references to Eclipse sdk-manual: Removed all references to Eclipse sdk-manual: Removed all references to Eclipse dev-manual; brief-yoctoprojectqs: Updated checkout branch example dev-manual: Added reasoning blurb to "Viewing Variables" section. ref-manual: Inserted Migration 2.7 section. ref-manual: Added Eclipse removal for migration section. ref-manual: Added "License Value Corrections to migration. ref-manual: Added Fedora 29 to the supported distros list. poky.ent: changed 2.7 release variable date to "May 2019" ref-manual: Review comments applied to 2.7 migration section. documentation: Prepared for 2.8 release bsp-guide: Removed inaccurate "container layer" references. ref-manual: Updated the "Container Layer" term. bsp-guide: Updated the "beaglebone-yocto.conf" example. documentation: Cleaned up "plug-in"/"plugin" terminology. bsp-guide: Updated the BSP kernel recipe example. ref-manual: Updated PREFERRED_VERSION variable to use 5.0 bsp-guide: More corrections to the BSP Kernel Recipe example dev-manual: Added cross-link to "Fetchers" section in BB manual. bitbake: bitbake-user-manual: Added npm to other fetcher list. overview-manual: Updated SMC section to link to fetchers ref-manual: Added "npm" information to the SRC_URI variable. Stefan Kral (1): bitbake: build: Add verbnote to shell log commands Stefan Müller-Klieser (1): cml1.bbclass: fix undefined behavior Steven Hung (洪于玉) (1): kernel.bbclass: convert base_do_unpack_append() to a task Tom Rini (2): vim: Rework to not rely on relative directories vim: Update to 8.1.1240 Wenlin Kang (1): systemd: install libnss-myhostname.so when myhostname be enabled Yeoh Ee Peng (1): resulttool/manualexecution: Refactor and remove duplicate code Yi Zhao (2): harfbuzz: update source checksums after upstream replaced the tarball libyaml: update SRC_URI[md5sum] and SRC_URI[sha256sum] Ying-Chun Liu (PaulLiu) (1): uboot-sign: Fix u-boot-nodtb symlinks Zang Ruochen (10): libatomic-ops:upgrade 7.6.8 -> 7.6.10 libgpg-error:upgrade 1.35 -> 1.36 libxft:upgrade 2.3.2 -> 2.3.3 libxxf86dga:upgrade 1.1.4 -> 1.1.5 nss:upgrade 3.42.1 -> 3.43 sysprof:upgrade 3.30.2 -> 3.32.0 libtirpc:upgrade 1.0.3 -> 1.1.4 xtrans:upgrade 1.3.5 -> 1.4.0 harfbuzz:upgrade 2.3.1 -> 2.4.0 icu: Upgrade 64.1 -> 64.2 Zheng Ruoqin (1): sanity: check_perl_modules bug fix sangeeta jain (1): resulttool/manualexecution: Enable test case configuration option meta-openembedded: 4a9deabbc8..1ecd8b4364: Adrian Bunk (34): linux-atm: Remove DEPENDS on virtual/kernel and PACKAGE_ARCH linux-atm: Replace bogus on_exit removal with musl-specific hack ledmon: Mark as incompatible on musl instead of adding bogus patch efivars: Drop workaround patch for host gcc < 4.7 sshfs-fuse: upgrade 2.8 -> 2.10 wv: upgrade 1.2.4 -> 1.2.9 caps: Upgrade 0.9.24 -> 0.9.26 dvb-apps: Remove dvb-fe-xc5000c-4.1.30.7.fw schroedinger: Remove the obsolete DEPENDS on liboil vlc: Remove workaround and patches for problems fixed upstream Remove liboil dnrd: Remove stale files of recipe removed 2 years ago postfix: Upgrade 3.4.1 -> 3.4.5 pptp-linux: Upgrade 1.9.0 -> 1.10.0 dovecot: Upgrade 2.2.36 -> 2.2.36.3 postgresql: Upgrade 11.2 -> 11.3 rocksdb: Upgrade 5.18.2 -> 5.18.3 cloud9: Remove stale files of recipe removed 2 years ago fluentbit: Upgrade 0.12.1 -> 0.12.19 libcec: Upgrade 4.0.2 -> 4.0.4 libqb: Upgrade 1.0.3 -> 1.0.5 openwsman: Upgrade 2.6.8 -> 2.6.9 glm: Upgrade 0.9.9.3 -> 0.9.9.5 fvwm: Upgrade 2.6.7 -> 2.6.8 augeas: Upgrade 1.11.0 -> 1.12.0 ccid: Upgrade 1.4.24 -> 1.4.30 daemonize: Upgrade 1.7.7 -> 1.7.8 inotify-tools: Upgrade 3.14 -> 3.20.1 liboop: Upgrade 1.0 -> 1.0.1 ode: Remove stale file of recipe removed 2 years ago openwbem: Remove stale files of recipe removed 2 years ago catch2: Upgrade 2.6.1 -> 2.7.2 geos: Upgrade 3.4.2 -> 3.4.3 rdfind: Upgrade 1.3.4 -> 1.4.1 Akshay Bhat (3): python-urllib3: Set CVE_PRODUCT python3-pillow: Set CVE_PRODUCT python-requests: Set CVE_PRODUCT Alistair Francis (3): mycroft: Update the systemd service to ensure we are ready to start mycroft: Bump from 19.2.2 to 19.2.3 python-obd: Add missing RDEPENDS Andreas Müller (33): gvfs: remove executable permission from systemd user services udisks2: upgrade 2.8.1 -> 2.8.2 parole: upgrade 1.0.1 -> 1.0.2 ristretto: upgrade 0.8.3 -> 0.8.4 networkmanager: rework musl build gvfs: remove systemd user unit executable permission adjustment fltk: upgrade 1.3.4-2 -> 1.3.5 samba: install bundled libs into seperate packages samba: rework localstatedir package split fluidsynth: upgrade 2.0.4 -> 2.0.5 xfce4-vala: auto-detect vala api version gnome-desktop3: set correct meson gtk doc option vlc: rework qt PACKAGECONFIG evince: add patch to fix build with recent gobject-introspection xfce4-cpufreq-plugin: Fix memory leak and reduce CPU load packagegroup-meta-networking: replace DISTRO_FEATURE by DISTRO_FEATURES meta-xfce: add meta-networking to layer depends gtksourceview4: initial add 4.2.0 gtksourceview-classic-light: extend to gtksourceview4 itstool: rework - it went out too early fontforge: upgrade 20170731 -> 20190413 exo: upgrade 0.12.4 -> 0.12.5 xfce4-places-plugin: upgrade 1.7.0 -> 1.8.0 xfce4-datetime-plugin: upgrade 0.7.0 -> 0.7.1 xfce4-notifyd: upgrade 0.4.3 -> 0.4.4 desktop-file-utils: remove - a more recent version is in oe-core libwnck3: upgrade 3.30.0 and move to meson build xfce4-terminal: add vte-prompt to RRECOMMENDS xfce4-session: get rid of machine-host xfce4-session: remove strange entry in FILES_${PN} libxfce4ui: Add PACKAGECONFIG 'gladeui2' for glade (gtk3) support glade3: move to to meta-xfce Remove me as maintainer Andrej Valek (2): squid: upgrade squid 3.5.28 -> 4.6 ntp: upgrade 4.2.8p12 -> 4.2.8p13 Ankit Navik (1): libnfc: Initial recipe for Near Field Communication library. Armin Kuster (1): meta-filesystems: drop bitbake from README Changqing Li (5): gd: fix compile error caused by -Werror=maybe-uninitialized apache2: add back patch for set perlbin php: upgrade 7.3.2 -> 7.3.4 postgresql: fix compile error php: correct httpd path Chris Garren (1): python-cryptography: Move linker flag to .inc Denys Dmytriyenko (1): v4l-utils: upgrade 1.16.0 -> 1.16.5 Gianfranco Costamagna (1): cpprest: update to 2.10.13, drop 32bit build fix upstream Hains van den Bosch (1): libcdio: update to version 2.1.0 Hongxu Jia (1): pmtools: use update-alternatives for acpidump Hongzhi.Song (1): lua: upgrade from v5.3.4 to v5.3.5 Ivan Maidanski (1): bdwgc: upgrade 7.6.12 -> 8.0.4 Johannes Pointner (1): samba: update to 4.8.11 Kai Kang (3): gvfs: fix typo libexec drbd: fix compile errors drbd-utils: fix file conflict with base-files Khem Raj (3): redis: Upgrade to 4.0.14 squid: Link with libatomic on mips/ppc cpupower: Inherit bash completion class Leon Anavi (1): openbox: Add python-shell as a runtime dependency Liwei Song (1): ledmon: control hard disk led for RAID arrays Mark Asselstine (1): xfconf: fix 'Failed to get connection to xfconfd' during do_rootfs Martin Jansa (13): ftgl: add x11 to required DISTRO_FEATURES like freeglut libforms: add x11 to required DISTRO_FEATURES because of libx11 Revert "ell: remove recipe" ne10: set NE10_TARGET_ARCH with an override instead of anonymous python libopus: use armv7a, aarch64 overrides when adding ne10 dependency esound: fix SRC_URI for multilib opusfile: fix SRC_URI for multilib miniupnpd: fix SRC_URI for multilib zbar: fix SRC_URI for multilib libvncserver: set PV in the recipe efivar: prevent native efivar depending on target kernel libdbi-perl: prevent native libdbi-perl depending on target perl aufs-util: prevent native aufs-util depending on target kernel Ming Liu (1): libmodbus: add documentation PACKAGECONFIG Mingli Yu (6): indent: Upgrade to 2.2.12 hostapd: Upgrade to 2.8 hwdata: Upgrade to 0.322 rrdtool: Upgrade to 1.7.1 libdev-checklib-perl: add new recipe libdbd-mysql-perl: Upgrade to 4.050 Nathan Rossi (1): fatresize_1.0.2.bb: Add recipe for fatresize command line tool Nicolas Dechesne (3): cpupower: remove LIC_FILES_CHKSUM bpftool: remove LIC_FILES_CHKSUM cannelloni: move from meta-oe to meta-networking Oleksandr Kravchuk (38): smcroute: update to 2.4.4 phytool: update to v2 fwknop: update to 2.6.10 cifs-utils: update to 6.9 keepalived: update to 2.0.15 usbredir: update to 0.8.0 open-isns: update to 0.99 nanomsg: update to 1.1.5 stunnel: update to 5.51 babeld: update to 1.8.4 drbd-utils: update to 9.8.0 drbd: update to 9.0.17-1 macchanger: update to 1.7.0 wolfssl: update to 4.0.0 ell: remove recipe analyze-suspend: update to 5.3 chrony: update to 3.4 nghttp2: update to 1.38 nano: update to 4.1 networkmanager-openvpn: update to 1.8.10 wpan-tools: update to 0.9 uftp: update to 4.9.9 vblade: add UPSTREAM_CHECK_URI traceroute: add UPSTREAM_CHECK_URI nuttcp: update to 8.2.2 nfacct: add UPSTREAM_CHECK_URI nftables: add UPSTREAM_CHECK_URI libnetfilter-queue: update to 1.0.3 arno-iptables-firewall: update to 2.0.3 ypbind-mt: update to 2.6 ebtables: add UPSTREAM_CHECK_URI doxygen: replace ninja 1.9.0 fix with official one libnetfilter-queue: fix update to 1.0.3 networkd-dispatcher: update to 2.0.1 opensaf: update to 5.19.01 libnetfilter-conntrack: update to 1.0.7 conntrack-tools: update to 1.4.5 openvpn: update to 2.4.7 Paolo Valente (1): s-suite: push SRCREV to version 3.2 Parthiban Nallathambi (6): python3-aiohttp: add version 3.5.4 python3-supervisor: add version 4.0.2 python3-websocket-client: add version 0.56.0 python3-tinyrecord: add version 0.1.5 python3-sentry-sdk: add version 0.7.14 python3-raven: add version 6.10.0 Pascal Bach (2): paho-mqtt-c: 1.2.1 -> 1.3.0 thrift: update to 0.12.0 Pavel Modilaynen (1): jsoncpp: add native BBCLASSEXTEND Peter Kjellerstedt (2): apache2: Correct appending to SYSROOT_PREPROCESS_FUNCS apache2: Correct packaging of build and doc related files Philip Balister (1): sip: Update to 4.19.16. Qi.Chen@windriver.com (4): multipath-tools: fix up patch to avoid segfault netkit-rsh: add tag to CVE patch ipsec-tools: fix CVE tag in patch gd: set CVE_PRODUCT Randy MacLeod (1): imagemagick: update from 7.0.8-35 to 7.0.8-43 Robert Joslyn (5): gpm: Fix gpm path in unit file gpm: Add PID file to systemd unit file gpm: Generate documentation gpm: Remove duplicate definition of _GNU_SOURCE gpm: Recipe cleanup Sean Nyekjaer (2): cannelloni: new package, CAN to ethernet proxy ser2net: upgrade to version 3.5.1 Vincent Prince (1): mongodb: Fix build with gcc Wenlin Kang (1): samba: add PACKAGECONFIG for libunwind Yi Zhao (7): python-flask-socketio: move to meta-python directory apache2: upgrade 2.4.34 -> 2.4.39 apache-websocket: upgrade to latest git rev netkit-rsh: security fixes openhpi: fix failure of ptest case ohpi_035 openhpi: update openhpi-fix-testfail-errors.patch phpmyadmin: upgrade 4.8.3 -> 4.8.5 Zang Ruochen (43): xlsatoms: upgrade 1.1.2 -> 1.1.3 xrdb: upgrade 1.1.1 -> 1.2.0 xrefresh: upgrade 1.0.5 -> 1.0.6 xsetroot: upgrade 1.1.1 -> 1.1.2 xstdcmap: upgrade 1.0.3 -> 1.0.4 xbitmaps: upgrade 1.1.1 -> 1.1.2 wireshark: upgrade 3.0.0 -> 3.0.1 python-cffi: upgrade 1.11.5 -> 1.12.2 python-attrs: upgrade 18.1.0 -> 19.1.0 python-certifi: upgrade 2018.8.13 -> 2019.3.9 python-beabutifulsoup4: upgrade 4.6.0 -> 4.7.1 python-dateutil: upgrade 2.7.3 -> 2.8.0 python-mako: upgrade 1.0.7 -> 1.0.9 python-msgpack: upgrade 0.6.0 -> 0.6.1 python-paste: upgrade 3.0.6 -> 3.0.8 python-psutil: upgrade 5.4.6 -> 5.6.1 python-py: upgrade 1.6.0 -> 1.8.0 python-pymongo: upgrade 3.7.1 -> 3.7.2 python-pyopenssl: upgrade 18.0.0 -> 19.0.0 python-pytz: upgrade 2018.5 -> 2019.1 python-stevedore: upgrade 1.29.0 -> 1.30.1 python-pbr: upgrade 4.2.0 -> 5.1.3 python-cython: upgrade 0.28.5 -> 0.29.6 python-editor: upgrade 1.0.3 -> 1.0.4 python-jinja2: upgrade 2.10 -> 2.10.1 python-lxml: upgrade 4.3.1 -> 4.3.3 python-alembic: upgrade 1.0.0 -> 1.0.9 python-cffi: upgrade 1.12.2 -> 1.12.3 python-hyperlink: upgrade 18.0.0 -> 19.0.0 python-twisted: upgrade 18.4.0 -> 19.2.0 python-zopeinterface: upgrade 4.5.0 -> 4.6.0 python-decorator: upgrade 4.3.0 -> 4.4.0 python-pip: upgrade 18.0 -> 19.1 python-pyasn1: upgrade 0.4.4 -> 0.4.5 libnet-dns-perl: upgrade 1.19 -> 1.20 python-alembic: upgrade 1.0.9 -> 1.0.10 python-cython: upgrade 0.29.6 -> 0.29.7 python-mock: upgrade 2.0.0 -> 3.0.5 python-pbr: upgrade 5.1.3 -> 5.2.0 python-psutil: upgrade 5.6.1 -> 5.6.2 python-pymongo: upgrade 3.7.2 -> 3.8.0 python-pyperclip: upgrade 1.6.2 -> 1.7.0 python-rfc3987: upgrade 1.3.7 -> 1.3.8 leimaohui (3): To fix confilict error with python3-pbr. python-pycodestyle: Fix conflict error with python3-pycodestyle during do_rootfs mozjs: Make mozjs support arm32BE. meta-raspberrypi: 9ceb84ee9e..7059c37451: Francesco Giancane (1): qtbase_%.bbappend: update PACKAGECONFIG name for xkbcommon Gianluigi Tiesi (1): psplash: Raise alternatives priority to 200 Martin Jansa (3): linux_raspberrypi_4.19: Update to 4.19.34 bluez5: apply the same patches and pi-bluetooth dependency for all rpi MACHINEs userland: use default PACKAGE_ARCH Paul Barker (3): linux-raspberrypi: Update 4.14.y kernel linux-raspberrypi: Switch default back to 4.14.y linux-raspberrypi 4.9: Drop old version meta-security: 8a1f54a246..9f5cc2a7eb: Alexander Kanavin (1): apparmor: fetch from git Armin Kuster (15): clamav runtime: add resolve.conf support clamav: fix llvm reference version libldb: add waf-cross-answeres clamav: runtime fix local routing clamav: add clamav-cvd package for cvd db clamav-native: fix new build issue apparmor: fix fragment for 5.0 kernel apparmor: add a few more runtime smack: move patch to smack dir smack-test: add smack tests from meta-intel-iot-security samhain: add more tests and fix ret checks libldb: add earlier version libseccomp: update to 2.4.1 oe-selftest: add running cve checker smack: kernel fragment update Yi Zhao (2): meta-tpm/conf/layer.conf: update layer dependencies meta-tpm/README: update Change-Id: I9e02cb75a779f25fca84395144025410bb609dfa Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/meta/lib')
-rw-r--r--poky/meta/lib/bblayers/create.py4
-rw-r--r--poky/meta/lib/buildstats.py3
-rw-r--r--poky/meta/lib/oe/__init__.py4
-rw-r--r--poky/meta/lib/oe/buildhistory_analysis.py4
-rw-r--r--poky/meta/lib/oe/cachedpath.py2
-rw-r--r--poky/meta/lib/oe/classextend.py4
-rw-r--r--poky/meta/lib/oe/classutils.py3
-rw-r--r--poky/meta/lib/oe/copy_buildsystem.py3
-rw-r--r--poky/meta/lib/oe/data.py4
-rw-r--r--poky/meta/lib/oe/distro_check.py4
-rw-r--r--poky/meta/lib/oe/elf.py4
-rw-r--r--poky/meta/lib/oe/gpg_sign.py4
-rw-r--r--poky/meta/lib/oe/license.py4
-rw-r--r--poky/meta/lib/oe/lsb.py4
-rw-r--r--poky/meta/lib/oe/maketype.py3
-rw-r--r--poky/meta/lib/oe/manifest.py4
-rw-r--r--poky/meta/lib/oe/package.py4
-rw-r--r--poky/meta/lib/oe/package_manager.py4
-rw-r--r--poky/meta/lib/oe/packagedata.py4
-rw-r--r--poky/meta/lib/oe/packagegroup.py4
-rw-r--r--poky/meta/lib/oe/patch.py15
-rw-r--r--poky/meta/lib/oe/path.py17
-rw-r--r--poky/meta/lib/oe/prservice.py3
-rw-r--r--poky/meta/lib/oe/qa.py4
-rw-r--r--poky/meta/lib/oe/recipeutils.py2
-rw-r--r--poky/meta/lib/oe/rootfs.py3
-rw-r--r--poky/meta/lib/oe/sdk.py4
-rw-r--r--poky/meta/lib/oe/sstatesig.py3
-rw-r--r--poky/meta/lib/oe/terminal.py3
-rw-r--r--poky/meta/lib/oe/types.py4
-rw-r--r--poky/meta/lib/oe/useradd.py3
-rw-r--r--poky/meta/lib/oe/utils.py11
-rw-r--r--poky/meta/lib/oeqa/buildperf/__init__.py8
-rw-r--r--poky/meta/lib/oeqa/buildperf/base.py9
-rw-r--r--poky/meta/lib/oeqa/buildperf/test_basic.py9
-rw-r--r--poky/meta/lib/oeqa/controllers/__init__.py3
-rw-r--r--poky/meta/lib/oeqa/controllers/masterimage.py4
-rw-r--r--poky/meta/lib/oeqa/controllers/testtargetloader.py4
-rw-r--r--poky/meta/lib/oeqa/core/case.py5
-rw-r--r--poky/meta/lib/oeqa/core/cases/example/test_basic.py4
-rw-r--r--poky/meta/lib/oeqa/core/context.py6
-rw-r--r--poky/meta/lib/oeqa/core/decorator/__init__.py5
-rw-r--r--poky/meta/lib/oeqa/core/decorator/data.py5
-rw-r--r--poky/meta/lib/oeqa/core/decorator/depends.py5
-rw-r--r--poky/meta/lib/oeqa/core/decorator/oeid.py23
-rw-r--r--poky/meta/lib/oeqa/core/decorator/oetag.py5
-rw-r--r--poky/meta/lib/oeqa/core/decorator/oetimeout.py5
-rw-r--r--poky/meta/lib/oeqa/core/exception.py5
-rw-r--r--poky/meta/lib/oeqa/core/loader.py5
-rw-r--r--poky/meta/lib/oeqa/core/runner.py70
-rw-r--r--poky/meta/lib/oeqa/core/target/__init__.py5
-rw-r--r--poky/meta/lib/oeqa/core/target/qemu.py5
-rw-r--r--poky/meta/lib/oeqa/core/target/ssh.py9
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/data.py5
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/depends.py5
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py15
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py5
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/oeid.py18
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/oetag.py5
-rw-r--r--poky/meta/lib/oeqa/core/tests/cases/timeout.py5
-rw-r--r--poky/meta/lib/oeqa/core/tests/common.py5
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_data.py4
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_decorators.py29
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_loader.py17
-rwxr-xr-xpoky/meta/lib/oeqa/core/tests/test_runner.py6
-rw-r--r--poky/meta/lib/oeqa/core/utils/concurrencytest.py29
-rw-r--r--poky/meta/lib/oeqa/core/utils/misc.py5
-rw-r--r--poky/meta/lib/oeqa/core/utils/path.py5
-rw-r--r--poky/meta/lib/oeqa/core/utils/test.py5
-rw-r--r--poky/meta/lib/oeqa/manual/compliance-test.json90
-rw-r--r--poky/meta/lib/oeqa/manual/oe-core.json26
-rw-r--r--poky/meta/lib/oeqa/oetest.py4
-rwxr-xr-xpoky/meta/lib/oeqa/runexported.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/case.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/_qemutiny.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/apt.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildcpio.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildgalculator.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/buildlzip.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/connman.py7
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/date.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/df.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/dnf.py19
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gcc.py9
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gi.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/gstreamer.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/kernelmodule.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ksample.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ldd.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/logrotate.py7
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ltp.py118
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py97
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/multilib.py7
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/oe_syslog.py9
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/opkg.py4
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/pam.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/parselogs.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/perl.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ping.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ptest.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/python.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/rpm.py11
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/scp.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/skeletoninit.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/ssh.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/stap.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/systemd.py9
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/x32lib.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/cases/xorg.py6
-rw-r--r--poky/meta/lib/oeqa/runtime/context.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/decorator/package.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/loader.py5
-rw-r--r--poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py5
-rw-r--r--poky/meta/lib/oeqa/sdk/case.py7
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/assimp.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildcpio.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildepoxy.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildgalculator.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/buildlzip.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/gcc.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/perl.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/cases/python.py4
-rw-r--r--poky/meta/lib/oeqa/sdk/context.py5
-rw-r--r--poky/meta/lib/oeqa/sdk/testsdk.py5
-rw-r--r--poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py8
-rw-r--r--poky/meta/lib/oeqa/sdkext/case.py5
-rw-r--r--poky/meta/lib/oeqa/sdkext/cases/devtool.py12
-rw-r--r--poky/meta/lib/oeqa/sdkext/context.py5
-rw-r--r--poky/meta/lib/oeqa/sdkext/testsdk.py5
-rw-r--r--poky/meta/lib/oeqa/selftest/case.py5
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/archiver.py8
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bblayers.py12
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/bbtests.py30
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildhistory.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/buildoptions.py14
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/containerimage.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/devtool.py43
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/distrodata.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/eSDK.py7
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/efibootpartition.py2
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/fetch.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/gotoolchain.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/image_typedep.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/imagefeatures.py13
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/layerappend.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/liboe.py8
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/lic_checksum.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/manifest.py7
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/meta_ide.py8
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/multiconfig.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py8
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/elf.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/license.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/path.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/types.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oelib/utils.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/oescripts.py40
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/package.py8
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/pkgdata.py13
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/prservice.py14
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipetool.py43
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/recipeutils.py5
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/resulttooltests.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runcmd.py21
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runqemu.py15
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/runtime_test.py13
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/selftest.py6
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/signing.py8
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sstate.py4
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/sstatetests.py25
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/tinfoil.py15
-rw-r--r--poky/meta/lib/oeqa/selftest/cases/wic.py75
-rw-r--r--poky/meta/lib/oeqa/selftest/context.py5
-rw-r--r--poky/meta/lib/oeqa/targetcontrol.py6
-rw-r--r--poky/meta/lib/oeqa/utils/__init__.py3
-rw-r--r--poky/meta/lib/oeqa/utils/buildproject.py4
-rw-r--r--poky/meta/lib/oeqa/utils/commands.py4
-rw-r--r--poky/meta/lib/oeqa/utils/decorators.py4
-rw-r--r--poky/meta/lib/oeqa/utils/dump.py4
-rw-r--r--poky/meta/lib/oeqa/utils/ftools.py4
-rw-r--r--poky/meta/lib/oeqa/utils/git.py2
-rw-r--r--poky/meta/lib/oeqa/utils/gitarchive.py9
-rw-r--r--poky/meta/lib/oeqa/utils/httpserver.py4
-rw-r--r--poky/meta/lib/oeqa/utils/logparser.py65
-rw-r--r--poky/meta/lib/oeqa/utils/metadata.py2
-rw-r--r--poky/meta/lib/oeqa/utils/network.py4
-rw-r--r--poky/meta/lib/oeqa/utils/package_manager.py4
-rw-r--r--poky/meta/lib/oeqa/utils/qemurunner.py4
-rw-r--r--poky/meta/lib/oeqa/utils/qemutinyrunner.py4
-rw-r--r--poky/meta/lib/oeqa/utils/sshcontrol.py5
-rw-r--r--poky/meta/lib/oeqa/utils/subprocesstweak.py3
-rw-r--r--poky/meta/lib/oeqa/utils/targetbuild.py4
-rw-r--r--poky/meta/lib/oeqa/utils/testexport.py4
-rw-r--r--poky/meta/lib/rootfspostcommands.py4
195 files changed, 1095 insertions, 778 deletions
diff --git a/poky/meta/lib/bblayers/create.py b/poky/meta/lib/bblayers/create.py
index 2ebf151ad..542f31fc8 100644
--- a/poky/meta/lib/bblayers/create.py
+++ b/poky/meta/lib/bblayers/create.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import logging
import os
import sys
diff --git a/poky/meta/lib/buildstats.py b/poky/meta/lib/buildstats.py
index c5d4c73cf..8627ed3c3 100644
--- a/poky/meta/lib/buildstats.py
+++ b/poky/meta/lib/buildstats.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
# Implements system state sampling. Called by buildstats.bbclass.
# Because it is a real Python module, it can hold persistent state,
# like open log files and the time of the last sampling.
diff --git a/poky/meta/lib/oe/__init__.py b/poky/meta/lib/oe/__init__.py
index 3ad9513f4..4e7c09da0 100644
--- a/poky/meta/lib/oe/__init__.py
+++ b/poky/meta/lib/oe/__init__.py
@@ -1,2 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
diff --git a/poky/meta/lib/oe/buildhistory_analysis.py b/poky/meta/lib/oe/buildhistory_analysis.py
index ad7fceb8b..62c7a2e58 100644
--- a/poky/meta/lib/oe/buildhistory_analysis.py
+++ b/poky/meta/lib/oe/buildhistory_analysis.py
@@ -3,6 +3,8 @@
# Copyright (C) 2012-2013, 2016-2017 Intel Corporation
# Author: Paul Eggleton <paul.eggleton@linux.intel.com>
#
+# SPDX-License-Identifier: GPL-2.0-only
+#
# Note: requires GitPython 0.3.1+
#
# You can use this from the command line by running scripts/buildhistory-diff
@@ -127,7 +129,7 @@ class ChangeRecord:
removed = list(set(aitems) - set(bitems))
added = list(set(bitems) - set(aitems))
- if not removed and not added:
+ if not removed and not added and self.fieldname in ['RPROVIDES', 'RDEPENDS', 'RRECOMMENDS', 'RSUGGESTS', 'RREPLACES', 'RCONFLICTS']:
depvera = bb.utils.explode_dep_versions2(self.oldvalue, sort=False)
depverb = bb.utils.explode_dep_versions2(self.newvalue, sort=False)
for i, j in zip(depvera.items(), depverb.items()):
diff --git a/poky/meta/lib/oe/cachedpath.py b/poky/meta/lib/oe/cachedpath.py
index 0840cc4c3..254257a83 100644
--- a/poky/meta/lib/oe/cachedpath.py
+++ b/poky/meta/lib/oe/cachedpath.py
@@ -1,4 +1,6 @@
#
+# SPDX-License-Identifier: GPL-2.0-only
+#
# Based on standard python library functions but avoid
# repeated stat calls. Its assumed the files will not change from under us
# so we can cache stat calls.
diff --git a/poky/meta/lib/oe/classextend.py b/poky/meta/lib/oe/classextend.py
index 662707b85..e25122e81 100644
--- a/poky/meta/lib/oe/classextend.py
+++ b/poky/meta/lib/oe/classextend.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import collections
class ClassExtender(object):
diff --git a/poky/meta/lib/oe/classutils.py b/poky/meta/lib/oe/classutils.py
index 45cd5249b..08bb66b36 100644
--- a/poky/meta/lib/oe/classutils.py
+++ b/poky/meta/lib/oe/classutils.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
class ClassRegistryMeta(type):
"""Give each ClassRegistry their own registry"""
diff --git a/poky/meta/lib/oe/copy_buildsystem.py b/poky/meta/lib/oe/copy_buildsystem.py
index 7cb784cf8..5b96121dd 100644
--- a/poky/meta/lib/oe/copy_buildsystem.py
+++ b/poky/meta/lib/oe/copy_buildsystem.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
# This class should provide easy access to the different aspects of the
# buildsystem such as layers, bitbake location, etc.
#
diff --git a/poky/meta/lib/oe/data.py b/poky/meta/lib/oe/data.py
index b8901e63f..602130a90 100644
--- a/poky/meta/lib/oe/data.py
+++ b/poky/meta/lib/oe/data.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import json
import oe.maketype
diff --git a/poky/meta/lib/oe/distro_check.py b/poky/meta/lib/oe/distro_check.py
index e775c3a6e..88e46c354 100644
--- a/poky/meta/lib/oe/distro_check.py
+++ b/poky/meta/lib/oe/distro_check.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
def create_socket(url, d):
import urllib
from bb.utils import export_proxies
diff --git a/poky/meta/lib/oe/elf.py b/poky/meta/lib/oe/elf.py
index 4cc9a9a09..2562cea1d 100644
--- a/poky/meta/lib/oe/elf.py
+++ b/poky/meta/lib/oe/elf.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
def machine_dict(d):
# TARGET_OS TARGET_ARCH MACHINE, OSABI, ABIVERSION, Little Endian, 32bit?
machdata = {
diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py
index ccd5aee42..a95d2ba34 100644
--- a/poky/meta/lib/oe/gpg_sign.py
+++ b/poky/meta/lib/oe/gpg_sign.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
"""Helper module for GPG signing"""
import os
diff --git a/poky/meta/lib/oe/license.py b/poky/meta/lib/oe/license.py
index 04f5b316a..c1274a61d 100644
--- a/poky/meta/lib/oe/license.py
+++ b/poky/meta/lib/oe/license.py
@@ -1,4 +1,6 @@
-# vi:sts=4:sw=4:et
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
"""Code for parsing OpenEmbedded license strings"""
import ast
diff --git a/poky/meta/lib/oe/lsb.py b/poky/meta/lib/oe/lsb.py
index 71c0992c5..4f2b419ed 100644
--- a/poky/meta/lib/oe/lsb.py
+++ b/poky/meta/lib/oe/lsb.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
def get_os_release():
"""Get all key-value pairs from /etc/os-release as a dict"""
from collections import OrderedDict
diff --git a/poky/meta/lib/oe/maketype.py b/poky/meta/lib/oe/maketype.py
index c36e7b560..d929c8b3e 100644
--- a/poky/meta/lib/oe/maketype.py
+++ b/poky/meta/lib/oe/maketype.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
"""OpenEmbedded variable typing support
Types are defined in the metadata by name, using the 'type' flag on a
diff --git a/poky/meta/lib/oe/manifest.py b/poky/meta/lib/oe/manifest.py
index 674303c86..f7c88f9a0 100644
--- a/poky/meta/lib/oe/manifest.py
+++ b/poky/meta/lib/oe/manifest.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
from abc import ABCMeta, abstractmethod
import os
import re
diff --git a/poky/meta/lib/oe/package.py b/poky/meta/lib/oe/package.py
index 6e83f01f1..b59513227 100644
--- a/poky/meta/lib/oe/package.py
+++ b/poky/meta/lib/oe/package.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import stat
import mmap
import subprocess
diff --git a/poky/meta/lib/oe/package_manager.py b/poky/meta/lib/oe/package_manager.py
index 2835c1ddf..06feb4def 100644
--- a/poky/meta/lib/oe/package_manager.py
+++ b/poky/meta/lib/oe/package_manager.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
from abc import ABCMeta, abstractmethod
import os
import glob
diff --git a/poky/meta/lib/oe/packagedata.py b/poky/meta/lib/oe/packagedata.py
index 32e5c82a9..cbde380b0 100644
--- a/poky/meta/lib/oe/packagedata.py
+++ b/poky/meta/lib/oe/packagedata.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import codecs
import os
diff --git a/poky/meta/lib/oe/packagegroup.py b/poky/meta/lib/oe/packagegroup.py
index 4bc5d3e4b..2419cbb6d 100644
--- a/poky/meta/lib/oe/packagegroup.py
+++ b/poky/meta/lib/oe/packagegroup.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import itertools
def is_optional(feature, d):
diff --git a/poky/meta/lib/oe/patch.py b/poky/meta/lib/oe/patch.py
index f43cf047c..2b1eee100 100644
--- a/poky/meta/lib/oe/patch.py
+++ b/poky/meta/lib/oe/patch.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import oe.path
import oe.types
@@ -847,6 +851,7 @@ def src_patches(d, all=False, expand=True):
def should_apply(parm, d):
+ import bb.utils
if "mindate" in parm or "maxdate" in parm:
pn = d.getVar('PN')
srcdate = d.getVar('SRCDATE_%s' % pn)
@@ -883,5 +888,15 @@ def should_apply(parm, d):
if srcrev and parm["notrev"] in srcrev:
return False, "doesn't apply to revision"
+ if "maxver" in parm:
+ pv = d.getVar('PV')
+ if bb.utils.vercmp_string_op(pv, parm["maxver"], ">"):
+ return False, "applies to earlier version"
+
+ if "minver" in parm:
+ pv = d.getVar('PV')
+ if bb.utils.vercmp_string_op(pv, parm["minver"], "<"):
+ return False, "applies to later version"
+
return True, None
diff --git a/poky/meta/lib/oe/path.py b/poky/meta/lib/oe/path.py
index 1e24d0586..fa209b979 100644
--- a/poky/meta/lib/oe/path.py
+++ b/poky/meta/lib/oe/path.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import errno
import glob
import shutil
@@ -90,7 +94,7 @@ def copytree(src, dst):
subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT)
def copyhardlinktree(src, dst):
- """ Make the hard link when possible, otherwise copy. """
+ """Make a tree of hard links when possible, otherwise copy."""
bb.utils.mkdirhier(dst)
if os.path.isdir(src) and not len(os.listdir(src)):
return
@@ -114,6 +118,17 @@ def copyhardlinktree(src, dst):
else:
copytree(src, dst)
+def copyhardlink(src, dst):
+ """Make a hard link when possible, otherwise copy."""
+
+ # We need to stat the destination directory as the destination file probably
+ # doesn't exist yet.
+ dstdir = os.path.dirname(dst)
+ if os.stat(src).st_dev == os.stat(dstdir).st_dev:
+ os.link(src, dst)
+ else:
+ shutil.copy(src, dst)
+
def remove(path, recurse=True):
"""
Equivalent to rm -f or rm -rf
diff --git a/poky/meta/lib/oe/prservice.py b/poky/meta/lib/oe/prservice.py
index 32dfc15e8..b1132ccb1 100644
--- a/poky/meta/lib/oe/prservice.py
+++ b/poky/meta/lib/oe/prservice.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
def prserv_make_conn(d, check = False):
import prserv.serv
diff --git a/poky/meta/lib/oe/qa.py b/poky/meta/lib/oe/qa.py
index 59c72ce58..21066c4dc 100644
--- a/poky/meta/lib/oe/qa.py
+++ b/poky/meta/lib/oe/qa.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import os, struct, mmap
class NotELFFileError(Exception):
diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py
index 4ca200d83..1e5b9a49f 100644
--- a/poky/meta/lib/oe/recipeutils.py
+++ b/poky/meta/lib/oe/recipeutils.py
@@ -4,6 +4,8 @@
#
# Copyright (C) 2013-2017 Intel Corporation
#
+# SPDX-License-Identifier: GPL-2.0-only
+#
import sys
import os
diff --git a/poky/meta/lib/oe/rootfs.py b/poky/meta/lib/oe/rootfs.py
index b7c0b9c24..9358f562c 100644
--- a/poky/meta/lib/oe/rootfs.py
+++ b/poky/meta/lib/oe/rootfs.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
from abc import ABCMeta, abstractmethod
from oe.utils import execute_pre_post_process
from oe.package_manager import *
diff --git a/poky/meta/lib/oe/sdk.py b/poky/meta/lib/oe/sdk.py
index 878ee1647..b4fbdb799 100644
--- a/poky/meta/lib/oe/sdk.py
+++ b/poky/meta/lib/oe/sdk.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
from abc import ABCMeta, abstractmethod
from oe.utils import execute_pre_post_process
from oe.manifest import *
diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py
index a83af519e..417943db9 100644
--- a/poky/meta/lib/oe/sstatesig.py
+++ b/poky/meta/lib/oe/sstatesig.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
import bb.siggen
import oe
diff --git a/poky/meta/lib/oe/terminal.py b/poky/meta/lib/oe/terminal.py
index e4045559f..9bda3efdc 100644
--- a/poky/meta/lib/oe/terminal.py
+++ b/poky/meta/lib/oe/terminal.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
import logging
import oe.classutils
import shlex
diff --git a/poky/meta/lib/oe/types.py b/poky/meta/lib/oe/types.py
index 1eebba5a3..77ee7ee54 100644
--- a/poky/meta/lib/oe/types.py
+++ b/poky/meta/lib/oe/types.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import errno
import re
import os
diff --git a/poky/meta/lib/oe/useradd.py b/poky/meta/lib/oe/useradd.py
index 179ac76b5..bedfe0ecb 100644
--- a/poky/meta/lib/oe/useradd.py
+++ b/poky/meta/lib/oe/useradd.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
import argparse
import re
diff --git a/poky/meta/lib/oe/utils.py b/poky/meta/lib/oe/utils.py
index a4fd79ccb..d686ce1bf 100644
--- a/poky/meta/lib/oe/utils.py
+++ b/poky/meta/lib/oe/utils.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import subprocess
import multiprocessing
import traceback
@@ -324,7 +328,12 @@ def multiprocess_launch(target, items, d, extraargs=None):
if errors:
msg = ""
for (e, tb) in errors:
- msg = msg + str(e) + ": " + str(tb) + "\n"
+ if isinstance(e, subprocess.CalledProcessError) and e.output:
+ msg = msg + str(e) + "\n"
+ msg = msg + "Subprocess output:"
+ msg = msg + e.output.decode("utf-8", errors="ignore")
+ else:
+ msg = msg + str(e) + ": " + str(tb) + "\n"
bb.fatal("Fatal errors occurred in subprocesses:\n%s" % msg)
return results
diff --git a/poky/meta/lib/oeqa/buildperf/__init__.py b/poky/meta/lib/oeqa/buildperf/__init__.py
index 605f429ec..b7ebd036a 100644
--- a/poky/meta/lib/oeqa/buildperf/__init__.py
+++ b/poky/meta/lib/oeqa/buildperf/__init__.py
@@ -1,13 +1,7 @@
# Copyright (c) 2016, Intel Corporation.
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
#
-# This program is distributed in the hope 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.
+# SPDX-License-Identifier: GPL-2.0-only
#
"""Build performance tests"""
from .base import (BuildPerfTestCase,
diff --git a/poky/meta/lib/oeqa/buildperf/base.py b/poky/meta/lib/oeqa/buildperf/base.py
index ac6ee15d0..3b2fed549 100644
--- a/poky/meta/lib/oeqa/buildperf/base.py
+++ b/poky/meta/lib/oeqa/buildperf/base.py
@@ -1,13 +1,6 @@
# Copyright (c) 2016, Intel Corporation.
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope 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.
+# SPDX-License-Identifier: GPL-2.0-only
#
"""Build performance test base classes and functionality"""
import json
diff --git a/poky/meta/lib/oeqa/buildperf/test_basic.py b/poky/meta/lib/oeqa/buildperf/test_basic.py
index 6d6b01b04..2104617ba 100644
--- a/poky/meta/lib/oeqa/buildperf/test_basic.py
+++ b/poky/meta/lib/oeqa/buildperf/test_basic.py
@@ -1,13 +1,6 @@
# Copyright (c) 2016, Intel Corporation.
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope 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.
+# SPDX-License-Identifier: GPL-2.0-only
#
"""Basic set of build performance tests"""
import os
diff --git a/poky/meta/lib/oeqa/controllers/__init__.py b/poky/meta/lib/oeqa/controllers/__init__.py
index 8eda92763..cc3836c4b 100644
--- a/poky/meta/lib/oeqa/controllers/__init__.py
+++ b/poky/meta/lib/oeqa/controllers/__init__.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
# Enable other layers to have modules in the same named directory
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
diff --git a/poky/meta/lib/oeqa/controllers/masterimage.py b/poky/meta/lib/oeqa/controllers/masterimage.py
index f175e119d..0435dfa12 100644
--- a/poky/meta/lib/oeqa/controllers/masterimage.py
+++ b/poky/meta/lib/oeqa/controllers/masterimage.py
@@ -1,7 +1,7 @@
# Copyright (C) 2014 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
-
+# SPDX-License-Identifier: MIT
+#
# This module adds support to testimage.bbclass to deploy images and run
# tests using a "master image" - this is a "known good" image that is
# installed onto the device as part of initial setup and will be booted into
diff --git a/poky/meta/lib/oeqa/controllers/testtargetloader.py b/poky/meta/lib/oeqa/controllers/testtargetloader.py
index b51d04b21..23101c737 100644
--- a/poky/meta/lib/oeqa/controllers/testtargetloader.py
+++ b/poky/meta/lib/oeqa/controllers/testtargetloader.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import types
import bb
import os
diff --git a/poky/meta/lib/oeqa/core/case.py b/poky/meta/lib/oeqa/core/case.py
index 917a2aa3f..54977c809 100644
--- a/poky/meta/lib/oeqa/core/case.py
+++ b/poky/meta/lib/oeqa/core/case.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import unittest
diff --git a/poky/meta/lib/oeqa/core/cases/example/test_basic.py b/poky/meta/lib/oeqa/core/cases/example/test_basic.py
index 11cf3800c..d77edcdce 100644
--- a/poky/meta/lib/oeqa/core/cases/example/test_basic.py
+++ b/poky/meta/lib/oeqa/core/cases/example/test_basic.py
@@ -1,5 +1,7 @@
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.case import OETestCase
from oeqa.core.decorator.depends import OETestDepends
diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py
index 821aec883..09627044c 100644
--- a/poky/meta/lib/oeqa/core/context.py
+++ b/poky/meta/lib/oeqa/core/context.py
@@ -1,5 +1,7 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+## Copyright (C) 2016 Intel Corporation
+#
+# SPDX-License-Identifier: MIT
+#
import os
import sys
diff --git a/poky/meta/lib/oeqa/core/decorator/__init__.py b/poky/meta/lib/oeqa/core/decorator/__init__.py
index 14d7bfcd3..923b21826 100644
--- a/poky/meta/lib/oeqa/core/decorator/__init__.py
+++ b/poky/meta/lib/oeqa/core/decorator/__init__.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from functools import wraps
from abc import abstractmethod, ABCMeta
diff --git a/poky/meta/lib/oeqa/core/decorator/data.py b/poky/meta/lib/oeqa/core/decorator/data.py
index f0f65abb3..babc9789d 100644
--- a/poky/meta/lib/oeqa/core/decorator/data.py
+++ b/poky/meta/lib/oeqa/core/decorator/data.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.exception import OEQAMissingVariable
diff --git a/poky/meta/lib/oeqa/core/decorator/depends.py b/poky/meta/lib/oeqa/core/decorator/depends.py
index 950dbaa67..33f0841ca 100644
--- a/poky/meta/lib/oeqa/core/decorator/depends.py
+++ b/poky/meta/lib/oeqa/core/decorator/depends.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from unittest import SkipTest
diff --git a/poky/meta/lib/oeqa/core/decorator/oeid.py b/poky/meta/lib/oeqa/core/decorator/oeid.py
deleted file mode 100644
index ea8017a55..000000000
--- a/poky/meta/lib/oeqa/core/decorator/oeid.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-from . import OETestFilter, registerDecorator
-from oeqa.core.utils.misc import intToList
-
-def _idFilter(oeid, filters):
- return False if oeid in filters else True
-
-@registerDecorator
-class OETestID(OETestFilter):
- attrs = ('oeid',)
-
- def bind(self, registry, case):
- super(OETestID, self).bind(registry, case)
-
- def filtrate(self, filters):
- if filters.get('oeid'):
- filterx = intToList(filters['oeid'], 'oeid')
- del filters['oeid']
- if _idFilter(self.oeid, filterx):
- return True
- return False
diff --git a/poky/meta/lib/oeqa/core/decorator/oetag.py b/poky/meta/lib/oeqa/core/decorator/oetag.py
index ad38ab78a..8c31138da 100644
--- a/poky/meta/lib/oeqa/core/decorator/oetag.py
+++ b/poky/meta/lib/oeqa/core/decorator/oetag.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from . import OETestFilter, registerDecorator
from oeqa.core.utils.misc import strToList
diff --git a/poky/meta/lib/oeqa/core/decorator/oetimeout.py b/poky/meta/lib/oeqa/core/decorator/oetimeout.py
index a247583f7..df90d1c79 100644
--- a/poky/meta/lib/oeqa/core/decorator/oetimeout.py
+++ b/poky/meta/lib/oeqa/core/decorator/oetimeout.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import signal
from . import OETestDecorator, registerDecorator
diff --git a/poky/meta/lib/oeqa/core/exception.py b/poky/meta/lib/oeqa/core/exception.py
index 732f2efde..05be0ed21 100644
--- a/poky/meta/lib/oeqa/core/exception.py
+++ b/poky/meta/lib/oeqa/core/exception.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
class OEQAException(Exception):
pass
diff --git a/poky/meta/lib/oeqa/core/loader.py b/poky/meta/lib/oeqa/core/loader.py
index e66de32cb..7fea0585c 100644
--- a/poky/meta/lib/oeqa/core/loader.py
+++ b/poky/meta/lib/oeqa/core/loader.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import re
diff --git a/poky/meta/lib/oeqa/core/runner.py b/poky/meta/lib/oeqa/core/runner.py
index df88b85f1..930620ea1 100644
--- a/poky/meta/lib/oeqa/core/runner.py
+++ b/poky/meta/lib/oeqa/core/runner.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import time
@@ -7,6 +10,7 @@ import unittest
import logging
import re
import json
+import sys
from unittest import TextTestResult as _TestResult
from unittest import TextTestRunner as _TestRunner
@@ -45,6 +49,9 @@ class OETestResult(_TestResult):
self.tc = tc
+ # stdout and stderr for each test case
+ self.logged_output = {}
+
def startTest(self, test):
# May have been set by concurrencytest
if test.id() not in self.starttime:
@@ -53,6 +60,9 @@ class OETestResult(_TestResult):
def stopTest(self, test):
self.endtime[test.id()] = time.time()
+ if self.buffer:
+ self.logged_output[test.id()] = (
+ sys.stdout.getvalue(), sys.stderr.getvalue())
super(OETestResult, self).stopTest(test)
if test.id() in self.progressinfo:
self.tc.logger.info(self.progressinfo[test.id()])
@@ -81,11 +91,17 @@ class OETestResult(_TestResult):
def _getTestResultDetails(self, case):
result_types = {'failures': 'FAILED', 'errors': 'ERROR', 'skipped': 'SKIPPED',
- 'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED'}
+ 'expectedFailures': 'EXPECTEDFAIL', 'successes': 'PASSED',
+ 'unexpectedSuccesses' : 'PASSED'}
for rtype in result_types:
found = False
- for (scase, msg) in getattr(self, rtype):
+ for resultclass in getattr(self, rtype):
+ # unexpectedSuccesses are just lists, not lists of tuples
+ if isinstance(resultclass, tuple):
+ scase, msg = resultclass
+ else:
+ scase, msg = resultclass, None
if case.id() == scase.id():
found = True
break
@@ -93,13 +109,13 @@ class OETestResult(_TestResult):
# When fails at module or class level the class name is passed as string
# so figure out to see if match
- m = re.search(r"^setUpModule \((?P<module_name>.*)\)$", scase_str)
+ m = re.search(r"^setUpModule \((?P<module_name>.*)\).*$", scase_str)
if m:
if case.__class__.__module__ == m.group('module_name'):
found = True
break
- m = re.search(r"^setUpClass \((?P<class_name>.*)\)$", scase_str)
+ m = re.search(r"^setUpClass \((?P<class_name>.*)\).*$", scase_str)
if m:
class_name = "%s.%s" % (case.__class__.__module__,
case.__class__.__name__)
@@ -118,7 +134,8 @@ class OETestResult(_TestResult):
self.successes.append((test, None))
super(OETestResult, self).addSuccess(test)
- def logDetails(self, json_file_dir=None, configuration=None, result_id=None):
+ def logDetails(self, json_file_dir=None, configuration=None, result_id=None,
+ dump_streams=False):
self.tc.logger.info("RESULTS:")
result = {}
@@ -131,23 +148,21 @@ class OETestResult(_TestResult):
(status, log) = self._getTestResultDetails(case)
- oeid = -1
- if hasattr(case, 'decorators'):
- for d in case.decorators:
- if hasattr(d, 'oeid'):
- oeid = d.oeid
-
t = ""
if case.id() in self.starttime and case.id() in self.endtime:
t = " (" + "{0:.2f}".format(self.endtime[case.id()] - self.starttime[case.id()]) + "s)"
if status not in logs:
logs[status] = []
- logs[status].append("RESULTS - %s - Testcase %s: %s%s" % (case.id(), oeid, status, t))
+ logs[status].append("RESULTS - %s: %s%s" % (case.id(), status, t))
+ report = {'status': status}
if log:
- result[case.id()] = {'status': status, 'log': log}
- else:
- result[case.id()] = {'status': status}
+ report['log'] = log
+ if dump_streams and case.id() in self.logged_output:
+ (stdout, stderr) = self.logged_output[case.id()]
+ report['stdout'] = stdout
+ report['stderr'] = stderr
+ result[case.id()] = report
for i in ['PASSED', 'SKIPPED', 'EXPECTEDFAIL', 'ERROR', 'FAILED', 'UNKNOWN']:
if i not in logs:
@@ -190,38 +205,19 @@ class OETestRunner(_TestRunner):
self._walked_cases = self._walked_cases + 1
def _list_tests_name(self, suite):
- from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.oetag import OETestTag
self._walked_cases = 0
- def _list_cases_without_id(logger, case):
-
- found_id = False
- if hasattr(case, 'decorators'):
- for d in case.decorators:
- if isinstance(d, OETestID):
- found_id = True
-
- if not found_id:
- logger.info('oeid missing for %s' % case.id())
-
def _list_cases(logger, case):
- oeid = None
oetag = None
if hasattr(case, 'decorators'):
for d in case.decorators:
- if isinstance(d, OETestID):
- oeid = d.oeid
- elif isinstance(d, OETestTag):
+ if isinstance(d, OETestTag):
oetag = d.oetag
- logger.info("%s\t%s\t\t%s" % (oeid, oetag, case.id()))
-
- self.tc.logger.info("Listing test cases that don't have oeid ...")
- self._walk_suite(suite, _list_cases_without_id)
- self.tc.logger.info("-" * 80)
+ logger.info("%s\t\t%s" % (oetag, case.id()))
self.tc.logger.info("Listing all available tests:")
self._walked_cases = 0
diff --git a/poky/meta/lib/oeqa/core/target/__init__.py b/poky/meta/lib/oeqa/core/target/__init__.py
index d2468bc25..1382aa9b5 100644
--- a/poky/meta/lib/oeqa/core/target/__init__.py
+++ b/poky/meta/lib/oeqa/core/target/__init__.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from abc import abstractmethod
diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py
index 7a161a323..081c627b0 100644
--- a/poky/meta/lib/oeqa/core/target/qemu.py
+++ b/poky/meta/lib/oeqa/core/target/qemu.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import sys
diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py
index 8ff1f6c67..51032ef1a 100644
--- a/poky/meta/lib/oeqa/core/target/ssh.py
+++ b/poky/meta/lib/oeqa/core/target/ssh.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import time
@@ -207,7 +210,7 @@ def SSHCall(command, logger, timeout=None, **opts):
logger.debug('time: %s, endtime: %s' % (time.time(), endtime))
try:
if select.select([process.stdout], [], [], 5)[0] != []:
- reader = codecs.getreader('utf-8')(process.stdout)
+ reader = codecs.getreader('utf-8')(process.stdout, 'ignore')
data = reader.read(1024, 4096)
if not data:
process.stdout.close()
@@ -234,7 +237,7 @@ def SSHCall(command, logger, timeout=None, **opts):
output += lastline
else:
- output = process.communicate()[0].decode("utf-8", errors='replace')
+ output = process.communicate()[0].decode('utf-8', errors='ignore')
logger.debug('Data from SSH call: %s' % output.rstrip())
options = {
diff --git a/poky/meta/lib/oeqa/core/tests/cases/data.py b/poky/meta/lib/oeqa/core/tests/cases/data.py
index 88003a6ad..0d8de87ae 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/data.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/data.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.case import OETestCase
from oeqa.core.decorator.oetag import OETestTag
diff --git a/poky/meta/lib/oeqa/core/tests/cases/depends.py b/poky/meta/lib/oeqa/core/tests/cases/depends.py
index 17cdd90b1..46e7db900 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/depends.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/depends.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.case import OETestCase
from oeqa.core.decorator.depends import OETestDepends
diff --git a/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py b/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py
deleted file mode 100644
index 038d44593..000000000
--- a/poky/meta/lib/oeqa/core/tests/cases/loader/invalid/oeid.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-from oeqa.core.case import OETestCase
-
-class AnotherIDTest(OETestCase):
-
- def testAnotherIdGood(self):
- self.assertTrue(True, msg='How is this possible?')
-
- def testAnotherIdOther(self):
- self.assertTrue(True, msg='How is this possible?')
-
- def testAnotherIdNone(self):
- self.assertTrue(True, msg='How is this possible?')
diff --git a/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py b/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py
index c9ffd1777..bedc20c8a 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/loader/valid/another.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.case import OETestCase
diff --git a/poky/meta/lib/oeqa/core/tests/cases/oeid.py b/poky/meta/lib/oeqa/core/tests/cases/oeid.py
deleted file mode 100644
index c2d3d32f2..000000000
--- a/poky/meta/lib/oeqa/core/tests/cases/oeid.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
-
-from oeqa.core.case import OETestCase
-from oeqa.core.decorator.oeid import OETestID
-
-class IDTest(OETestCase):
-
- @OETestID(101)
- def testIdGood(self):
- self.assertTrue(True, msg='How is this possible?')
-
- @OETestID(102)
- def testIdOther(self):
- self.assertTrue(True, msg='How is this possible?')
-
- def testIdNone(self):
- self.assertTrue(True, msg='How is this possible?')
diff --git a/poky/meta/lib/oeqa/core/tests/cases/oetag.py b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
index 0cae02e75..4e1d08098 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/oetag.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/oetag.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.case import OETestCase
from oeqa.core.decorator.oetag import OETestTag
diff --git a/poky/meta/lib/oeqa/core/tests/cases/timeout.py b/poky/meta/lib/oeqa/core/tests/cases/timeout.py
index 870c3157f..5dfecc7b7 100644
--- a/poky/meta/lib/oeqa/core/tests/cases/timeout.py
+++ b/poky/meta/lib/oeqa/core/tests/cases/timeout.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from time import sleep
diff --git a/poky/meta/lib/oeqa/core/tests/common.py b/poky/meta/lib/oeqa/core/tests/common.py
index 52b18a1c3..39efd504c 100644
--- a/poky/meta/lib/oeqa/core/tests/common.py
+++ b/poky/meta/lib/oeqa/core/tests/common.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import sys
import os
diff --git a/poky/meta/lib/oeqa/core/tests/test_data.py b/poky/meta/lib/oeqa/core/tests/test_data.py
index 21b6c68b8..50811bb38 100755
--- a/poky/meta/lib/oeqa/core/tests/test_data.py
+++ b/poky/meta/lib/oeqa/core/tests/test_data.py
@@ -1,7 +1,9 @@
#!/usr/bin/env python3
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import unittest
import logging
diff --git a/poky/meta/lib/oeqa/core/tests/test_decorators.py b/poky/meta/lib/oeqa/core/tests/test_decorators.py
index f7d11e885..499cd66ff 100755
--- a/poky/meta/lib/oeqa/core/tests/test_decorators.py
+++ b/poky/meta/lib/oeqa/core/tests/test_decorators.py
@@ -1,7 +1,9 @@
#!/usr/bin/env python3
-
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import signal
import unittest
@@ -42,29 +44,6 @@ class TestFilterDecorator(TestBase):
for test in tests:
self._runFilterTest(['oetag'], test[0], test[1], test[2])
- def test_oeid(self):
- # Get all cases without filtering.
- filter_all = {}
- test_all = {'testIdGood', 'testIdOther', 'testIdNone'}
- msg_all = 'Failed to get all oeid cases without filtering.'
-
- # Get cases with '101' oeid.
- filter_good = {'oeid': 101}
- test_good = {'testIdGood'}
- msg_good = 'Failed to get just one tes filtering with "101" oeid.'
-
- # Get cases with an invalid id.
- filter_invalid = {'oeid':999}
- test_invalid = set()
- msg_invalid = 'Failed to filter all test using an invalid oeid.'
-
- tests = ((filter_all, test_all, msg_all),
- (filter_good, test_good, msg_good),
- (filter_invalid, test_invalid, msg_invalid))
-
- for test in tests:
- self._runFilterTest(['oeid'], test[0], test[1], test[2])
-
class TestDependsDecorator(TestBase):
modules = ['depends']
diff --git a/poky/meta/lib/oeqa/core/tests/test_loader.py b/poky/meta/lib/oeqa/core/tests/test_loader.py
index b79b8bad4..519ba9609 100755
--- a/poky/meta/lib/oeqa/core/tests/test_loader.py
+++ b/poky/meta/lib/oeqa/core/tests/test_loader.py
@@ -1,7 +1,9 @@
#!/usr/bin/env python3
-
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import unittest
@@ -42,7 +44,7 @@ class TestLoader(TestBase):
cases_path = self.cases_path
invalid_path = os.path.join(cases_path, 'loader', 'invalid')
self.cases_path = [self.cases_path, invalid_path]
- expect = 'Duplicated oeid module found in'
+ expect = 'Duplicated oetag module found in'
msg = 'Expected ImportError exception for having duplicated module'
try:
# Must throw ImportEror because duplicated module
@@ -55,17 +57,16 @@ class TestLoader(TestBase):
self.cases_path = cases_path
def test_filter_modules(self):
- expected_modules = {'oeid', 'oetag'}
+ expected_modules = {'oetag'}
tc = self._testLoader(modules=expected_modules)
modules = getSuiteModules(tc.suites)
msg = 'Expected just %s modules' % ', '.join(expected_modules)
self.assertEqual(modules, expected_modules, msg=msg)
def test_filter_cases(self):
- modules = ['oeid', 'oetag', 'data']
+ modules = ['oetag', 'data']
expected_cases = {'data.DataTest.testDataOk',
- 'oetag.TagTest.testTagGood',
- 'oeid.IDTest.testIdGood'}
+ 'oetag.TagTest.testTagGood'}
tc = self._testLoader(modules=modules, tests=expected_cases)
cases = set(getSuiteCasesIDs(tc.suites))
msg = 'Expected just %s cases' % ', '.join(expected_cases)
@@ -74,7 +75,7 @@ class TestLoader(TestBase):
def test_import_from_paths(self):
cases_path = self.cases_path
cases2_path = os.path.join(cases_path, 'loader', 'valid')
- expected_modules = {'oeid', 'another'}
+ expected_modules = {'another'}
self.cases_path = [self.cases_path, cases2_path]
tc = self._testLoader(modules=expected_modules)
modules = getSuiteModules(tc.suites)
diff --git a/poky/meta/lib/oeqa/core/tests/test_runner.py b/poky/meta/lib/oeqa/core/tests/test_runner.py
index a3f3861fe..205464cfa 100755
--- a/poky/meta/lib/oeqa/core/tests/test_runner.py
+++ b/poky/meta/lib/oeqa/core/tests/test_runner.py
@@ -1,7 +1,9 @@
#!/usr/bin/env python3
-
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import unittest
import logging
diff --git a/poky/meta/lib/oeqa/core/utils/concurrencytest.py b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
index e050818f0..6bf771886 100644
--- a/poky/meta/lib/oeqa/core/utils/concurrencytest.py
+++ b/poky/meta/lib/oeqa/core/utils/concurrencytest.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python3
#
+# SPDX-License-Identifier: GPL-2.0-or-later
+#
# Modified for use in OE by Richard Purdie, 2018
#
# Modified by: Corey Goldberg, 2013
@@ -19,6 +21,7 @@ import testtools
import threading
import time
import io
+import subunit
from queue import Queue
from itertools import cycle
@@ -51,10 +54,11 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult):
def _add_result_with_semaphore(self, method, test, *args, **kwargs):
self.semaphore.acquire()
try:
- self.result.starttime[test.id()] = self._test_start.timestamp()
- self.result.threadprogress[self.threadnum].append(test.id())
- totalprogress = sum(len(x) for x in self.result.threadprogress.values())
- self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % (
+ if self._test_start:
+ self.result.starttime[test.id()] = self._test_start.timestamp()
+ self.result.threadprogress[self.threadnum].append(test.id())
+ totalprogress = sum(len(x) for x in self.result.threadprogress.values())
+ self.result.progressinfo[test.id()] = "%s: %s/%s %s/%s (%ss) (%s)" % (
self.threadnum,
len(self.result.threadprogress[self.threadnum]),
self.totalinprocess,
@@ -67,6 +71,23 @@ class BBThreadsafeForwardingResult(ThreadsafeForwardingResult):
super(BBThreadsafeForwardingResult, self)._add_result_with_semaphore(method, test, *args, **kwargs)
#
+# We have to patch subunit since it doesn't understand how to handle addError
+# outside of a running test case. This can happen if classSetUp() fails
+# for a class of tests. This unfortunately has horrible internal knowledge.
+#
+def outSideTestaddError(self, offset, line):
+ """An 'error:' directive has been read."""
+ test_name = line[offset:-1].decode('utf8')
+ self.parser._current_test = subunit.RemotedTestCase(test_name)
+ self.parser.current_test_description = test_name
+ self.parser._state = self.parser._reading_error_details
+ self.parser._reading_error_details.set_simple()
+ self.parser.subunitLineReceived(line)
+
+subunit._OutSideTest.addError = outSideTestaddError
+
+
+#
# A dummy structure to add to io.StringIO so that the .buffer object
# is available and accepts writes. This allows unittest with buffer=True
# to interact ok with subunit which wants to access sys.stdout.buffer.
diff --git a/poky/meta/lib/oeqa/core/utils/misc.py b/poky/meta/lib/oeqa/core/utils/misc.py
index 0b223b5d0..e1a59588e 100644
--- a/poky/meta/lib/oeqa/core/utils/misc.py
+++ b/poky/meta/lib/oeqa/core/utils/misc.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
def toList(obj, obj_type, obj_name="Object"):
if isinstance(obj, obj_type):
diff --git a/poky/meta/lib/oeqa/core/utils/path.py b/poky/meta/lib/oeqa/core/utils/path.py
index a21caad5c..c086dcb0b 100644
--- a/poky/meta/lib/oeqa/core/utils/path.py
+++ b/poky/meta/lib/oeqa/core/utils/path.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import sys
diff --git a/poky/meta/lib/oeqa/core/utils/test.py b/poky/meta/lib/oeqa/core/utils/test.py
index 88d5d1398..d38cab8a5 100644
--- a/poky/meta/lib/oeqa/core/utils/test.py
+++ b/poky/meta/lib/oeqa/core/utils/test.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import inspect
diff --git a/poky/meta/lib/oeqa/manual/compliance-test.json b/poky/meta/lib/oeqa/manual/compliance-test.json
index 982f0b46c..8c13b68ec 100644
--- a/poky/meta/lib/oeqa/manual/compliance-test.json
+++ b/poky/meta/lib/oeqa/manual/compliance-test.json
@@ -1,94 +1,6 @@
[
{
"test": {
- "@alias": "compliance-test.compliance-test.LTP_subset_test_suite",
- "author": [
- {
- "email": "corneliux.stoicescu@intel.com",
- "name": "corneliux.stoicescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "For real hardware, run following component, \nsyscalls \nfs \nfsx \ndio \nio \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ntimers \ncommands \n\nFor QEMU, run following component \nsyscalls \nmm \nipc \nsched \nmath \nnptl \npty \nadmin_tools \ncommands \n\nRun Instructions: \nLTP download: http://sourceforge.net/projects/ltp/files/LTP%20Source/ltp-20120401/ltp-full-20120401.bz2/download \n\n(link is outdated, always use the last version released or the one found in the image) \n\n\n\nbuild steps: refer to http://ltp.sourceforge.net \n\nRun steps:",
- "expected_results": ""
- },
- "2": {
- "action": "Build LTP with toolchain or in sdk image. Or use a sato-sdk image which has LTP already included in /opt/ltp",
- "expected_results": ""
- },
- "3": {
- "action": "For QEMU, create the qemu target with \"-m 512\", which makes some memory stress cases pass. For some issues, we could only set 128M for qemuarm and 256M for qemumips.",
- "expected_results": ""
- },
- "4": {
- "action": "Copy LTP folder into target, for example, /opt/ltp if you have built it yourself. Modify the default scenario file \"scenario_groups/default\", remove test suites not to be tested",
- "expected_results": ""
- },
- "5": {
- "action": "Comment runtests/sched: hackbench, which is not suitable to run in emulators. Reminder (comment it also for Sugarbay Devices).",
- "expected_results": ""
- },
- "6": {
- "action": "Comment oom01, oom02, oom03, oom04 in runtest/mm, which consume lots of memory",
- "expected_results": ""
- },
- "7": {
- "action": "From /opt/ltp run: ./runltp -p -l result-M2-20101218.log -C result-M2-20101218.fail -d /opt/ltp/tmp &> result-M2-20101218.fulllog \n\n",
- "expected_results": "Check the result on wiki, https://wiki.yoctoproject.org/wiki/LTP_result, there should be no regression failure met."
- }
- },
- "summary": "LTP_subset_test_suite"
- }
- },
- {
- "test": {
- "@alias": "compliance-test.compliance-test.POSIX_subset_test_suite",
- "author": [
- {
- "email": "corneliux.stoicescu@intel.com",
- "name": "corneliux.stoicescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "In a sato-sdk image go to /opt/ltp or get latest LTP sourcecode, download location is http://sourceforge.net/projects/ltp/files/LTP%20Source/ and install it.",
- "expected_results": ""
- },
- "2": {
- "action": "Go into the folder of LTP, and posix_testsuite is under testcases/open_posix_testsuite/",
- "expected_results": ""
- },
- "3": {
- "action": "Run connmand: make generate-makefiles",
- "expected_results": ""
- },
- "4": {
- "action": "Run connmand: make conformance-all",
- "expected_results": ""
- },
- "5": {
- "action": "Run connmand: make conformance-test (this step may show errors, ignore them)",
- "expected_results": ""
- },
- "6": {
- "action": "Run connmand: make tools-all",
- "expected_results": ""
- },
- "7": {
- "action": "Run connmand: sh posix.sh > posix.log, posix.sh as below: \n \n#!/bin/sh \n./bin/run-posix-option-group-test.sh AIO \n./bin/run-posix-option-group-test.sh MEM \n./bin/run-posix-option-group-test.sh MSG \n./bin/run-posix-option-group-test.sh SEM \n./bin/run-posix-option-group-test.sh SIG \n./bin/run-posix-option-group-test.sh THR \n./bin/run-posix-option-group-test.sh TMR \n./bin/run-posix-option-group-test.sh TPS \n \n",
- "expected_results": ""
- },
- "8": {
- "action": "Check the posix.log after testing is finished",
- "expected_results": "Compare the test result on wiki, https://wiki.yoctoproject.org/wiki/Posix_result, there should be no more regression failures met."
- }
- },
- "summary": "POSIX_subset_test_suite"
- }
- },
- {
- "test": {
"@alias": "compliance-test.compliance-test.LSB_subset_test_suite",
"author": [
{
@@ -191,4 +103,4 @@
"summary": "stress_test_-_-ltp_-Beaglebone"
}
}
-] \ No newline at end of file
+]
diff --git a/poky/meta/lib/oeqa/manual/oe-core.json b/poky/meta/lib/oeqa/manual/oe-core.json
index d893d849f..3ee0aa95f 100644
--- a/poky/meta/lib/oeqa/manual/oe-core.json
+++ b/poky/meta/lib/oeqa/manual/oe-core.json
@@ -1,32 +1,6 @@
[
{
"test": {
- "@alias": "oe-core.scripts.Use_scripts/pybootchartgui/pybootchartgui.py_to_generate_build_profiles",
- "author": [
- {
- "email": "alexandru.c.georgescu@intel.com",
- "name": "alexandru.c.georgescu@intel.com"
- }
- ],
- "execution": {
- "1": {
- "action": "Run a build for a recipe (e.g. core-image-minimal)",
- "expected_results": ""
- },
- "2": {
- "action": "Run the profiling script, ../scripts/pybootchartgui/pybootchartgui.py tmp/buildstats/ \n\n",
- "expected_results": ""
- },
- "3": {
- "action": "Verify the results ",
- "expected_results": "The scripts generates svg files with the profiling results . "
- }
- },
- "summary": "Use_scripts/pybootchartgui/pybootchartgui.py_to_generate_build_profiles"
- }
- },
- {
- "test": {
"@alias": "oe-core.scripts.Crosstap_script_check",
"author": [
{
diff --git a/poky/meta/lib/oeqa/oetest.py b/poky/meta/lib/oeqa/oetest.py
index f0423af66..9c84466dd 100644
--- a/poky/meta/lib/oeqa/oetest.py
+++ b/poky/meta/lib/oeqa/oetest.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# Main unittest module used by testimage.bbclass
# This provides the oeRuntimeTest base class which is inherited by all tests in meta/lib/oeqa/runtime.
diff --git a/poky/meta/lib/oeqa/runexported.py b/poky/meta/lib/oeqa/runexported.py
index 9cfea0f7a..7e37213df 100755
--- a/poky/meta/lib/oeqa/runexported.py
+++ b/poky/meta/lib/oeqa/runexported.py
@@ -1,9 +1,9 @@
#!/usr/bin/env python3
-
-
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# This script should be used outside of the build system to run image tests.
# It needs a json file as input as exported by the build.
diff --git a/poky/meta/lib/oeqa/runtime/case.py b/poky/meta/lib/oeqa/runtime/case.py
index 2f190acf1..f036982e1 100644
--- a/poky/meta/lib/oeqa/runtime/case.py
+++ b/poky/meta/lib/oeqa/runtime/case.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.case import OETestCase
from oeqa.utils.package_manager import install_package, uninstall_package
diff --git a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
index 7b5b48141..6886e3650 100644
--- a/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
+++ b/poky/meta/lib/oeqa/runtime/cases/_qemutiny.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
class QemuTinyTest(OERuntimeTestCase):
diff --git a/poky/meta/lib/oeqa/runtime/cases/apt.py b/poky/meta/lib/oeqa/runtime/cases/apt.py
index 793143f72..74a940d80 100644
--- a/poky/meta/lib/oeqa/runtime/cases/apt.py
+++ b/poky/meta/lib/oeqa/runtime/cases/apt.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.utils.httpserver import HTTPService
from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
index a61d1e030..f4e871e42 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildcpio.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -18,7 +21,6 @@ class BuildCpioTest(OERuntimeTestCase):
def tearDownClass(cls):
cls.project.clean()
- @OETestID(205)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
index a0a003208..6dd1faee0 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildgalculator.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -18,7 +21,6 @@ class GalculatorTest(OERuntimeTestCase):
def tearDownClass(cls):
cls.project.clean()
- @OETestID(1526)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
index 5b455a079..bc70b4146 100644
--- a/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/runtime/cases/buildlzip.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
@@ -19,7 +22,6 @@ class BuildLzipTest(OERuntimeTestCase):
def tearDownClass(cls):
cls.project.clean()
- @OETestID(206)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/connman.py b/poky/meta/lib/oeqa/runtime/cases/connman.py
index 12456b417..f0d15fac9 100644
--- a/poky/meta/lib/oeqa/runtime/cases/connman.py
+++ b/poky/meta/lib/oeqa/runtime/cases/connman.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class ConnmanTest(OERuntimeTestCase):
@@ -12,7 +15,6 @@ class ConnmanTest(OERuntimeTestCase):
else:
return "Unable to get status or logs for %s" % service
- @OETestID(961)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(["connman"])
def test_connmand_help(self):
@@ -20,7 +22,6 @@ class ConnmanTest(OERuntimeTestCase):
msg = 'Failed to get connman help. Output: %s' % output
self.assertEqual(status, 0, msg=msg)
- @OETestID(221)
@OETestDepends(['connman.ConnmanTest.test_connmand_help'])
def test_connmand_running(self):
cmd = '%s | grep [c]onnmand' % self.tc.target_cmds['ps']
diff --git a/poky/meta/lib/oeqa/runtime/cases/date.py b/poky/meta/lib/oeqa/runtime/cases/date.py
index 0887b831f..7750a7293 100644
--- a/poky/meta/lib/oeqa/runtime/cases/date.py
+++ b/poky/meta/lib/oeqa/runtime/cases/date.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import re
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class DateTest(OERuntimeTestCase):
@@ -17,7 +20,6 @@ class DateTest(OERuntimeTestCase):
self.logger.debug('Starting systemd-timesyncd daemon')
self.target.run('systemctl start systemd-timesyncd')
- @OETestID(211)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
def test_date(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/df.py b/poky/meta/lib/oeqa/runtime/cases/df.py
index e0b6bb839..d8d79f32e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/df.py
+++ b/poky/meta/lib/oeqa/runtime/cases/df.py
@@ -1,11 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class DfTest(OERuntimeTestCase):
- @OETestID(234)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['coreutils', 'busybox'])
def test_df(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/dnf.py b/poky/meta/lib/oeqa/runtime/cases/dnf.py
index c1ed39d77..629b9af3e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/dnf.py
+++ b/poky/meta/lib/oeqa/runtime/cases/dnf.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import subprocess
@@ -5,7 +9,6 @@ from oeqa.utils.httpserver import HTTPService
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotDataVar, skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
@@ -26,27 +29,22 @@ class DnfBasicTest(DnfTest):
'RPM is not the primary package manager')
@OEHasPackage(['dnf'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
- @OETestID(1735)
def test_dnf_help(self):
self.dnf('--help')
@OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
- @OETestID(1739)
def test_dnf_version(self):
self.dnf('--version')
@OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
- @OETestID(1737)
def test_dnf_info(self):
self.dnf('info dnf')
@OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
- @OETestID(1738)
def test_dnf_search(self):
self.dnf('search dnf')
@OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
- @OETestID(1736)
def test_dnf_history(self):
self.dnf('history')
@@ -71,7 +69,6 @@ class DnfRepoTest(DnfTest):
return output
@OETestDepends(['dnf.DnfBasicTest.test_dnf_help'])
- @OETestID(1744)
def test_dnf_makecache(self):
self.dnf_with_repo('makecache')
@@ -82,12 +79,10 @@ class DnfRepoTest(DnfTest):
# self.dnf_with_repo('repolist')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
- @OETestID(1746)
def test_dnf_repoinfo(self):
self.dnf_with_repo('repoinfo')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
- @OETestID(1740)
def test_dnf_install(self):
output = self.dnf_with_repo('list run-postinsts-dev')
if 'Installed Packages' in output:
@@ -95,13 +90,11 @@ class DnfRepoTest(DnfTest):
self.dnf_with_repo('install -y run-postinsts-dev')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
- @OETestID(1741)
def test_dnf_install_dependency(self):
self.dnf_with_repo('remove -y run-postinsts')
self.dnf_with_repo('install -y run-postinsts-dev')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install_dependency'])
- @OETestID(1742)
def test_dnf_install_from_disk(self):
self.dnf_with_repo('remove -y run-postinsts-dev')
self.dnf_with_repo('install -y --downloadonly run-postinsts-dev')
@@ -110,7 +103,6 @@ class DnfRepoTest(DnfTest):
self.dnf_with_repo('install -y %s' % output)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install_from_disk'])
- @OETestID(1743)
def test_dnf_install_from_http(self):
output = subprocess.check_output('%s %s -name run-postinsts-dev*' % (bb.utils.which(os.getenv('PATH'), "find"),
os.path.join(self.tc.td['WORKDIR'], 'oe-testimage-repo')), shell=True).decode("utf-8")
@@ -120,12 +112,10 @@ class DnfRepoTest(DnfTest):
self.dnf_with_repo('install -y %s' % url)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_install'])
- @OETestID(1745)
def test_dnf_reinstall(self):
self.dnf_with_repo('reinstall -y run-postinsts-dev')
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
- @OETestID(1771)
def test_dnf_installroot(self):
rootpath = '/home/root/chroot/test'
#Copy necessary files to avoid errors with not yet installed tools on
@@ -151,7 +141,6 @@ class DnfRepoTest(DnfTest):
self.assertEqual(0, status, output)
@OETestDepends(['dnf.DnfRepoTest.test_dnf_makecache'])
- @OETestID(1772)
def test_dnf_exclude(self):
excludepkg = 'curl-dev'
self.dnf_with_repo('install -y curl*')
diff --git a/poky/meta/lib/oeqa/runtime/cases/gcc.py b/poky/meta/lib/oeqa/runtime/cases/gcc.py
index 8265c59f2..1b6e431bf 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gcc.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gcc.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class GccCompileTest(OERuntimeTestCase):
@@ -24,7 +27,6 @@ class GccCompileTest(OERuntimeTestCase):
files = '/tmp/test.c /tmp/test.o /tmp/test /tmp/testmakefile'
cls.tc.target.run('rm %s' % files)
- @OETestID(203)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
def test_gcc_compile(self):
@@ -36,7 +38,6 @@ class GccCompileTest(OERuntimeTestCase):
msg = 'running compiled file failed, output: %s' % output
self.assertEqual(status, 0, msg=msg)
- @OETestID(200)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['g++'])
def test_gpp_compile(self):
@@ -48,7 +49,6 @@ class GccCompileTest(OERuntimeTestCase):
msg = 'running compiled file failed, output: %s' % output
self.assertEqual(status, 0, msg=msg)
- @OETestID(1142)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['g++'])
def test_gpp2_compile(self):
@@ -60,7 +60,6 @@ class GccCompileTest(OERuntimeTestCase):
msg = 'running compiled file failed, output: %s' % output
self.assertEqual(status, 0, msg=msg)
- @OETestID(204)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['gcc'])
@OEHasPackage(['make'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/gi.py b/poky/meta/lib/oeqa/runtime/cases/gi.py
index 7e16651df..42bd100a3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gi.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gi.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
index 128630e11..f735f82e3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
+++ b/poky/meta/lib/oeqa/runtime/cases/gstreamer.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.runtime.decorator.package import OEHasPackage
diff --git a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
index 27a2c35b7..47fd2f850 100644
--- a/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
+++ b/poky/meta/lib/oeqa/runtime/cases/kernelmodule.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
@@ -23,7 +26,6 @@ class KernelModuleTest(OERuntimeTestCase):
files = '/tmp/Makefile /tmp/hellomod.c'
cls.tc.target.run('rm %s' % files)
- @OETestID(1541)
@skipIfNotFeature('tools-sdk',
'Test requires tools-sdk to be in IMAGE_FEATURES')
@OETestDepends(['gcc.GccCompileTest.test_gcc_compile'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/ksample.py b/poky/meta/lib/oeqa/runtime/cases/ksample.py
index de2366a79..a9a1620eb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ksample.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ksample.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import time
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
# need some kernel fragments
diff --git a/poky/meta/lib/oeqa/runtime/cases/ldd.py b/poky/meta/lib/oeqa/runtime/cases/ldd.py
index 5bde1845d..9c2caa8f6 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ldd.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ldd.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class LddTest(OERuntimeTestCase):
- @OETestID(962)
@OEHasPackage(["ldd"])
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_ldd(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/logrotate.py b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
index d2666444e..8358793a2 100644
--- a/poky/meta/lib/oeqa/runtime/cases/logrotate.py
+++ b/poky/meta/lib/oeqa/runtime/cases/logrotate.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
# This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=289 testcase
# Note that the image under test must have logrotate installed
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class LogrotateTest(OERuntimeTestCase):
@@ -16,7 +19,6 @@ class LogrotateTest(OERuntimeTestCase):
def tearDownClass(cls):
cls.tc.target.run('mv -f $HOME/wtmp.oeqabak /etc/logrotate.d/wtmp && rm -rf $HOME/logrotate_dir')
- @OETestID(1544)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['logrotate'])
def test_1_logrotate_setup(self):
@@ -31,7 +33,6 @@ class LogrotateTest(OERuntimeTestCase):
' %s and %s' % (status, output))
self.assertEqual(status, 0, msg = msg)
- @OETestID(1542)
@OETestDepends(['logrotate.LogrotateTest.test_1_logrotate_setup'])
def test_2_logrotate(self):
status, output = self.target.run('logrotate -f /etc/logrotate.conf')
diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp.py b/poky/meta/lib/oeqa/runtime/cases/ltp.py
new file mode 100644
index 000000000..30548640b
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/ltp.py
@@ -0,0 +1,118 @@
+# LTP runtime
+#
+# Copyright (c) 2019 MontaVista Software, LLC
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import time
+import datetime
+import pprint
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.utils.logparser import LtpParser
+
+class LtpTestBase(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ cls.ltp_startup()
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.ltp_finishup()
+
+ @classmethod
+ def ltp_startup(cls):
+ cls.sections = {}
+ cls.failmsg = ""
+ test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage')
+ timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
+
+ cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltp_log')
+ cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp)
+ os.makedirs(cls.ltptest_log_dir)
+
+ cls.tc.target.run("mkdir -p /opt/ltp/results")
+
+ if not hasattr(cls.tc, "extraresults"):
+ cls.tc.extraresults = {}
+ cls.extras = cls.tc.extraresults
+ cls.extras['ltpresult.rawlogs'] = {'log': ""}
+
+
+ @classmethod
+ def ltp_finishup(cls):
+ cls.extras['ltpresult.sections'] = cls.sections
+
+ # update symlink to ltp_log
+ if os.path.exists(cls.ltptest_log_dir_link):
+ os.remove(cls.ltptest_log_dir_link)
+ os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link)
+
+ if cls.failmsg:
+ cls.fail(cls.failmsg)
+
+class LtpTest(LtpTestBase):
+
+ ltp_groups = ["math", "syscalls", "dio", "io", "mm", "ipc", "sched", "nptl", "pty", "containers", "controllers", "filecaps", "cap_bounds", "fcntl-locktests", "connectors","timers", "commands", "net.ipv6_lib", "input","fs_perms_simple"]
+
+ ltp_fs = ["fs", "fsx", "fs_bind", "fs_ext4"]
+ # skip kernel cpuhotplug
+ ltp_kernel = ["power_management_tests", "hyperthreading ", "kernel_misc", "hugetlb"]
+ ltp_groups += ltp_fs
+
+ def runltp(self, ltp_group):
+ cmd = '/opt/ltp/runltp -f %s -p -q -r /opt/ltp -l /opt/ltp/results/%s -I 1 -d /opt/ltp' % (ltp_group, ltp_group)
+ starttime = time.time()
+ (status, output) = self.target.run(cmd)
+ endtime = time.time()
+
+ with open(os.path.join(self.ltptest_log_dir, "%s-raw.log" % ltp_group), 'w') as f:
+ f.write(output)
+
+ self.extras['ltpresult.rawlogs']['log'] = self.extras['ltpresult.rawlogs']['log'] + output
+
+ # copy nice log from DUT
+ dst = os.path.join(self.ltptest_log_dir, "%s" % ltp_group )
+ remote_src = "/opt/ltp/results/%s" % ltp_group
+ (status, output) = self.target.copyFrom(remote_src, dst)
+ msg = 'File could not be copied. Output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
+ parser = LtpParser()
+ results, sections = parser.parse(dst)
+
+ runtime = int(endtime-starttime)
+ sections['duration'] = runtime
+ self.sections[ltp_group] = sections
+
+ failed_tests = {}
+ for test in results:
+ result = results[test]
+ testname = ("ltpresult." + ltp_group + "." + test)
+ self.extras[testname] = {'status': result}
+ if result == 'FAILED':
+ failed_tests[ltp_group] = test
+
+ if failed_tests:
+ self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests)
+
+ # LTP runtime tests
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(["ltp"])
+ def test_ltp_help(self):
+ (status, output) = self.target.run('/opt/ltp/runltp --help')
+ msg = 'Failed to get ltp help. Output: %s' % output
+ self.assertEqual(status, 0, msg=msg)
+
+ @OETestDepends(['ltp.LtpTest.test_ltp_help'])
+ def test_ltp_groups(self):
+ for ltp_group in self.ltp_groups:
+ self.runltp(ltp_group)
+
+ @OETestDepends(['ltp.LtpTest.test_ltp_groups'])
+ def test_ltp_runltp_cve(self):
+ self.runltp("cve")
diff --git a/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py b/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py
new file mode 100644
index 000000000..ba47c78fd
--- /dev/null
+++ b/poky/meta/lib/oeqa/runtime/cases/ltp_compliance.py
@@ -0,0 +1,97 @@
+# LTP compliance runtime
+#
+# Copyright (c) 2019 MontaVista Software, LLC
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
+import time
+import datetime
+import pprint
+
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.utils.logparser import LtpComplianceParser
+
+class LtpPosixBase(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ cls.ltp_startup()
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.ltp_finishup()
+
+ @classmethod
+ def ltp_startup(cls):
+ cls.sections = {}
+ cls.failmsg = ""
+ test_log_dir = os.path.join(cls.td.get('WORKDIR', ''), 'testimage')
+ timestamp = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
+
+ cls.ltptest_log_dir_link = os.path.join(test_log_dir, 'ltpcomp_log')
+ cls.ltptest_log_dir = '%s.%s' % (cls.ltptest_log_dir_link, timestamp)
+ os.makedirs(cls.ltptest_log_dir)
+
+ cls.tc.target.run("mkdir -p /opt/ltp/results")
+
+ if not hasattr(cls.tc, "extraresults"):
+ cls.tc.extraresults = {}
+ cls.extras = cls.tc.extraresults
+ cls.extras['ltpposixresult.rawlogs'] = {'log': ""}
+
+
+ @classmethod
+ def ltp_finishup(cls):
+ cls.extras['ltpposixresult.sections'] = cls.sections
+
+ # update symlink to ltp_log
+ if os.path.exists(cls.ltptest_log_dir_link):
+ os.remove(cls.ltptest_log_dir_link)
+
+ os.symlink(os.path.basename(cls.ltptest_log_dir), cls.ltptest_log_dir_link)
+
+ if cls.failmsg:
+ cls.fail(cls.failmsg)
+
+class LtpPosixTest(LtpPosixBase):
+ posix_groups = ["AIO", "MEM", "MSG", "SEM", "SIG", "THR", "TMR", "TPS"]
+
+ def runltp(self, posix_group):
+ cmd = "/opt/ltp/bin/run-posix-option-group-test.sh %s 2>@1 | tee /opt/ltp/results/%s" % (posix_group, posix_group)
+ starttime = time.time()
+ (status, output) = self.target.run(cmd)
+ endtime = time.time()
+
+ with open(os.path.join(self.ltptest_log_dir, "%s" % posix_group), 'w') as f:
+ f.write(output)
+
+ self.extras['ltpposixresult.rawlogs']['log'] = self.extras['ltpposixresult.rawlogs']['log'] + output
+
+ parser = LtpComplianceParser()
+ results, sections = parser.parse(os.path.join(self.ltptest_log_dir, "%s" % posix_group))
+
+ runtime = int(endtime-starttime)
+ sections['duration'] = runtime
+ self.sections[posix_group] = sections
+
+ failed_tests = {}
+ for test in results:
+ result = results[test]
+ testname = ("ltpposixresult." + posix_group + "." + test)
+ self.extras[testname] = {'status': result}
+ if result == 'FAILED':
+ failed_tests[posix_group] = test
+
+ if failed_tests:
+ self.failmsg = self.failmsg + "Failed ptests:\n%s" % pprint.pformat(failed_tests)
+
+ # LTP Posix compliance runtime tests
+
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ @OEHasPackage(["ltp"])
+ def test_posix_groups(self):
+ for posix_group in self.posix_groups:
+ self.runltp(posix_group)
diff --git a/poky/meta/lib/oeqa/runtime/cases/multilib.py b/poky/meta/lib/oeqa/runtime/cases/multilib.py
index 89020386b..62e662b01 100644
--- a/poky/meta/lib/oeqa/runtime/cases/multilib.py
+++ b/poky/meta/lib/oeqa/runtime/cases/multilib.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotInDataVar
from oeqa.runtime.decorator.package import OEHasPackage
@@ -23,7 +26,6 @@ class MultilibTest(OERuntimeTestCase):
msg = "%s isn't %s (is %s)" % (binary, arch, theclass)
self.assertEqual(theclass, arch, msg=msg)
- @OETestID(1593)
@skipIfNotInDataVar('MULTILIBS', 'multilib:lib32',
"This isn't a multilib:lib32 image")
@OETestDepends(['ssh.SSHTest.test_ssh'])
@@ -36,7 +38,6 @@ class MultilibTest(OERuntimeTestCase):
self.archtest("/lib/libc.so.6", "ELF32")
self.archtest("/lib64/libc.so.6", "ELF64")
- @OETestID(279)
@OETestDepends(['multilib.MultilibTest.test_check_multilib_libc'])
@OEHasPackage(['lib32-connman', '!connman'])
def test_file_connman(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
index a92a1f2bc..0f5f9f43c 100644
--- a/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/poky/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfDataVar
from oeqa.runtime.decorator.package import OEHasPackage
class SyslogTest(OERuntimeTestCase):
- @OETestID(201)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(["busybox-syslog", "sysklogd", "rsyslog", "syslog-ng"])
def test_syslog_running(self):
@@ -19,7 +21,6 @@ class SyslogTest(OERuntimeTestCase):
class SyslogTestConfig(OERuntimeTestCase):
- @OETestID(1149)
@OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
def test_syslog_logger(self):
status, output = self.target.run('logger foobar')
@@ -36,7 +37,6 @@ class SyslogTestConfig(OERuntimeTestCase):
' Output: %s ' % output)
self.assertEqual(status, 0, msg=msg)
- @OETestID(1150)
@OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
def test_syslog_restart(self):
if "systemd" != self.tc.td.get("VIRTUAL-RUNTIME_init_manager", ""):
@@ -45,7 +45,6 @@ class SyslogTestConfig(OERuntimeTestCase):
(_, _) = self.target.run('systemctl restart syslog.service')
- @OETestID(202)
@OETestDepends(['oe_syslog.SyslogTestConfig.test_syslog_logger'])
@OEHasPackage(["busybox-syslog"])
@skipIfDataVar('VIRTUAL-RUNTIME_init_manager', 'systemd',
diff --git a/poky/meta/lib/oeqa/runtime/cases/opkg.py b/poky/meta/lib/oeqa/runtime/cases/opkg.py
index 693f5d68c..bb8b6d99d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/opkg.py
+++ b/poky/meta/lib/oeqa/runtime/cases/opkg.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.utils.httpserver import HTTPService
from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/cases/pam.py b/poky/meta/lib/oeqa/runtime/cases/pam.py
index 3654cdc94..271a1943e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/pam.py
+++ b/poky/meta/lib/oeqa/runtime/cases/pam.py
@@ -1,14 +1,16 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
# This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=287 testcase
# Note that the image under test must have "pam" in DISTRO_FEATURES
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
class PamBasicTest(OERuntimeTestCase):
- @OETestID(1543)
@skipIfNotFeature('pam', 'Test requires pam to be in DISTRO_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_pam(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/parselogs.py b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
index bed4a022c..eb2ebb195 100644
--- a/poky/meta/lib/oeqa/runtime/cases/parselogs.py
+++ b/poky/meta/lib/oeqa/runtime/cases/parselogs.py
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from subprocess import check_output
from shutil import rmtree
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfDataVar
from oeqa.runtime.decorator.package import OEHasPackage
@@ -351,7 +354,6 @@ class ParseLogsTest(OERuntimeTestCase):
def write_dmesg(self):
(status, dmesg) = self.target.run('dmesg > /tmp/dmesg_output.log')
- @OETestID(1059)
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_parselogs(self):
self.write_dmesg()
diff --git a/poky/meta/lib/oeqa/runtime/cases/perl.py b/poky/meta/lib/oeqa/runtime/cases/perl.py
index be3287f22..2c6b3b784 100644
--- a/poky/meta/lib/oeqa/runtime/cases/perl.py
+++ b/poky/meta/lib/oeqa/runtime/cases/perl.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class PerlTest(OERuntimeTestCase):
- @OETestID(208)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['perl'])
def test_perl_works(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/ping.py b/poky/meta/lib/oeqa/runtime/cases/ping.py
index 02f580abe..f6603f75e 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ping.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ping.py
@@ -1,13 +1,15 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from subprocess import Popen, PIPE
from oeqa.runtime.case import OERuntimeTestCase
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.oetimeout import OETimeout
class PingTest(OERuntimeTestCase):
@OETimeout(30)
- @OETestID(964)
def test_ping(self):
output = ''
count = 0
diff --git a/poky/meta/lib/oeqa/runtime/cases/ptest.py b/poky/meta/lib/oeqa/runtime/cases/ptest.py
index 2a28ca59a..d8d1e1b34 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ptest.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ptest.py
@@ -1,17 +1,19 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import unittest
import pprint
import datetime
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.utils.logparser import PtestParser
class PtestRunnerTest(OERuntimeTestCase):
- @OETestID(1600)
@skipIfNotFeature('ptest', 'Test requires ptest to be in DISTRO_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['ptest-runner'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/python.py b/poky/meta/lib/oeqa/runtime/cases/python.py
index 66ab4d25f..ec54f1e1d 100644
--- a/poky/meta/lib/oeqa/runtime/cases/python.py
+++ b/poky/meta/lib/oeqa/runtime/cases/python.py
@@ -1,10 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class PythonTest(OERuntimeTestCase):
- @OETestID(965)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['python3-core'])
def test_python3(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/rpm.py b/poky/meta/lib/oeqa/runtime/cases/rpm.py
index de92157c5..d8cabd364 100644
--- a/poky/meta/lib/oeqa/runtime/cases/rpm.py
+++ b/poky/meta/lib/oeqa/runtime/cases/rpm.py
@@ -1,16 +1,18 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import fnmatch
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfDataVar
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.core.utils.path import findFile
class RpmBasicTest(OERuntimeTestCase):
- @OETestID(960)
@OEHasPackage(['rpm'])
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_rpm_help(self):
@@ -18,7 +20,6 @@ class RpmBasicTest(OERuntimeTestCase):
msg = 'status and output: %s and %s' % (status, output)
self.assertEqual(status, 0, msg=msg)
- @OETestID(191)
@OETestDepends(['rpm.RpmBasicTest.test_rpm_help'])
def test_rpm_query(self):
status, output = self.target.run('ls /var/lib/rpm/')
@@ -43,7 +44,6 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
cls.test_file = os.path.join(rpmdir, f)
cls.dst = '/tmp/base-passwd-doc.rpm'
- @OETestID(192)
@OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
def test_rpm_install(self):
self.tc.target.copyTo(self.test_file, self.dst)
@@ -52,14 +52,12 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
self.assertEqual(status, 0, msg=msg)
self.tc.target.run('rm -f %s' % self.dst)
- @OETestID(194)
@OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_install'])
def test_rpm_remove(self):
status,output = self.target.run('rpm -e base-passwd-doc')
msg = 'Failed to remove base-passwd-doc package: %s' % output
self.assertEqual(status, 0, msg=msg)
- @OETestID(1096)
@OETestDepends(['rpm.RpmBasicTest.test_rpm_query'])
def test_rpm_query_nonroot(self):
@@ -92,7 +90,6 @@ class RpmInstallRemoveTest(OERuntimeTestCase):
finally:
unset_up_test_user(tuser)
- @OETestID(195)
@OETestDepends(['rpm.RpmInstallRemoveTest.test_rpm_remove'])
def test_check_rpm_install_removal_log_file_size(self):
"""
diff --git a/poky/meta/lib/oeqa/runtime/cases/scp.py b/poky/meta/lib/oeqa/runtime/cases/scp.py
index 8f895da95..3a5f29215 100644
--- a/poky/meta/lib/oeqa/runtime/cases/scp.py
+++ b/poky/meta/lib/oeqa/runtime/cases/scp.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from tempfile import mkstemp
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class ScpTest(OERuntimeTestCase):
@@ -19,7 +22,6 @@ class ScpTest(OERuntimeTestCase):
def tearDownClass(cls):
os.remove(cls.tmp_path)
- @OETestID(220)
@OETestDepends(['ssh.SSHTest.test_ssh'])
@OEHasPackage(['openssh-scp', 'dropbear'])
def test_scp_file(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
index 4fdcf033a..4779cd6bb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
+++ b/poky/meta/lib/oeqa/runtime/cases/skeletoninit.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
# This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=284
# testcase. Image under test must have meta-skeleton layer in bblayers and
# IMAGE_INSTALL_append = " service" in local.conf
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfDataVar
from oeqa.runtime.decorator.package import OEHasPackage
@@ -22,7 +25,6 @@ class SkeletonBasicTest(OERuntimeTestCase):
msg = 'skeleton-test not found. Output:\n%s' % output
self.assertEqual(status, 0, msg=msg)
- @OETestID(284)
@OETestDepends(['skeletoninit.SkeletonBasicTest.test_skeleton_availability'])
def test_skeleton_script(self):
output1 = self.target.run("/etc/init.d/skeleton start")[1]
diff --git a/poky/meta/lib/oeqa/runtime/cases/ssh.py b/poky/meta/lib/oeqa/runtime/cases/ssh.py
index 0b1ea7bcc..60a5fbbfb 100644
--- a/poky/meta/lib/oeqa/runtime/cases/ssh.py
+++ b/poky/meta/lib/oeqa/runtime/cases/ssh.py
@@ -1,11 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.runtime.decorator.package import OEHasPackage
class SSHTest(OERuntimeTestCase):
- @OETestID(224)
@OETestDepends(['ping.PingTest.test_ping'])
@OEHasPackage(['dropbear', 'openssh-sshd'])
def test_ssh(self):
diff --git a/poky/meta/lib/oeqa/runtime/cases/stap.py b/poky/meta/lib/oeqa/runtime/cases/stap.py
index c492caffd..5342f6ac3 100644
--- a/poky/meta/lib/oeqa/runtime/cases/stap.py
+++ b/poky/meta/lib/oeqa/runtime/cases/stap.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
@@ -19,7 +22,6 @@ class StapTest(OERuntimeTestCase):
files = '/tmp/hello.stp'
cls.tc.target.run('rm %s' % files)
- @OETestID(1652)
@skipIfNotFeature('tools-profile',
'Test requires tools-profile to be in IMAGE_FEATURES')
@OETestDepends(['kernelmodule.KernelModuleTest.test_kernel_module'])
diff --git a/poky/meta/lib/oeqa/runtime/cases/systemd.py b/poky/meta/lib/oeqa/runtime/cases/systemd.py
index 460b8fc3a..c11fa49b0 100644
--- a/poky/meta/lib/oeqa/runtime/cases/systemd.py
+++ b/poky/meta/lib/oeqa/runtime/cases/systemd.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import re
import time
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfDataVar, skipIfNotDataVar
from oeqa.runtime.decorator.package import OEHasPackage
from oeqa.core.decorator.data import skipIfNotFeature
@@ -78,12 +81,10 @@ class SystemdBasicTests(SystemdTest):
def test_systemd_basic(self):
self.systemctl('--version')
- @OETestID(551)
@OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])
def test_systemd_list(self):
self.systemctl('list-unit-files')
- @OETestID(550)
@OETestDepends(['systemd.SystemdBasicTests.test_systemd_basic'])
def test_systemd_failed(self):
settled, output = self.settle()
@@ -104,7 +105,6 @@ class SystemdServiceTests(SystemdTest):
def test_systemd_status(self):
self.systemctl('status --full', 'avahi-daemon.service')
- @OETestID(695)
@OETestDepends(['systemd.SystemdServiceTests.test_systemd_status'])
def test_systemd_stop_start(self):
self.systemctl('stop', 'avahi-daemon.service')
@@ -113,7 +113,6 @@ class SystemdServiceTests(SystemdTest):
self.systemctl('start','avahi-daemon.service')
self.systemctl('is-active', 'avahi-daemon.service', verbose=True)
- @OETestID(696)
@OETestDepends(['systemd.SystemdServiceTests.test_systemd_status'])
def test_systemd_disable_enable(self):
self.systemctl('disable', 'avahi-daemon.service')
diff --git a/poky/meta/lib/oeqa/runtime/cases/x32lib.py b/poky/meta/lib/oeqa/runtime/cases/x32lib.py
index 8da0154e7..ddf220140 100644
--- a/poky/meta/lib/oeqa/runtime/cases/x32lib.py
+++ b/poky/meta/lib/oeqa/runtime/cases/x32lib.py
@@ -1,13 +1,15 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotInDataVar
class X32libTest(OERuntimeTestCase):
@skipIfNotInDataVar('DEFAULTTUNE', 'x86-64-x32',
'DEFAULTTUNE is not set to x86-64-x32')
- @OETestID(281)
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_x32_file(self):
cmd = 'readelf -h /bin/ls | grep Class | grep ELF32'
diff --git a/poky/meta/lib/oeqa/runtime/cases/xorg.py b/poky/meta/lib/oeqa/runtime/cases/xorg.py
index 82521c69a..d6845587c 100644
--- a/poky/meta/lib/oeqa/runtime/cases/xorg.py
+++ b/poky/meta/lib/oeqa/runtime/cases/xorg.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
-from oeqa.core.decorator.oeid import OETestID
from oeqa.core.decorator.data import skipIfNotFeature
from oeqa.runtime.decorator.package import OEHasPackage
class XorgTest(OERuntimeTestCase):
- @OETestID(1151)
@skipIfNotFeature('x11-base',
'Test requires x11 to be in IMAGE_FEATURES')
@OETestDepends(['ssh.SSHTest.test_ssh'])
diff --git a/poky/meta/lib/oeqa/runtime/context.py b/poky/meta/lib/oeqa/runtime/context.py
index db0482d68..77d58eefa 100644
--- a/poky/meta/lib/oeqa/runtime/context.py
+++ b/poky/meta/lib/oeqa/runtime/context.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
diff --git a/poky/meta/lib/oeqa/runtime/decorator/package.py b/poky/meta/lib/oeqa/runtime/decorator/package.py
index aa6ecb68f..4c5ca198b 100644
--- a/poky/meta/lib/oeqa/runtime/decorator/package.py
+++ b/poky/meta/lib/oeqa/runtime/decorator/package.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.decorator import OETestDecorator, registerDecorator
from oeqa.core.utils.misc import strToSet
diff --git a/poky/meta/lib/oeqa/runtime/loader.py b/poky/meta/lib/oeqa/runtime/loader.py
index 041ef976e..7041ddfde 100644
--- a/poky/meta/lib/oeqa/runtime/loader.py
+++ b/poky/meta/lib/oeqa/runtime/loader.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.core.loader import OETestLoader
from oeqa.runtime.case import OERuntimeTestCase
diff --git a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
index de17ba01f..f4f4816a9 100644
--- a/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
+++ b/poky/meta/lib/oeqa/runtime/utils/targetbuildproject.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.utils.buildproject import BuildProject
diff --git a/poky/meta/lib/oeqa/sdk/case.py b/poky/meta/lib/oeqa/sdk/case.py
index d8611c8b3..ebb03af9e 100644
--- a/poky/meta/lib/oeqa/sdk/case.py
+++ b/poky/meta/lib/oeqa/sdk/case.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import subprocess
@@ -9,7 +12,7 @@ from oeqa.core.case import OETestCase
class OESDKTestCase(OETestCase):
def _run(self, cmd):
return subprocess.check_output(". %s > /dev/null; %s;" % \
- (self.tc.sdk_env, cmd), shell=True,
+ (self.tc.sdk_env, cmd), shell=True, executable="/bin/bash",
stderr=subprocess.STDOUT, universal_newlines=True)
def fetch(self, workdir, dl_dir, url, archive=None):
diff --git a/poky/meta/lib/oeqa/sdk/cases/assimp.py b/poky/meta/lib/oeqa/sdk/cases/assimp.py
index a60001039..f26b17f2e 100644
--- a/poky/meta/lib/oeqa/sdk/cases/assimp.py
+++ b/poky/meta/lib/oeqa/sdk/cases/assimp.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import subprocess
import tempfile
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
index 9504ee8e0..0a5e68d5f 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildcpio.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import tempfile
import subprocess
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
index ef24b4f4a..f3d207c6d 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildepoxy.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import subprocess
import tempfile
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 47d7580fa..bbaa5c55c 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import subprocess
import tempfile
diff --git a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
index b7483bfea..515acd289 100644
--- a/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
+++ b/poky/meta/lib/oeqa/sdk/cases/buildlzip.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os, tempfile, subprocess, unittest
from oeqa.sdk.case import OESDKTestCase
from oeqa.utils.subprocesstweak import errors_have_output
diff --git a/poky/meta/lib/oeqa/sdk/cases/gcc.py b/poky/meta/lib/oeqa/sdk/cases/gcc.py
index 54c6fc488..eb08eadd2 100644
--- a/poky/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/poky/meta/lib/oeqa/sdk/cases/gcc.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import shutil
import unittest
diff --git a/poky/meta/lib/oeqa/sdk/cases/perl.py b/poky/meta/lib/oeqa/sdk/cases/perl.py
index b8adc5ac7..14d76d820 100644
--- a/poky/meta/lib/oeqa/sdk/cases/perl.py
+++ b/poky/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import unittest
from oeqa.sdk.case import OESDKTestCase
diff --git a/poky/meta/lib/oeqa/sdk/cases/python.py b/poky/meta/lib/oeqa/sdk/cases/python.py
index b9174fadb..a334abce5 100644
--- a/poky/meta/lib/oeqa/sdk/cases/python.py
+++ b/poky/meta/lib/oeqa/sdk/cases/python.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import subprocess, unittest
from oeqa.sdk.case import OESDKTestCase
diff --git a/poky/meta/lib/oeqa/sdk/context.py b/poky/meta/lib/oeqa/sdk/context.py
index adc4166fd..09e77c19f 100644
--- a/poky/meta/lib/oeqa/sdk/context.py
+++ b/poky/meta/lib/oeqa/sdk/context.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import sys
diff --git a/poky/meta/lib/oeqa/sdk/testsdk.py b/poky/meta/lib/oeqa/sdk/testsdk.py
index 632ac50d0..35e40187b 100644
--- a/poky/meta/lib/oeqa/sdk/testsdk.py
+++ b/poky/meta/lib/oeqa/sdk/testsdk.py
@@ -1,5 +1,8 @@
+#
# Copyright 2018 by Garmin Ltd. or its subsidiaries
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
diff --git a/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py b/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
index 6fed73e35..32f5e3310 100644
--- a/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
+++ b/poky/meta/lib/oeqa/sdk/utils/sdkbuildproject.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import subprocess
@@ -42,7 +45,8 @@ class SDKBuildProject(BuildProject):
def _run(self, cmd):
self.log("Running . %s; " % self.sdkenv + cmd)
try:
- output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True, stderr=subprocess.STDOUT)
+ output = subprocess.check_output(". %s; " % self.sdkenv + cmd, shell=True,
+ executable='/bin/bash', stderr=subprocess.STDOUT)
except subprocess.CalledProcessError as exc:
print(exc.output.decode('utf-8'))
return exc.returncode
diff --git a/poky/meta/lib/oeqa/sdkext/case.py b/poky/meta/lib/oeqa/sdkext/case.py
index 21b718831..668faec9b 100644
--- a/poky/meta/lib/oeqa/sdkext/case.py
+++ b/poky/meta/lib/oeqa/sdkext/case.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import subprocess
diff --git a/poky/meta/lib/oeqa/sdkext/cases/devtool.py b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
index d322f86c7..5a02add76 100644
--- a/poky/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/poky/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -1,12 +1,14 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import shutil
import subprocess
from oeqa.sdkext.case import OESDKExtTestCase
-from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.httpserver import HTTPService
from oeqa.utils.subprocesstweak import errors_have_output
@@ -51,19 +53,15 @@ class DevtoolTest(OESDKExtTestCase):
self._run('devtool add myapp %s' % self.myapp_dst)
self._run('devtool reset myapp')
- @OETestID(1605)
def test_devtool_build_make(self):
self._test_devtool_build(self.myapp_dst)
- @OETestID(1606)
def test_devtool_build_esdk_package(self):
self._test_devtool_build_package(self.myapp_dst)
- @OETestID(1607)
def test_devtool_build_cmake(self):
self._test_devtool_build(self.myapp_cmake_dst)
- @OETestID(1608)
def test_extend_autotools_recipe_creation(self):
req = 'https://github.com/rdfa/librdfa'
recipe = "librdfa"
@@ -74,7 +72,6 @@ class DevtoolTest(OESDKExtTestCase):
finally:
self._run('devtool reset %s' % recipe)
- @OETestID(1609)
def test_devtool_kernelmodule(self):
docfile = 'https://github.com/umlaeute/v4l2loopback.git'
recipe = 'v4l2loopback-driver'
@@ -84,7 +81,6 @@ class DevtoolTest(OESDKExtTestCase):
finally:
self._run('devtool reset %s' % recipe)
- @OETestID(1610)
def test_recipes_for_nodejs(self):
package_nodejs = "npm://registry.npmjs.org;name=winston;version=2.2.0"
self._run('devtool add %s ' % package_nodejs)
diff --git a/poky/meta/lib/oeqa/sdkext/context.py b/poky/meta/lib/oeqa/sdkext/context.py
index 65da4c6e1..2ac2bf6ff 100644
--- a/poky/meta/lib/oeqa/sdkext/context.py
+++ b/poky/meta/lib/oeqa/sdkext/context.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2016 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
diff --git a/poky/meta/lib/oeqa/sdkext/testsdk.py b/poky/meta/lib/oeqa/sdkext/testsdk.py
index 57b2e0e03..785b5dda5 100644
--- a/poky/meta/lib/oeqa/sdkext/testsdk.py
+++ b/poky/meta/lib/oeqa/sdkext/testsdk.py
@@ -1,5 +1,8 @@
+#
# Copyright 2018 by Garmin Ltd. or its subsidiaries
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
from oeqa.sdk.testsdk import TestSDKBase
diff --git a/poky/meta/lib/oeqa/selftest/case.py b/poky/meta/lib/oeqa/selftest/case.py
index 9c08d595e..d207a0af0 100644
--- a/poky/meta/lib/oeqa/selftest/case.py
+++ b/poky/meta/lib/oeqa/selftest/case.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2013-2017 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import sys
import os
diff --git a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
index 0e5896234..f7c356ad0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
+++ b/poky/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import shutil
diff --git a/poky/meta/lib/oeqa/selftest/cases/archiver.py b/poky/meta/lib/oeqa/selftest/cases/archiver.py
index 0a6d4e325..f8672f8ab 100644
--- a/poky/meta/lib/oeqa/selftest/cases/archiver.py
+++ b/poky/meta/lib/oeqa/selftest/cases/archiver.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import glob
from oeqa.utils.commands import bitbake, get_bb_vars
from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
class Archiver(OESelftestTestCase):
- @OETestID(1345)
def test_archiver_allows_to_filter_on_recipe_name(self):
"""
Summary: The archiver should offer the possibility to filter on the recipe. (#6929)
@@ -40,7 +42,6 @@ class Archiver(OESelftestTestCase):
excluded_present = len(glob.glob(src_path + '/%s-*' % exclude_recipe))
self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % exclude_recipe)
- @OETestID(1900)
def test_archiver_filters_by_type(self):
"""
Summary: The archiver is documented to filter on the recipe type.
@@ -73,7 +74,6 @@ class Archiver(OESelftestTestCase):
excluded_present = len(glob.glob(src_path_native + '/%s-*' % native_recipe))
self.assertFalse(excluded_present, 'Recipe %s was not excluded.' % native_recipe)
- @OETestID(1901)
def test_archiver_filters_by_type_and_name(self):
"""
Summary: Test that the archiver archives by recipe type, taking the
diff --git a/poky/meta/lib/oeqa/selftest/cases/bblayers.py b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
index 447c54b7e..954488dfd 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bblayers.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bblayers.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
@@ -5,33 +9,27 @@ import oeqa.utils.ftools as ftools
from oeqa.utils.commands import runCmd, get_bb_var, get_bb_vars
from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
class BitbakeLayers(OESelftestTestCase):
- @OETestID(756)
def test_bitbakelayers_showcrossdepends(self):
result = runCmd('bitbake-layers show-cross-depends')
self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output)
- @OETestID(83)
def test_bitbakelayers_showlayers(self):
result = runCmd('bitbake-layers show-layers')
self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output)
- @OETestID(93)
def test_bitbakelayers_showappends(self):
recipe = "xcursor-transparent-theme"
bb_file = self.get_recipe_basename(recipe)
result = runCmd('bitbake-layers show-appends')
self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output))
- @OETestID(90)
def test_bitbakelayers_showoverlayed(self):
result = runCmd('bitbake-layers show-overlayed')
self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output)
- @OETestID(95)
def test_bitbakelayers_flatten(self):
recipe = "xcursor-transparent-theme"
recipe_path = "recipes-graphics/xcursor-transparent-theme"
@@ -46,7 +44,6 @@ class BitbakeLayers(OESelftestTestCase):
find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents)
self.assertTrue(find_in_contents, msg = "Flattening layers did not work. bitbake-layers flatten output: %s" % result.output)
- @OETestID(1195)
def test_bitbakelayers_add_remove(self):
test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton')
result = runCmd('bitbake-layers show-layers')
@@ -64,7 +61,6 @@ class BitbakeLayers(OESelftestTestCase):
result = runCmd('bitbake-layers show-layers')
self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output)
- @OETestID(1384)
def test_bitbakelayers_showrecipes(self):
result = runCmd('bitbake-layers show-recipes')
self.assertIn('aspell:', result.output)
diff --git a/poky/meta/lib/oeqa/selftest/cases/bbtests.py b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
index c503e4eed..e9ad44b02 100644
--- a/poky/meta/lib/oeqa/selftest/cases/bbtests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/bbtests.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
@@ -5,7 +9,6 @@ import oeqa.utils.ftools as ftools
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
class BitbakeTests(OESelftestTestCase):
@@ -14,13 +17,11 @@ class BitbakeTests(OESelftestTestCase):
if line in l:
return l
- @OETestID(789)
# Test bitbake can run from the <builddir>/conf directory
def test_run_bitbake_from_dir_1(self):
os.chdir(os.path.join(self.builddir, 'conf'))
self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir")
- @OETestID(790)
# Test bitbake can run from the <builddir>'s parent directory
def test_run_bitbake_from_dir_2(self):
my_env = os.environ.copy()
@@ -36,7 +37,6 @@ class BitbakeTests(OESelftestTestCase):
self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from /tmp/")
- @OETestID(806)
def test_event_handler(self):
self.write_config("INHERIT += \"test_events\"")
result = bitbake('m4-native')
@@ -46,7 +46,6 @@ class BitbakeTests(OESelftestTestCase):
self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output)
self.assertFalse('Test for bb.event.InvalidEvent' in result.output, msg = "\"Test for bb.event.InvalidEvent\" message found during bitbake process. bitbake output: %s" % result.output)
- @OETestID(103)
def test_local_sstate(self):
bitbake('m4-native')
bitbake('m4-native -cclean')
@@ -54,17 +53,14 @@ class BitbakeTests(OESelftestTestCase):
find_setscene = re.search("m4-native.*do_.*_setscene", result.output)
self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output )
- @OETestID(105)
def test_bitbake_invalid_recipe(self):
result = bitbake('-b asdf', ignore_status=True)
self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output)
- @OETestID(107)
def test_bitbake_invalid_target(self):
result = bitbake('asdf', ignore_status=True)
self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output)
- @OETestID(106)
def test_warnings_errors(self):
result = bitbake('-b asdf', ignore_status=True)
find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output)
@@ -72,7 +68,6 @@ class BitbakeTests(OESelftestTestCase):
self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output)
self.assertTrue(find_errors, msg="Did not find the mumber of errors at the end of the build:\n" + result.output)
- @OETestID(108)
def test_invalid_patch(self):
# This patch should fail to apply.
self.write_recipeinc('man-db', 'FILESEXTRAPATHS_prepend := "${THISDIR}/files:"\nSRC_URI += "file://0001-Test-patch-here.patch"')
@@ -83,7 +78,6 @@ class BitbakeTests(OESelftestTestCase):
line = self.getline(result, "Function failed: patch_do_patch")
self.assertTrue(line and line.startswith("ERROR:"), msg = "Incorrectly formed patch application didn't fail. bitbake output: %s" % result.output)
- @OETestID(1354)
def test_force_task_1(self):
# test 1 from bug 5875
test_recipe = 'zlib'
@@ -108,7 +102,6 @@ class BitbakeTests(OESelftestTestCase):
ret = bitbake(test_recipe)
self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.')
- @OETestID(163)
def test_force_task_2(self):
# test 2 from bug 5875
test_recipe = 'zlib'
@@ -121,7 +114,6 @@ class BitbakeTests(OESelftestTestCase):
for task in look_for_tasks:
self.assertIn(task, result.output, msg="Couldn't find %s task.")
- @OETestID(167)
def test_bitbake_g(self):
result = bitbake('-g core-image-minimal')
for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']:
@@ -129,7 +121,6 @@ class BitbakeTests(OESelftestTestCase):
self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output)
self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.")
- @OETestID(899)
def test_image_manifest(self):
bitbake('core-image-minimal')
bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal")
@@ -138,7 +129,6 @@ class BitbakeTests(OESelftestTestCase):
manifest = os.path.join(deploydir, imagename + ".manifest")
self.assertTrue(os.path.islink(manifest), msg="No manifest file created for image. It should have been created in %s" % manifest)
- @OETestID(168)
def test_invalid_recipe_src_uri(self):
data = 'SRC_URI = "file://invalid"'
self.write_recipeinc('man-db', data)
@@ -159,7 +149,6 @@ doesn't exist, yet no error message encountered. bitbake output: %s" % result.ou
self.assertTrue(line and line.startswith("ERROR:"), msg = "\"invalid\" file \
doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result.output)
- @OETestID(171)
def test_rename_downloaded_file(self):
# TODO unique dldir instead of using cleanall
# TODO: need to set sstatedir?
@@ -177,29 +166,24 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir)
self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir)
- @OETestID(1028)
def test_environment(self):
self.write_config("TEST_ENV=\"localconf\"")
result = runCmd('bitbake -e | grep TEST_ENV=')
self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='")
- @OETestID(1029)
def test_dry_run(self):
result = runCmd('bitbake -n m4-native')
self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output)
- @OETestID(1030)
def test_just_parse(self):
result = runCmd('bitbake -p')
self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output)
- @OETestID(1031)
def test_version(self):
result = runCmd('bitbake -s | grep wget')
find = re.search(r"wget *:([0-9a-zA-Z\.\-]+)", result.output)
self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output)
- @OETestID(1032)
def test_prefile(self):
preconf = os.path.join(self.builddir, 'conf/prefile.conf')
self.track_for_cleanup(preconf)
@@ -210,7 +194,6 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=')
self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.")
- @OETestID(1033)
def test_postfile(self):
postconf = os.path.join(self.builddir, 'conf/postfile.conf')
self.track_for_cleanup(postconf)
@@ -219,12 +202,10 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\"
result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=')
self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.")
- @OETestID(1034)
def test_checkuri(self):
result = runCmd('bitbake -c checkuri m4')
self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output)
- @OETestID(1035)
def test_continue(self):
self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\"
SSTATE_DIR = \"${TOPDIR}/download-selftest\"
@@ -239,7 +220,6 @@ INHERIT_remove = \"report-error\"
continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1))
self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output)
- @OETestID(1119)
def test_non_gplv3(self):
self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"')
result = bitbake('selftest-ed', ignore_status=True)
@@ -248,7 +228,6 @@ INHERIT_remove = \"report-error\"
self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3')))
self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2')))
- @OETestID(1422)
def test_setscene_only(self):
""" Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)"""
test_recipe = 'ed'
@@ -263,7 +242,6 @@ INHERIT_remove = \"report-error\"
self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n'
'Executed tasks were: %s' % (task, str(tasks)))
- @OETestID(1425)
def test_bbappend_order(self):
""" Bitbake should bbappend to recipe in a predictable order """
test_recipe = 'ed'
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
index 06792d914..d865da625 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildhistory.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import datetime
diff --git a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
index 6a18eb836..3ad65b403 100644
--- a/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
+++ b/poky/meta/lib/oeqa/selftest/cases/buildoptions.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import glob as g
@@ -7,11 +11,9 @@ from oeqa.selftest.case import OESelftestTestCase
from oeqa.selftest.cases.buildhistory import BuildhistoryBase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
import oeqa.utils.ftools as ftools
-from oeqa.core.decorator.oeid import OETestID
class ImageOptionsTests(OESelftestTestCase):
- @OETestID(761)
def test_incremental_image_generation(self):
image_pkgtype = get_bb_var("IMAGE_PKGTYPE")
if image_pkgtype != 'rpm':
@@ -30,7 +32,6 @@ class ImageOptionsTests(OESelftestTestCase):
incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed)
self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed)
- @OETestID(286)
def test_ccache_tool(self):
bitbake("ccache-native")
bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native')
@@ -45,7 +46,6 @@ class ImageOptionsTests(OESelftestTestCase):
loglines = "".join(f.readlines())
self.assertIn("ccache", loglines, msg="No match for ccache in m4-native log.do_compile. For further details: %s" % log_compile)
- @OETestID(1435)
def test_read_only_image(self):
distro_features = get_bb_var('DISTRO_FEATURES')
if not ('x11' in distro_features and 'opengl' in distro_features):
@@ -56,7 +56,6 @@ class ImageOptionsTests(OESelftestTestCase):
class DiskMonTest(OESelftestTestCase):
- @OETestID(277)
def test_stoptask_behavior(self):
self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"')
res = bitbake("delay -c delay", ignore_status = True)
@@ -76,7 +75,6 @@ class SanityOptionsTest(OESelftestTestCase):
if line in l:
return l
- @OETestID(927)
def test_options_warnqa_errorqa_switch(self):
self.write_config("INHERIT_remove = \"report-error\"")
@@ -98,7 +96,6 @@ class SanityOptionsTest(OESelftestTestCase):
line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.")
self.assertTrue(line and line.startswith("WARNING:"), msg=res.output)
- @OETestID(1421)
def test_layer_without_git_dir(self):
"""
Summary: Test that layer git revisions are displayed and do not fail without git repository
@@ -140,12 +137,10 @@ class SanityOptionsTest(OESelftestTestCase):
class BuildhistoryTests(BuildhistoryBase):
- @OETestID(293)
def test_buildhistory_basic(self):
self.run_buildhistory_operation('xcursor-transparent-theme')
self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.")
- @OETestID(294)
def test_buildhistory_buildtime_pr_backwards(self):
target = 'xcursor-transparent-theme'
error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds from (.*-r1.* to .*-r0.*)" % target
@@ -153,7 +148,6 @@ class BuildhistoryTests(BuildhistoryBase):
self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error)
class ArchiverTest(OESelftestTestCase):
- @OETestID(926)
def test_arch_work_dir_and_export_source(self):
"""
Test for archiving the work directory and exporting the source files.
diff --git a/poky/meta/lib/oeqa/selftest/cases/containerimage.py b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
index 8deaae75d..c0998e319 100644
--- a/poky/meta/lib/oeqa/selftest/cases/containerimage.py
+++ b/poky/meta/lib/oeqa/selftest/cases/containerimage.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
-from oeqa.core.decorator.oeid import OETestID
# This test builds an image with using the "container" IMAGE_FSTYPE, and
# ensures that then files in the image are only the ones expected.
@@ -21,7 +24,6 @@ class ContainerImageTests(OESelftestTestCase):
# Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that
# the conversion type bar gets added as a dep as well
- @OETestID(1619)
def test_expected_files(self):
def get_each_path_part(path):
diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py
index 58f3e5846..434a7b9dd 100644
--- a/poky/meta/lib/oeqa/selftest/cases/devtool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import shutil
@@ -9,7 +13,6 @@ import oeqa.utils.ftools as ftools
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer
from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer
-from oeqa.core.decorator.oeid import OETestID
oldmetapath = None
@@ -233,7 +236,6 @@ class DevtoolBase(OESelftestTestCase):
class DevtoolTests(DevtoolBase):
- @OETestID(1158)
def test_create_workspace(self):
# Check preconditions
result = runCmd('bitbake-layers show-layers')
@@ -256,7 +258,6 @@ class DevtoolTests(DevtoolBase):
class DevtoolAddTests(DevtoolBase):
- @OETestID(1159)
def test_devtool_add(self):
# Fetch source
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -298,7 +299,6 @@ class DevtoolAddTests(DevtoolBase):
bindir = bindir[1:]
self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D')
- @OETestID(1423)
def test_devtool_add_git_local(self):
# We need dbus built so that DEPENDS recognition works
bitbake('dbus')
@@ -340,7 +340,6 @@ class DevtoolAddTests(DevtoolBase):
checkvars['DEPENDS'] = set(['dbus'])
self._test_recipe_contents(recipefile, checkvars, [])
- @OETestID(1162)
def test_devtool_add_library(self):
# Fetch source
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -389,7 +388,6 @@ class DevtoolAddTests(DevtoolBase):
self.assertFalse(matches, 'Stamp files exist for recipe libftdi that should have been cleaned')
self.assertFalse(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary still found in STAGING_LIBDIR after cleaning')
- @OETestID(1160)
def test_devtool_add_fetch(self):
# Fetch source
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -435,7 +433,6 @@ class DevtoolAddTests(DevtoolBase):
checkvars['SRC_URI'] = url
self._test_recipe_contents(recipefile, checkvars, [])
- @OETestID(1161)
def test_devtool_add_fetch_git(self):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
@@ -483,7 +480,6 @@ class DevtoolAddTests(DevtoolBase):
checkvars['SRCREV'] = checkrev
self._test_recipe_contents(recipefile, checkvars, [])
- @OETestID(1391)
def test_devtool_add_fetch_simple(self):
# Fetch source from a remote URL, auto-detecting name
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -513,7 +509,6 @@ class DevtoolAddTests(DevtoolBase):
class DevtoolModifyTests(DevtoolBase):
- @OETestID(1164)
def test_devtool_modify(self):
import oe.path
@@ -571,7 +566,6 @@ class DevtoolModifyTests(DevtoolBase):
result = runCmd('devtool status')
self.assertNotIn('mdadm', result.output)
- @OETestID(1620)
def test_devtool_buildclean(self):
def assertFile(path, *paths):
f = os.path.join(path, *paths)
@@ -618,7 +612,6 @@ class DevtoolModifyTests(DevtoolBase):
finally:
self.delete_recipeinc('m4')
- @OETestID(1166)
def test_devtool_modify_invalid(self):
# Try modifying some recipes
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
@@ -647,7 +640,6 @@ class DevtoolModifyTests(DevtoolBase):
self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' % (testrecipe, result.output))
self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe)
- @OETestID(1365)
def test_devtool_modify_native(self):
# Check preconditions
self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -677,7 +669,6 @@ class DevtoolModifyTests(DevtoolBase):
self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
- @OETestID(1165)
def test_devtool_modify_git(self):
# Check preconditions
testrecipe = 'psplash'
@@ -705,7 +696,6 @@ class DevtoolModifyTests(DevtoolBase):
# Try building
bitbake(testrecipe)
- @OETestID(1167)
def test_devtool_modify_localfiles(self):
# Check preconditions
testrecipe = 'lighttpd'
@@ -736,7 +726,6 @@ class DevtoolModifyTests(DevtoolBase):
# Try building
bitbake(testrecipe)
- @OETestID(1378)
def test_devtool_modify_virtual(self):
# Try modifying a virtual recipe
virtrecipe = 'virtual/make'
@@ -760,7 +749,6 @@ class DevtoolModifyTests(DevtoolBase):
class DevtoolUpdateTests(DevtoolBase):
- @OETestID(1169)
def test_devtool_update_recipe(self):
# Check preconditions
testrecipe = 'minicom'
@@ -793,7 +781,6 @@ class DevtoolUpdateTests(DevtoolBase):
('??', '.*/0002-Add-a-new-file.patch$')]
self._check_repo_status(os.path.dirname(recipefile), expected_status)
- @OETestID(1172)
def test_devtool_update_recipe_git(self):
# Check preconditions
testrecipe = 'mtd-utils'
@@ -863,7 +850,6 @@ class DevtoolUpdateTests(DevtoolBase):
('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)]
self._check_repo_status(os.path.dirname(recipefile), expected_status)
- @OETestID(1170)
def test_devtool_update_recipe_append(self):
# Check preconditions
testrecipe = 'mdadm'
@@ -932,7 +918,6 @@ class DevtoolUpdateTests(DevtoolBase):
self.assertEqual(expectedlines, f.readlines())
# Deleting isn't expected to work under these circumstances
- @OETestID(1171)
def test_devtool_update_recipe_append_git(self):
# Check preconditions
testrecipe = 'mtd-utils'
@@ -1023,7 +1008,6 @@ class DevtoolUpdateTests(DevtoolBase):
self.assertEqual(expectedlines, set(f.readlines()))
# Deleting isn't expected to work under these circumstances
- @OETestID(1370)
def test_devtool_update_recipe_local_files(self):
"""Check that local source files are copied over instead of patched"""
testrecipe = 'makedevs'
@@ -1055,7 +1039,6 @@ class DevtoolUpdateTests(DevtoolBase):
('??', '.*/makedevs/0001-Add-new-file.patch$')]
self._check_repo_status(os.path.dirname(recipefile), expected_status)
- @OETestID(1371)
def test_devtool_update_recipe_local_files_2(self):
"""Check local source files support when oe-local-files is in Git"""
testrecipe = 'devtool-test-local'
@@ -1100,7 +1083,6 @@ class DevtoolUpdateTests(DevtoolBase):
('??', '.*/0001-Add-new-file.patch$')]
self._check_repo_status(os.path.dirname(recipefile), expected_status)
- @OETestID(1627)
def test_devtool_update_recipe_local_files_3(self):
# First, modify the recipe
testrecipe = 'devtool-test-localonly'
@@ -1120,7 +1102,6 @@ class DevtoolUpdateTests(DevtoolBase):
expected_status = [(' M', '.*/%s/file2$' % testrecipe)]
self._check_repo_status(os.path.dirname(recipefile), expected_status)
- @OETestID(1629)
def test_devtool_update_recipe_local_patch_gz(self):
# First, modify the recipe
testrecipe = 'devtool-test-patch-gz'
@@ -1148,7 +1129,6 @@ class DevtoolUpdateTests(DevtoolBase):
if 'gzip compressed data' not in result.output:
self.fail('New patch file is not gzipped - file reports:\n%s' % result.output)
- @OETestID(1628)
def test_devtool_update_recipe_local_files_subdir(self):
# Try devtool update-recipe on a recipe that has a file with subdir= set in
# SRC_URI such that it overwrites a file that was in an archive that
@@ -1177,7 +1157,6 @@ class DevtoolUpdateTests(DevtoolBase):
class DevtoolExtractTests(DevtoolBase):
- @OETestID(1163)
def test_devtool_extract(self):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
# Try devtool extract
@@ -1188,7 +1167,6 @@ class DevtoolExtractTests(DevtoolBase):
self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found')
self._check_src_repo(tempdir)
- @OETestID(1379)
def test_devtool_extract_virtual(self):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
# Try devtool extract
@@ -1199,7 +1177,6 @@ class DevtoolExtractTests(DevtoolBase):
self.assertExists(os.path.join(tempdir, 'Makefile.am'), 'Extracted source could not be found')
self._check_src_repo(tempdir)
- @OETestID(1168)
def test_devtool_reset_all(self):
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
@@ -1226,7 +1203,6 @@ class DevtoolExtractTests(DevtoolBase):
matches2 = glob.glob(stampprefix2 + '*')
self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2)
- @OETestID(1272)
def test_devtool_deploy_target(self):
# NOTE: Whilst this test would seemingly be better placed as a runtime test,
# unfortunately the runtime tests run under bitbake and you can't run
@@ -1312,7 +1288,6 @@ class DevtoolExtractTests(DevtoolBase):
result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True)
self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have')
- @OETestID(1366)
def test_devtool_build_image(self):
"""Test devtool build-image plugin"""
# Check preconditions
@@ -1348,7 +1323,6 @@ class DevtoolExtractTests(DevtoolBase):
class DevtoolUpgradeTests(DevtoolBase):
- @OETestID(1367)
def test_devtool_upgrade(self):
# Check preconditions
self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1393,7 +1367,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self.assertNotIn(recipe, result.output)
self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting')
- @OETestID(1433)
def test_devtool_upgrade_git(self):
# Check preconditions
self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1430,7 +1403,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self.assertNotIn(recipe, result.output)
self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after resetting')
- @OETestID(1352)
def test_devtool_layer_plugins(self):
"""Test that devtool can use plugins from other layers.
@@ -1456,7 +1428,6 @@ class DevtoolUpgradeTests(DevtoolBase):
shutil.copy(srcfile, dstfile)
self.track_for_cleanup(dstfile)
- @OETestID(1625)
def test_devtool_load_plugin(self):
"""Test that devtool loads only the first found plugin in BBPATH."""
@@ -1524,7 +1495,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist')
return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn
- @OETestID(1623)
def test_devtool_finish_upgrade_origlayer(self):
recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade()
# Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1543,7 +1513,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t')
self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t')
- @OETestID(1624)
def test_devtool_finish_upgrade_otherlayer(self):
recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade()
# Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1599,7 +1568,6 @@ class DevtoolUpgradeTests(DevtoolBase):
self.fail('Unable to find recipe files directory for %s' % recipe)
return recipe, oldrecipefile, recipedir, filesdir
- @OETestID(1621)
def test_devtool_finish_modify_origlayer(self):
recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify()
# Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1614,7 +1582,6 @@ class DevtoolUpgradeTests(DevtoolBase):
('??', '.*/.*-Add-a-comment-to-the-code.patch$')]
self._check_repo_status(recipedir, expected_status)
- @OETestID(1622)
def test_devtool_finish_modify_otherlayer(self):
recipe, oldrecipefile, recipedir, filesdir = self._setup_test_devtool_finish_modify()
# Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
@@ -1647,7 +1614,6 @@ class DevtoolUpgradeTests(DevtoolBase):
if files:
self.fail('Unexpected file(s) copied next to bbappend: %s' % ', '.join(files))
- @OETestID(1626)
def test_devtool_rename(self):
# Check preconditions
self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory')
@@ -1708,7 +1674,6 @@ class DevtoolUpgradeTests(DevtoolBase):
checkvars['SRC_URI'] = url
self._test_recipe_contents(newrecipefile, checkvars, [])
- @OETestID(1577)
def test_devtool_virtual_kernel_modify(self):
"""
Summary: The purpose of this test case is to verify that
diff --git a/poky/meta/lib/oeqa/selftest/cases/distrodata.py b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
index 0b454714e..68ba55648 100644
--- a/poky/meta/lib/oeqa/selftest/cases/distrodata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/distrodata.py
@@ -1,14 +1,16 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
from oeqa.utils.decorators import testcase
from oeqa.utils.ftools import write_file
-from oeqa.core.decorator.oeid import OETestID
import oe.recipeutils
class Distrodata(OESelftestTestCase):
- @OETestID(1902)
def test_checkpkg(self):
"""
Summary: Test that upstream version checks do not regress
diff --git a/poky/meta/lib/oeqa/selftest/cases/eSDK.py b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
index 8eb6ec660..862849af3 100644
--- a/poky/meta/lib/oeqa/selftest/cases/eSDK.py
+++ b/poky/meta/lib/oeqa/selftest/cases/eSDK.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import tempfile
import shutil
import os
import glob
import time
-from oeqa.core.decorator.oeid import OETestID
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
@@ -104,14 +107,12 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH"
cls.tmpdirobj.cleanup()
super().tearDownClass()
- @OETestID(1602)
def test_install_libraries_headers(self):
pn_sstate = 'bc'
bitbake(pn_sstate)
cmd = "devtool sdk-install %s " % pn_sstate
oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd)
- @OETestID(1603)
def test_image_generation_binary_feeds(self):
image = 'core-image-minimal'
cmd = "devtool build-image %s" % image
diff --git a/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py b/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py
index c6f39d5b1..a61cf9bcb 100644
--- a/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py
+++ b/poky/meta/lib/oeqa/selftest/cases/efibootpartition.py
@@ -2,6 +2,8 @@
#
# Copyright (c) 2017 Wind River Systems, Inc.
#
+# SPDX-License-Identifier: MIT
+#
import re
diff --git a/poky/meta/lib/oeqa/selftest/cases/fetch.py b/poky/meta/lib/oeqa/selftest/cases/fetch.py
index 4acc8cdcc..76cbadf2f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/fetch.py
+++ b/poky/meta/lib/oeqa/selftest/cases/fetch.py
@@ -1,10 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import oe.path
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
-from oeqa.core.decorator.oeid import OETestID
class Fetch(OESelftestTestCase):
- @OETestID(1058)
def test_git_mirrors(self):
"""
Verify that the git fetcher will fall back to the HTTP mirrors. The
diff --git a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
index 1e23257f4..3119520f0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
+++ b/poky/meta/lib/oeqa/selftest/cases/gotoolchain.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import glob
import os
import shutil
diff --git a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
index 932c7f883..52e1080f1 100644
--- a/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
+++ b/poky/meta/lib/oeqa/selftest/cases/image_typedep.py
@@ -1,14 +1,16 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
-from oeqa.core.decorator.oeid import OETestID
class ImageTypeDepTests(OESelftestTestCase):
# Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that
# the conversion type bar gets added as a dep as well
- @OETestID(1633)
def test_conversion_typedep_added(self):
self.write_recipeinc('emptytest', """
diff --git a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
index aed63e547..afc629f29 100644
--- a/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
+++ b/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py
@@ -1,6 +1,9 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
-from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.sshcontrol import SSHControl
import os
import json
@@ -10,7 +13,6 @@ class ImageFeatures(OESelftestTestCase):
test_user = 'tester'
root_user = 'root'
- @OETestID(1107)
def test_non_root_user_can_connect_via_ssh_without_password(self):
"""
Summary: Check if non root user can connect via ssh without password
@@ -36,7 +38,6 @@ class ImageFeatures(OESelftestTestCase):
status, output = ssh.run("true")
self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output))
- @OETestID(1115)
def test_all_users_can_connect_via_ssh_without_password(self):
"""
Summary: Check if all users can connect via ssh without password
@@ -66,7 +67,6 @@ class ImageFeatures(OESelftestTestCase):
self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output)
- @OETestID(1116)
def test_clutter_image_can_be_built(self):
"""
Summary: Check if clutter image can be built
@@ -79,7 +79,6 @@ class ImageFeatures(OESelftestTestCase):
# Build a core-image-clutter
bitbake('core-image-clutter')
- @OETestID(1117)
def test_wayland_support_in_image(self):
"""
Summary: Check Wayland support in image
@@ -97,7 +96,6 @@ class ImageFeatures(OESelftestTestCase):
# Build a core-image-weston
bitbake('core-image-weston')
- @OETestID(1497)
def test_bmap(self):
"""
Summary: Check bmap support
@@ -131,7 +129,6 @@ class ImageFeatures(OESelftestTestCase):
# check if the resulting gzip is valid
self.assertTrue(runCmd('gzip -t %s' % gzip_path))
- @OETestID(1903)
def test_hypervisor_fmts(self):
"""
Summary: Check various hypervisor formats
@@ -166,7 +163,6 @@ class ImageFeatures(OESelftestTestCase):
native_sysroot=sysroot)
self.assertTrue(json.loads(result.output).get('format') == itype)
- @OETestID(1905)
def test_long_chain_conversion(self):
"""
Summary: Check for chaining many CONVERSION_CMDs together
@@ -198,7 +194,6 @@ class ImageFeatures(OESelftestTestCase):
self.assertTrue(runCmd('cd %s;sha256sum -c %s.%s.sha256sum' %
(deploy_dir_image, link_name, conv)))
- @OETestID(1904)
def test_image_fstypes(self):
"""
Summary: Check if image of supported image fstypes can be built
diff --git a/poky/meta/lib/oeqa/selftest/cases/layerappend.py b/poky/meta/lib/oeqa/selftest/cases/layerappend.py
index 2fd5cdb0c..05e9426fc 100644
--- a/poky/meta/lib/oeqa/selftest/cases/layerappend.py
+++ b/poky/meta/lib/oeqa/selftest/cases/layerappend.py
@@ -1,9 +1,12 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var
import oeqa.utils.ftools as ftools
-from oeqa.core.decorator.oeid import OETestID
class LayerAppendTests(OESelftestTestCase):
layerconf = """
@@ -49,7 +52,6 @@ SRC_URI_append = " file://appendtest.txt"
ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend)
super(LayerAppendTests, self).tearDownLocal()
- @OETestID(1196)
def test_layer_appends(self):
corebase = get_bb_var("COREBASE")
diff --git a/poky/meta/lib/oeqa/selftest/cases/liboe.py b/poky/meta/lib/oeqa/selftest/cases/liboe.py
index e84609246..afe8f8809 100644
--- a/poky/meta/lib/oeqa/selftest/cases/liboe.py
+++ b/poky/meta/lib/oeqa/selftest/cases/liboe.py
@@ -1,5 +1,8 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd
import oe.path
import os
@@ -11,7 +14,6 @@ class LibOE(OESelftestTestCase):
super(LibOE, cls).setUpClass()
cls.tmp_dir = get_bb_var('TMPDIR')
- @OETestID(1635)
def test_copy_tree_special(self):
"""
Summary: oe.path.copytree() should copy files with special character
@@ -37,7 +39,6 @@ class LibOE(OESelftestTestCase):
oe.path.remove(testloc)
- @OETestID(1636)
def test_copy_tree_xattr(self):
"""
Summary: oe.path.copytree() should preserve xattr on copied files
@@ -72,7 +73,6 @@ class LibOE(OESelftestTestCase):
oe.path.remove(testloc)
- @OETestID(1634)
def test_copy_hardlink_tree_count(self):
"""
Summary: oe.path.copyhardlinktree() shouldn't miss out files
diff --git a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
index f992b3736..bae935d69 100644
--- a/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
+++ b/poky/meta/lib/oeqa/selftest/cases/lic_checksum.py
@@ -1,16 +1,18 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import tempfile
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
from oeqa.utils import CommandError
-from oeqa.core.decorator.oeid import OETestID
class LicenseTests(OESelftestTestCase):
# Verify that changing a license file that has an absolute path causes
# the license qa to fail due to a mismatched md5sum.
- @OETestID(1197)
def test_nonmatching_checksum(self):
bitbake_cmd = '-c populate_lic emptytest'
error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc'
diff --git a/poky/meta/lib/oeqa/selftest/cases/manifest.py b/poky/meta/lib/oeqa/selftest/cases/manifest.py
index 146071934..c0b25ab5d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/manifest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/manifest.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake
-from oeqa.core.decorator.oeid import OETestID
class ManifestEntry:
'''A manifest item of a collection able to list missing packages'''
@@ -59,7 +62,6 @@ class VerifyManifest(OESelftestTestCase):
self.skipTest("{}: Cannot setup testing scenario"\
.format(self.classname))
- @OETestID(1380)
def test_SDK_manifest_entries(self):
'''Verifying the SDK manifest entries exist, this may take a build'''
@@ -126,7 +128,6 @@ class VerifyManifest(OESelftestTestCase):
self.logger.info(msg)
self.fail(logmsg)
- @OETestID(1381)
def test_image_manifest_entries(self):
'''Verifying the image manifest entries exist'''
diff --git a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
index 5df9d3ed9..f47bc7091 100644
--- a/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
+++ b/poky/meta/lib/oeqa/selftest/cases/meta_ide.py
@@ -1,7 +1,10 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
-from oeqa.core.decorator.oeid import OETestID
import tempfile
import shutil
@@ -23,18 +26,15 @@ class MetaIDE(OESelftestTestCase):
shutil.rmtree(cls.tmpdir_metaideQA, ignore_errors=True)
super(MetaIDE, cls).tearDownClass()
- @OETestID(1982)
def test_meta_ide_had_installed_meta_ide_support(self):
self.assertExists(self.environment_script_path)
- @OETestID(1983)
def test_meta_ide_can_compile_c_program(self):
runCmd('cp %s/test.c %s' % (self.tc.files_dir, self.tmpdir_metaideQA))
runCmd("cd %s; . %s; $CC test.c -lm" % (self.tmpdir_metaideQA, self.environment_script_path))
compiled_file = '%s/a.out' % self.tmpdir_metaideQA
self.assertExists(compiled_file)
- @OETestID(1984)
def test_meta_ide_can_build_cpio_project(self):
dl_dir = self.td.get('DL_DIR', None)
self.project = SDKBuildProject(self.tmpdir_metaideQA + "/cpio/", self.environment_script_path,
diff --git a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
index 3c36f6e5d..d21bf0a41 100644
--- a/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
+++ b/poky/meta/lib/oeqa/selftest/cases/multiconfig.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
index 08675fd82..6d8082765 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py
@@ -1,8 +1,11 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
from oeqa.selftest.case import OESelftestTestCase
import tempfile
from oeqa.utils.commands import get_bb_var
-from oeqa.core.decorator.oeid import OETestID
class TestBlobParsing(OESelftestTestCase):
@@ -40,7 +43,6 @@ class TestBlobParsing(OESelftestTestCase):
self.repo.git.add("--all")
self.repo.git.commit(message=msg)
- @OETestID(1859)
def test_blob_to_dict(self):
"""
Test convertion of git blobs to dictionary
@@ -53,7 +55,6 @@ class TestBlobParsing(OESelftestTestCase):
self.assertEqual(valuesmap, blob_to_dict(blob),
"commit was not translated correctly to dictionary")
- @OETestID(1860)
def test_compare_dict_blobs(self):
"""
Test comparisson of dictionaries extracted from git blobs
@@ -74,7 +75,6 @@ class TestBlobParsing(OESelftestTestCase):
var_changes = { x.fieldname : (x.oldvalue, x.newvalue) for x in change_records}
self.assertEqual(changesmap, var_changes, "Changes not reported correctly")
- @OETestID(1861)
def test_compare_dict_blobs_default(self):
"""
Test default values for comparisson of git blob dictionaries
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
index 15c03f460..d0a28090f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/elf.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from unittest.case import TestCase
import oe.qa
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
index d7f91fb2f..6ebbee589 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/license.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from unittest.case import TestCase
import oe.license
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
index e0eb8134a..a1cfa08c0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/path.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from unittest.case import TestCase
import oe, oe.path
import tempfile
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
index 6b53aa64e..7eb49e6f9 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/types.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from unittest.case import TestCase
from oe.maketype import create
diff --git a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
index 789c6f78d..a7214beb4 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oelib/utils.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import sys
from unittest.case import TestCase
from contextlib import contextmanager
diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
index bcdc2d5ac..217afe377 100644
--- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py
+++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py
@@ -1,11 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+import os
from oeqa.selftest.case import OESelftestTestCase
from oeqa.selftest.cases.buildhistory import BuildhistoryBase
from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer
-from oeqa.core.decorator.oeid import OETestID
class BuildhistoryDiffTests(BuildhistoryBase):
- @OETestID(295)
def test_buildhistory_diff(self):
target = 'xcursor-transparent-theme'
self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True)
@@ -26,3 +29,36 @@ class BuildhistoryDiffTests(BuildhistoryBase):
self.fail('Unexpected line:\n%s\nExpected line endings:\n %s' % (line, '\n '.join(expected_endlines)))
if expected_endlines:
self.fail('Missing expected line endings:\n %s' % '\n '.join(expected_endlines))
+
+class OEScriptTests(OESelftestTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ super(OEScriptTests, cls).setUpClass()
+ try:
+ import cairo
+ except ImportError:
+ cls.skipTest('Python module cairo is not present')
+ bitbake("core-image-minimal -c rootfs -f")
+ cls.tmpdir = get_bb_var('TMPDIR')
+ cls.buildstats = cls.tmpdir + "/buildstats/" + sorted(os.listdir(cls.tmpdir + "/buildstats"))[-1]
+
+ scripts_dir = os.path.join(get_bb_var('COREBASE'), 'scripts')
+
+class OEPybootchartguyTests(OEScriptTests):
+
+ def test_pybootchartguy_help(self):
+ runCmd('%s/pybootchartgui/pybootchartgui.py --help' % self.scripts_dir)
+
+ def test_pybootchartguy_to_generate_build_png_output(self):
+ runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f png' % (self.scripts_dir, self.buildstats, self.tmpdir))
+ self.assertTrue(os.path.exists(self.tmpdir + "/charts.png"))
+
+ def test_pybootchartguy_to_generate_build_svg_output(self):
+ runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f svg' % (self.scripts_dir, self.buildstats, self.tmpdir))
+ self.assertTrue(os.path.exists(self.tmpdir + "/charts.svg"))
+
+ def test_pybootchartguy_to_generate_build_pdf_output(self):
+ runCmd('%s/pybootchartgui/pybootchartgui.py %s -o %s/charts -f pdf' % (self.scripts_dir, self.buildstats, self.tmpdir))
+ self.assertTrue(os.path.exists(self.tmpdir + "/charts.pdf"))
+
diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py
index 6596dabc3..7a0075382 100644
--- a/poky/meta/lib/oeqa/selftest/cases/package.py
+++ b/poky/meta/lib/oeqa/selftest/cases/package.py
@@ -1,5 +1,8 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runqemu
import stat
import subprocess, os
@@ -36,7 +39,6 @@ class VersionOrdering(OESelftestTestCase):
self.bindir = type(self).bindir
self.libdir = type(self).libdir
- @OETestID(1880)
def test_dpkg(self):
for ver1, ver2, sort in self.tests:
op = { -1: "<<", 0: "=", 1: ">>" }[sort]
@@ -53,7 +55,6 @@ class VersionOrdering(OESelftestTestCase):
status = subprocess.call((oe.path.join(self.bindir, "dpkg"), "--compare-versions", ver1, op, ver2))
self.assertNotEqual(status, 0, "%s %s %s failed" % (ver1, op, ver2))
- @OETestID(1881)
def test_opkg(self):
for ver1, ver2, sort in self.tests:
op = { -1: "<<", 0: "=", 1: ">>" }[sort]
@@ -70,7 +71,6 @@ class VersionOrdering(OESelftestTestCase):
status = subprocess.call((oe.path.join(self.bindir, "opkg"), "compare-versions", ver1, op, ver2))
self.assertNotEqual(status, 0, "%s %s %s failed" % (ver1, op, ver2))
- @OETestID(1882)
def test_rpm(self):
# Need to tell the Python bindings where to find its configuration
env = os.environ.copy()
diff --git a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
index aa05f40d6..833a1803b 100644
--- a/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
+++ b/poky/meta/lib/oeqa/selftest/cases/pkgdata.py
@@ -1,10 +1,13 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import tempfile
import fnmatch
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
-from oeqa.core.decorator.oeid import OETestID
class OePkgdataUtilTests(OESelftestTestCase):
@@ -16,7 +19,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
bitbake('target-sdk-provides-dummy -c clean')
bitbake('busybox zlib m4')
- @OETestID(1203)
def test_lookup_pkg(self):
# Forward tests
result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"')
@@ -35,7 +37,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output)
self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg')
- @OETestID(1205)
def test_read_value(self):
result = runCmd('oe-pkgdata-util read-value PN libz1')
self.assertEqual(result.output, 'zlib')
@@ -45,7 +46,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
pkgsize = int(result.output.strip())
self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output)
- @OETestID(1198)
def test_find_path(self):
result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1')
self.assertEqual(result.output, 'zlib: /lib/libz.so.1')
@@ -55,7 +55,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output)
self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist')
- @OETestID(1204)
def test_lookup_recipe(self):
result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"')
self.assertEqual(result.output, 'zlib\nbusybox')
@@ -65,7 +64,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output)
self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg')
- @OETestID(1202)
def test_list_pkgs(self):
# No arguments
result = runCmd('oe-pkgdata-util list-pkgs')
@@ -109,7 +107,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
pkglist = sorted(result.output.split())
self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output)
- @OETestID(1201)
def test_list_pkg_files(self):
def splitoutput(output):
files = {}
@@ -199,7 +196,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc'])
self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev'])
- @OETestID(1200)
def test_glob(self):
tempdir = tempfile.mkdtemp(prefix='pkgdataqa')
self.track_for_cleanup(tempdir)
@@ -219,7 +215,6 @@ class OePkgdataUtilTests(OESelftestTestCase):
self.assertNotIn('libz-dev', resultlist)
self.assertNotIn('libz-dbg', resultlist)
- @OETestID(1206)
def test_specify_pkgdatadir(self):
result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR'))
self.assertEqual(result.output, 'libz1')
diff --git a/poky/meta/lib/oeqa/selftest/cases/prservice.py b/poky/meta/lib/oeqa/selftest/cases/prservice.py
index 796ad4f5f..fe1f24ea6 100644
--- a/poky/meta/lib/oeqa/selftest/cases/prservice.py
+++ b/poky/meta/lib/oeqa/selftest/cases/prservice.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import shutil
@@ -6,7 +10,6 @@ import datetime
import oeqa.utils.ftools as ftools
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var
-from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.network import get_free_port
class BitbakePrTests(OESelftestTestCase):
@@ -88,39 +91,30 @@ class BitbakePrTests(OESelftestTestCase):
self.assertTrue(pr_2 - pr_1 == 1, "Step between same pkg. revision is greater than 1")
- @OETestID(930)
def test_import_export_replace_db(self):
self.run_test_pr_export_import('m4')
- @OETestID(931)
def test_import_export_override_db(self):
self.run_test_pr_export_import('m4', replace_current_db=False)
- @OETestID(932)
def test_pr_service_rpm_arch_dep(self):
self.run_test_pr_service('m4', 'rpm', 'do_package')
- @OETestID(934)
def test_pr_service_deb_arch_dep(self):
self.run_test_pr_service('m4', 'deb', 'do_package')
- @OETestID(933)
def test_pr_service_ipk_arch_dep(self):
self.run_test_pr_service('m4', 'ipk', 'do_package')
- @OETestID(935)
def test_pr_service_rpm_arch_indep(self):
self.run_test_pr_service('xcursor-transparent-theme', 'rpm', 'do_package')
- @OETestID(937)
def test_pr_service_deb_arch_indep(self):
self.run_test_pr_service('xcursor-transparent-theme', 'deb', 'do_package')
- @OETestID(936)
def test_pr_service_ipk_arch_indep(self):
self.run_test_pr_service('xcursor-transparent-theme', 'ipk', 'do_package')
- @OETestID(1419)
def test_stopping_prservice_message(self):
port = get_free_port()
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
index 06f980e1b..f1cb37b53 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import shutil
import tempfile
@@ -5,7 +9,6 @@ import urllib.parse
from oeqa.utils.commands import runCmd, bitbake, get_bb_var
from oeqa.utils.commands import get_bb_vars, create_temp_layer
-from oeqa.core.decorator.oeid import OETestID
from oeqa.selftest.cases import devtool
templayerdir = None
@@ -89,7 +92,6 @@ class RecipetoolTests(RecipetoolBase):
for errorstr in checkerror:
self.assertIn(errorstr, result.output)
- @OETestID(1177)
def test_recipetool_appendfile_basic(self):
# Basic test
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -97,14 +99,12 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('base-files', '/etc/motd', self.testfile, '', expectedlines, ['motd'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1183)
def test_recipetool_appendfile_invalid(self):
# Test some commands that should error
self._try_recipetool_appendfile_fail('/etc/passwd', self.testfile, ['ERROR: /etc/passwd cannot be handled by this tool', 'useradd', 'extrausers'])
self._try_recipetool_appendfile_fail('/etc/timestamp', self.testfile, ['ERROR: /etc/timestamp cannot be handled by this tool'])
self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool'])
- @OETestID(1176)
def test_recipetool_appendfile_alternatives(self):
# Now try with a file we know should be an alternative
# (this is very much a fake example, but one we know is reliably an alternative)
@@ -128,7 +128,6 @@ class RecipetoolTests(RecipetoolBase):
result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True)
self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output)
- @OETestID(1178)
def test_recipetool_appendfile_binary(self):
# Try appending a binary file
# /bin/ls can be a symlink to /usr/bin/ls
@@ -137,7 +136,6 @@ class RecipetoolTests(RecipetoolBase):
self.assertIn('WARNING: ', result.output)
self.assertIn('is a binary', result.output)
- @OETestID(1173)
def test_recipetool_appendfile_add(self):
# Try arbitrary file add to a recipe
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -166,7 +164,6 @@ class RecipetoolTests(RecipetoolBase):
'}\n']
self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name])
- @OETestID(1174)
def test_recipetool_appendfile_add_bindir(self):
# Try arbitrary file add to a recipe, this time to a location such that should be installed as executable
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -180,7 +177,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1175)
def test_recipetool_appendfile_add_machine(self):
# Try arbitrary file add to a recipe, this time to a location such that should be installed as executable
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -196,7 +192,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1184)
def test_recipetool_appendfile_orig(self):
# A file that's in SRC_URI and in do_install with the same name
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -204,7 +199,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-orig', self.testfile, '', expectedlines, ['selftest-replaceme-orig'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1191)
def test_recipetool_appendfile_todir(self):
# A file that's in SRC_URI and in do_install with destination directory rather than file
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -212,7 +206,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-todir', self.testfile, '', expectedlines, ['selftest-replaceme-todir'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1187)
def test_recipetool_appendfile_renamed(self):
# A file that's in SRC_URI with a different name to the destination file
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -220,7 +213,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-renamed', self.testfile, '', expectedlines, ['file1'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1190)
def test_recipetool_appendfile_subdir(self):
# A file that's in SRC_URI in a subdir
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -234,7 +226,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1189)
def test_recipetool_appendfile_src_glob(self):
# A file that's in SRC_URI as a glob
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -248,7 +239,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-src-globfile', self.testfile, '', expectedlines, ['testfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1181)
def test_recipetool_appendfile_inst_glob(self):
# A file that's in do_install as a glob
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -256,7 +246,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-globfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1182)
def test_recipetool_appendfile_inst_todir_glob(self):
# A file that's in do_install as a glob with destination as a directory
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -264,7 +253,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-todir-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-todir-globfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1185)
def test_recipetool_appendfile_patch(self):
# A file that's added by a patch in SRC_URI
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -283,7 +271,6 @@ class RecipetoolTests(RecipetoolBase):
else:
self.fail('Patch warning not found in output:\n%s' % output)
- @OETestID(1188)
def test_recipetool_appendfile_script(self):
# Now, a file that's in SRC_URI but installed by a script (so no mention in do_install)
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -297,7 +284,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1180)
def test_recipetool_appendfile_inst_func(self):
# A file that's installed from a function called by do_install
expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n',
@@ -305,7 +291,6 @@ class RecipetoolTests(RecipetoolBase):
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-func', self.testfile, '', expectedlines, ['selftest-replaceme-inst-func'])
self.assertNotIn('WARNING: ', output)
- @OETestID(1186)
def test_recipetool_appendfile_postinstall(self):
# A file that's created by a postinstall script (and explicitly mentioned in it)
# First try without specifying recipe
@@ -321,7 +306,6 @@ class RecipetoolTests(RecipetoolBase):
'}\n']
_, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile'])
- @OETestID(1179)
def test_recipetool_appendfile_extlayer(self):
# Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure
exttemplayerdir = os.path.join(self.tempdir, 'extlayer')
@@ -337,7 +321,6 @@ class RecipetoolTests(RecipetoolBase):
'metadata/recipes/recipes-test/selftest-recipetool-appendfile/selftest-recipetool-appendfile/selftest-replaceme-orig']
self.assertEqual(sorted(createdfiles), sorted(expectedfiles))
- @OETestID(1192)
def test_recipetool_appendfile_wildcard(self):
def try_appendfile_wc(options):
@@ -362,7 +345,6 @@ class RecipetoolTests(RecipetoolBase):
filename = try_appendfile_wc('-w')
self.assertEqual(filename, recipefn.split('_')[0] + '_%.bbappend')
- @OETestID(1193)
def test_recipetool_create(self):
# Try adding a recipe
tempsrc = os.path.join(self.tempdir, 'srctree')
@@ -379,7 +361,6 @@ class RecipetoolTests(RecipetoolBase):
checkvars['SRC_URI[sha256sum]'] = '2e6a401cac9024db2288297e3be1a8ab60e7401ba8e91225218aaf4a27e82a07'
self._test_recipe_contents(recipefile, checkvars, [])
- @OETestID(1194)
def test_recipetool_create_git(self):
if 'x11' not in get_bb_var('DISTRO_FEATURES'):
self.skipTest('Test requires x11 as distro feature')
@@ -402,7 +383,6 @@ class RecipetoolTests(RecipetoolBase):
inherits = ['autotools', 'pkgconfig']
self._test_recipe_contents(recipefile, checkvars, inherits)
- @OETestID(1392)
def test_recipetool_create_simple(self):
# Try adding a recipe
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -425,7 +405,6 @@ class RecipetoolTests(RecipetoolBase):
inherits = ['autotools']
self._test_recipe_contents(os.path.join(temprecipe, dirlist[0]), checkvars, inherits)
- @OETestID(1418)
def test_recipetool_create_cmake(self):
bitbake('-c packagedata gtk+')
@@ -445,7 +424,6 @@ class RecipetoolTests(RecipetoolBase):
inherits = ['cmake', 'python-dir', 'gettext', 'pkgconfig']
self._test_recipe_contents(recipefile, checkvars, inherits)
- @OETestID(1638)
def test_recipetool_create_github(self):
# Basic test to see if github URL mangling works
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -460,7 +438,6 @@ class RecipetoolTests(RecipetoolBase):
inherits = ['setuptools']
self._test_recipe_contents(recipefile, checkvars, inherits)
- @OETestID(1639)
def test_recipetool_create_github_tarball(self):
# Basic test to ensure github URL mangling doesn't apply to release tarballs
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -476,7 +453,6 @@ class RecipetoolTests(RecipetoolBase):
inherits = ['setuptools']
self._test_recipe_contents(recipefile, checkvars, inherits)
- @OETestID(1637)
def test_recipetool_create_git_http(self):
# Basic test to check http git URL mangling works
temprecipe = os.path.join(self.tempdir, 'recipe')
@@ -504,7 +480,6 @@ class RecipetoolTests(RecipetoolBase):
shutil.copy(srcfile, dstfile)
self.track_for_cleanup(dstfile)
- @OETestID(1640)
def test_recipetool_load_plugin(self):
"""Test that recipetool loads only the first found plugin in BBPATH."""
@@ -626,11 +601,9 @@ class RecipetoolAppendsrcBase(RecipetoolBase):
class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
- @OETestID(1273)
def test_recipetool_appendsrcfile_basic(self):
self._test_appendsrcfile('base-files', 'a-file')
- @OETestID(1274)
def test_recipetool_appendsrcfile_basic_wildcard(self):
testrecipe = 'base-files'
self._test_appendsrcfile(testrecipe, 'a-file', options='-w')
@@ -638,15 +611,12 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir)
self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe)
- @OETestID(1281)
def test_recipetool_appendsrcfile_subdir_basic(self):
self._test_appendsrcfile('base-files', 'a-file', 'tmp')
- @OETestID(1282)
def test_recipetool_appendsrcfile_subdir_basic_dirdest(self):
self._test_appendsrcfile('base-files', destdir='tmp')
- @OETestID(1280)
def test_recipetool_appendsrcfile_srcdir_basic(self):
testrecipe = 'bash'
bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe)
@@ -655,14 +625,12 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
subdir = os.path.relpath(srcdir, workdir)
self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir)
- @OETestID(1275)
def test_recipetool_appendsrcfile_existing_in_src_uri(self):
testrecipe = 'base-files'
filepath = self._get_first_file_uri(testrecipe)
self.assertTrue(filepath, 'Unable to test, no file:// uri found in SRC_URI for %s' % testrecipe)
self._test_appendsrcfile(testrecipe, filepath, has_src_uri=False)
- @OETestID(1276)
def test_recipetool_appendsrcfile_existing_in_src_uri_diff_params(self):
testrecipe = 'base-files'
subdir = 'tmp'
@@ -672,7 +640,6 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
output = self._test_appendsrcfile(testrecipe, filepath, subdir, has_src_uri=False)
self.assertTrue(any('with different parameters' in l for l in output))
- @OETestID(1277)
def test_recipetool_appendsrcfile_replace_file_srcdir(self):
testrecipe = 'bash'
filepath = 'Makefile.in'
@@ -685,7 +652,6 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
bitbake('%s:do_unpack' % testrecipe)
self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read())
- @OETestID(1278)
def test_recipetool_appendsrcfiles_basic(self, destdir=None):
newfiles = [self.testfile]
for i in range(1, 5):
@@ -695,6 +661,5 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase):
newfiles.append(testfile)
self._test_appendsrcfiles('gcc', newfiles, destdir=destdir, options='-W')
- @OETestID(1279)
def test_recipetool_appendsrcfiles_basic_subdir(self):
self.test_recipetool_appendsrcfiles_basic(destdir='testdir')
diff --git a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
index dd2f55839..747870383 100644
--- a/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
+++ b/poky/meta/lib/oeqa/selftest/cases/recipeutils.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import time
@@ -6,7 +10,6 @@ import bb.tinfoil
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, get_test_layer
-from oeqa.core.decorator.oeid import OETestID
def setUpModule():
diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
index 0a089c0b7..10eb9c12d 100644
--- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import sys
basepath = os.path.abspath(os.path.dirname(__file__) + '/../../../../../')
diff --git a/poky/meta/lib/oeqa/selftest/cases/runcmd.py b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
index a1615cfd2..3755764ee 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runcmd.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runcmd.py
@@ -1,7 +1,10 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd
from oeqa.utils import CommandError
-from oeqa.core.decorator.oeid import OETestID
import subprocess
import threading
@@ -27,60 +30,49 @@ class RunCmdTests(OESelftestTestCase):
TIMEOUT = 5
DELTA = 3
- @OETestID(1916)
def test_result_okay(self):
result = runCmd("true")
self.assertEqual(result.status, 0)
- @OETestID(1915)
def test_result_false(self):
result = runCmd("false", ignore_status=True)
self.assertEqual(result.status, 1)
- @OETestID(1917)
def test_shell(self):
# A shell is used for all string commands.
result = runCmd("false; true", ignore_status=True)
self.assertEqual(result.status, 0)
- @OETestID(1910)
def test_no_shell(self):
self.assertRaises(FileNotFoundError,
runCmd, "false; true", shell=False)
- @OETestID(1906)
def test_list_not_found(self):
self.assertRaises(FileNotFoundError,
runCmd, ["false; true"])
- @OETestID(1907)
def test_list_okay(self):
result = runCmd(["true"])
self.assertEqual(result.status, 0)
- @OETestID(1913)
def test_result_assertion(self):
self.assertRaisesRegexp(AssertionError, "Command 'echo .* false' returned non-zero exit status 1:\nfoobar",
runCmd, "echo foobar >&2; false", shell=True)
- @OETestID(1914)
def test_result_exception(self):
self.assertRaisesRegexp(CommandError, "Command 'echo .* false' returned non-zero exit status 1 with output: foobar",
runCmd, "echo foobar >&2; false", shell=True, assert_error=False)
- @OETestID(1911)
def test_output(self):
result = runCmd("echo stdout; echo stderr >&2", shell=True)
self.assertEqual("stdout\nstderr", result.output)
self.assertEqual("", result.error)
- @OETestID(1912)
def test_output_split(self):
result = runCmd("echo stdout; echo stderr >&2", shell=True, stderr=subprocess.PIPE)
self.assertEqual("stdout", result.output)
self.assertEqual("stderr", result.error)
- @OETestID(1920)
def test_timeout(self):
numthreads = threading.active_count()
start = time.time()
@@ -91,7 +83,6 @@ class RunCmdTests(OESelftestTestCase):
self.assertLess(end - start, self.TIMEOUT + self.DELTA)
self.assertEqual(numthreads, threading.active_count())
- @OETestID(1921)
def test_timeout_split(self):
numthreads = threading.active_count()
start = time.time()
@@ -102,14 +93,12 @@ class RunCmdTests(OESelftestTestCase):
self.assertLess(end - start, self.TIMEOUT + self.DELTA)
self.assertEqual(numthreads, threading.active_count())
- @OETestID(1918)
def test_stdin(self):
numthreads = threading.active_count()
result = runCmd("cat", data=b"hello world", timeout=self.TIMEOUT)
self.assertEqual("hello world", result.output)
self.assertEqual(numthreads, threading.active_count())
- @OETestID(1919)
def test_stdin_timeout(self):
numthreads = threading.active_count()
start = time.time()
@@ -119,14 +108,12 @@ class RunCmdTests(OESelftestTestCase):
self.assertLess(end - start, self.TIMEOUT + self.DELTA)
self.assertEqual(numthreads, threading.active_count())
- @OETestID(1908)
def test_log(self):
log = MemLogger()
result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log)
self.assertEqual(["Running: echo stdout; echo stderr >&2", "stdout", "stderr"], log.info_msgs)
self.assertEqual([], log.error_msgs)
- @OETestID(1909)
def test_log_split(self):
log = MemLogger()
result = runCmd("echo stdout; echo stderr >&2", shell=True, output_log=log, stderr=subprocess.PIPE)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runqemu.py b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
index f69d4706a..b88ae306c 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runqemu.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runqemu.py
@@ -1,6 +1,8 @@
#
# Copyright (c) 2017 Wind River Systems, Inc.
#
+# SPDX-License-Identifier: MIT
+#
import re
import tempfile
@@ -8,7 +10,6 @@ import time
import oe.types
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import bitbake, runqemu, get_bb_var, runCmd
-from oeqa.core.decorator.oeid import OETestID
class RunqemuTests(OESelftestTestCase):
"""Runqemu test class"""
@@ -42,7 +43,6 @@ SYSLINUX_TIMEOUT = "10"
bitbake(self.recipe)
RunqemuTests.image_is_ready = True
- @OETestID(2001)
def test_boot_machine(self):
"""Test runqemu machine"""
cmd = "%s %s" % (self.cmd_common, self.machine)
@@ -50,7 +50,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
- @OETestID(2002)
def test_boot_machine_ext4(self):
"""Test runqemu machine ext4"""
cmd = "%s %s ext4" % (self.cmd_common, self.machine)
@@ -58,7 +57,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertIn('rootfs.ext4', f.read(), "Failed: %s" % cmd)
- @OETestID(2003)
def test_boot_machine_iso(self):
"""Test runqemu machine iso"""
cmd = "%s %s iso" % (self.cmd_common, self.machine)
@@ -66,7 +64,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertIn('media=cdrom', f.read(), "Failed: %s" % cmd)
- @OETestID(2004)
def test_boot_recipe_image(self):
"""Test runqemu recipe-image"""
cmd = "%s %s" % (self.cmd_common, self.recipe)
@@ -75,7 +72,6 @@ SYSLINUX_TIMEOUT = "10"
self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
- @OETestID(2005)
def test_boot_recipe_image_vmdk(self):
"""Test runqemu recipe-image vmdk"""
cmd = "%s %s wic.vmdk" % (self.cmd_common, self.recipe)
@@ -83,7 +79,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertIn('format=vmdk', f.read(), "Failed: %s" % cmd)
- @OETestID(2006)
def test_boot_recipe_image_vdi(self):
"""Test runqemu recipe-image vdi"""
cmd = "%s %s wic.vdi" % (self.cmd_common, self.recipe)
@@ -91,7 +86,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertIn('format=vdi', f.read(), "Failed: %s" % cmd)
- @OETestID(2007)
def test_boot_deploy(self):
"""Test runqemu deploy_dir_image"""
cmd = "%s %s" % (self.cmd_common, self.deploy_dir_image)
@@ -100,7 +94,6 @@ SYSLINUX_TIMEOUT = "10"
self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
- @OETestID(2008)
def test_boot_deploy_hddimg(self):
"""Test runqemu deploy_dir_image hddimg"""
cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image)
@@ -108,7 +101,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertTrue(re.search('file=.*.hddimg', f.read()), "Failed: %s, %s" % (cmd, f.read()))
- @OETestID(2009)
def test_boot_machine_slirp(self):
"""Test runqemu machine slirp"""
cmd = "%s slirp %s" % (self.cmd_common, self.machine)
@@ -116,7 +108,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertIn(' -netdev user', f.read(), "Failed: %s" % cmd)
- @OETestID(2009)
def test_boot_machine_slirp_qcow2(self):
"""Test runqemu machine slirp qcow2"""
cmd = "%s slirp wic.qcow2 %s" % (self.cmd_common, self.machine)
@@ -124,7 +115,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertIn('format=qcow2', f.read(), "Failed: %s" % cmd)
- @OETestID(2010)
def test_boot_qemu_boot(self):
"""Test runqemu /path/to/image.qemuboot.conf"""
qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine)
@@ -136,7 +126,6 @@ SYSLINUX_TIMEOUT = "10"
with open(qemu.qemurunnerlog) as f:
self.assertTrue(qemu.runner.logged, "Failed: %s, %s" % (cmd, f.read()))
- @OETestID(2011)
def test_boot_rootfs(self):
"""Test runqemu /path/to/rootfs.ext4"""
rootfs = "%s-%s.ext4" % (self.recipe, self.machine)
diff --git a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
index 6c25bb901..d817b755f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/poky/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -1,7 +1,10 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
from oeqa.utils.sshcontrol import SSHControl
-from oeqa.core.decorator.oeid import OETestID
import os
import re
import tempfile
@@ -15,7 +18,6 @@ class TestExport(OESelftestTestCase):
runCmd("rm -rf /tmp/sdk")
super(TestExport, cls).tearDownClass()
- @OETestID(1499)
def test_testexport_basic(self):
"""
Summary: Check basic testexport functionality with only ping test enabled.
@@ -55,7 +57,6 @@ class TestExport(OESelftestTestCase):
# Verify ping test was succesful
self.assertEqual(0, result.status, 'oe-test runtime returned a non 0 status')
- @OETestID(1641)
def test_testexport_sdk(self):
"""
Summary: Check sdk functionality for testexport.
@@ -110,7 +111,6 @@ class TestExport(OESelftestTestCase):
class TestImage(OESelftestTestCase):
- @OETestID(1644)
def test_testimage_install(self):
"""
Summary: Check install packages functionality for testimage/testexport.
@@ -131,7 +131,6 @@ class TestImage(OESelftestTestCase):
bitbake('core-image-full-cmdline socat')
bitbake('-c testimage core-image-full-cmdline')
- @OETestID(1883)
def test_testimage_dnf(self):
"""
Summary: Check package feeds functionality for dnf
@@ -169,7 +168,6 @@ class TestImage(OESelftestTestCase):
# remove the oeqa-feed-sign temporal directory
shutil.rmtree(self.gpg_home, ignore_errors=True)
- @OETestID(1883)
def test_testimage_virgl_gtk(self):
"""
Summary: Check host-assisted accelerate OpenGL functionality in qemu with gtk frontend
@@ -200,7 +198,6 @@ class TestImage(OESelftestTestCase):
bitbake('core-image-minimal')
bitbake('-c testimage core-image-minimal')
- @OETestID(1883)
def test_testimage_virgl_headless(self):
"""
Summary: Check host-assisted accelerate OpenGL functionality in qemu with egl-headless frontend
@@ -235,8 +232,6 @@ class TestImage(OESelftestTestCase):
bitbake('-c testimage core-image-minimal')
class Postinst(OESelftestTestCase):
- @OETestID(1540)
- @OETestID(1545)
def test_postinst_rootfs_and_boot(self):
"""
Summary: The purpose of this test case is to verify Post-installation
diff --git a/poky/meta/lib/oeqa/selftest/cases/selftest.py b/poky/meta/lib/oeqa/selftest/cases/selftest.py
index 4b3cb1446..af080dcf0 100644
--- a/poky/meta/lib/oeqa/selftest/cases/selftest.py
+++ b/poky/meta/lib/oeqa/selftest/cases/selftest.py
@@ -1,12 +1,14 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import importlib
from oeqa.utils.commands import runCmd
import oeqa.selftest
from oeqa.selftest.case import OESelftestTestCase
-from oeqa.core.decorator.oeid import OETestID
class ExternalLayer(OESelftestTestCase):
- @OETestID(1885)
def test_list_imported(self):
"""
Summary: Checks functionality to import tests from other layers.
diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py
index 4fa99acbc..9c710bd0f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/signing.py
+++ b/poky/meta/lib/oeqa/selftest/cases/signing.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars
import os
@@ -7,7 +11,6 @@ import re
import shutil
import tempfile
from contextlib import contextmanager
-from oeqa.core.decorator.oeid import OETestID
from oeqa.utils.ftools import write_file
@@ -51,7 +54,6 @@ class Signing(OESelftestTestCase):
os.environ[e] = origenv[e]
os.chdir(builddir)
- @OETestID(1362)
def test_signing_packages(self):
"""
Summary: Test that packages can be signed in the package feed
@@ -116,7 +118,6 @@ class Signing(OESelftestTestCase):
bitbake('core-image-minimal')
- @OETestID(1382)
def test_signing_sstate_archive(self):
"""
Summary: Test that sstate archives can be signed
@@ -169,7 +170,6 @@ class Signing(OESelftestTestCase):
class LockedSignatures(OESelftestTestCase):
- @OETestID(1420)
def test_locked_signatures(self):
"""
Summary: Test locked signature mechanism
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstate.py b/poky/meta/lib/oeqa/selftest/cases/sstate.py
index bc2fdbd8c..410dec64f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstate.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstate.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import datetime
import unittest
import os
diff --git a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
index 938e654e9..2867cb78a 100644
--- a/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
+++ b/poky/meta/lib/oeqa/selftest/cases/sstatetests.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import shutil
import glob
@@ -7,7 +11,6 @@ import tempfile
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer, create_temp_layer
from oeqa.selftest.cases.sstate import SStateBase
-from oeqa.core.decorator.oeid import OETestID
import bb.siggen
@@ -73,19 +76,15 @@ class SStateTests(SStateBase):
else:
self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker)))
- @OETestID(975)
def test_sstate_creation_distro_specific_pass(self):
self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True)
- @OETestID(1374)
def test_sstate_creation_distro_specific_fail(self):
self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False)
- @OETestID(976)
def test_sstate_creation_distro_nonspecific_pass(self):
self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
- @OETestID(1375)
def test_sstate_creation_distro_nonspecific_fail(self):
self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False)
@@ -106,17 +105,14 @@ class SStateTests(SStateBase):
tgz_removed = self.search_sstate('|'.join(map(str, [s + r'.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific)
self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed)))
- @OETestID(977)
def test_cleansstate_task_distro_specific_nonspecific(self):
targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
targets.append('linux-libc-headers')
self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True)
- @OETestID(1376)
def test_cleansstate_task_distro_nonspecific(self):
self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True)
- @OETestID(1377)
def test_cleansstate_task_distro_specific(self):
targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native']
targets.append('linux-libc-headers')
@@ -155,15 +151,12 @@ class SStateTests(SStateBase):
created_once = [x for x in file_tracker_2 if x not in file_tracker_1]
self.assertTrue(created_once == [], msg="The following sstate files ware created only in the second run: %s" % ', '.join(map(str, created_once)))
- @OETestID(175)
def test_rebuild_distro_specific_sstate_cross_native_targets(self):
self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True)
- @OETestID(1372)
def test_rebuild_distro_specific_sstate_cross_target(self):
self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch], temp_sstate_location=True)
- @OETestID(1373)
def test_rebuild_distro_specific_sstate_native_target(self):
self.run_test_rebuild_distro_specific_sstate(['binutils-native'], temp_sstate_location=True)
@@ -210,7 +203,6 @@ class SStateTests(SStateBase):
expected_not_actual = [x for x in expected_remaining_sstate if x not in actual_remaining_sstate]
self.assertFalse(expected_not_actual, msg="Extra files ware removed: %s" ', '.join(map(str, expected_not_actual)))
- @OETestID(973)
def test_sstate_cache_management_script_using_pr_1(self):
global_config = []
target_config = []
@@ -218,7 +210,6 @@ class SStateTests(SStateBase):
target_config.append('PR = "0"')
self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic'])
- @OETestID(978)
def test_sstate_cache_management_script_using_pr_2(self):
global_config = []
target_config = []
@@ -228,7 +219,6 @@ class SStateTests(SStateBase):
target_config.append('PR = "1"')
self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic'])
- @OETestID(979)
def test_sstate_cache_management_script_using_pr_3(self):
global_config = []
target_config = []
@@ -240,7 +230,6 @@ class SStateTests(SStateBase):
target_config.append('PR = "1"')
self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic'])
- @OETestID(974)
def test_sstate_cache_management_script_using_machine(self):
global_config = []
target_config = []
@@ -250,7 +239,6 @@ class SStateTests(SStateBase):
target_config.append('')
self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic'])
- @OETestID(1270)
def test_sstate_32_64_same_hash(self):
"""
The sstate checksums for both native and target should not vary whether
@@ -299,7 +287,6 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb"
self.assertCountEqual(files1, files2)
- @OETestID(1271)
def test_sstate_nativelsbstring_same_hash(self):
"""
The sstate checksums should be independent of whichever NATIVELSBSTRING is
@@ -333,7 +320,6 @@ NATIVELSBSTRING = \"DistroB\"
self.maxDiff = None
self.assertCountEqual(files1, files2)
- @OETestID(1368)
def test_sstate_allarch_samesigs(self):
"""
The sstate checksums of allarch packages should be independent of whichever
@@ -354,7 +340,6 @@ MACHINE = \"qemuarm\"
"""
self.sstate_allarch_samesigs(configA, configB)
- @OETestID(1645)
def test_sstate_nativesdk_samesigs_multilib(self):
"""
check nativesdk stamps are the same between the two MACHINE values.
@@ -405,7 +390,6 @@ MULTILIBS = \"\"
self.maxDiff = None
self.assertEqual(files1, files2)
- @OETestID(1369)
def test_sstate_sametune_samesigs(self):
"""
The sstate checksums of two identical machines (using the same tune) should be the
@@ -452,7 +436,6 @@ DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
self.assertCountEqual(files1, files2)
- @OETestID(1498)
def test_sstate_noop_samesigs(self):
"""
The sstate checksums of two builds with these variables changed or
diff --git a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
index f889a47b2..42a1b6b4f 100644
--- a/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/poky/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import time
@@ -6,12 +10,10 @@ import bb.tinfoil
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd
-from oeqa.core.decorator.oeid import OETestID
class TinfoilTests(OESelftestTestCase):
""" Basic tests for the tinfoil API """
- @OETestID(1568)
def test_getvar(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(True)
@@ -19,7 +21,6 @@ class TinfoilTests(OESelftestTestCase):
if not machine:
self.fail('Unable to get MACHINE value - returned %s' % machine)
- @OETestID(1569)
def test_expand(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(True)
@@ -28,7 +29,6 @@ class TinfoilTests(OESelftestTestCase):
if not pid:
self.fail('Unable to expand "%s" - returned %s' % (expr, pid))
- @OETestID(1570)
def test_getvar_bb_origenv(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(True)
@@ -37,7 +37,6 @@ class TinfoilTests(OESelftestTestCase):
self.fail('Unable to get BB_ORIGENV value - returned %s' % origenv)
self.assertEqual(origenv.getVar('HOME', False), os.environ['HOME'])
- @OETestID(1571)
def test_parse_recipe(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=False, quiet=2)
@@ -48,7 +47,6 @@ class TinfoilTests(OESelftestTestCase):
rd = tinfoil.parse_recipe_file(best[3])
self.assertEqual(testrecipe, rd.getVar('PN'))
- @OETestID(1572)
def test_parse_recipe_copy_expand(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=False, quiet=2)
@@ -67,7 +65,6 @@ class TinfoilTests(OESelftestTestCase):
localdata.setVar('PN', 'hello')
self.assertEqual('hello', localdata.getVar('BPN'))
- @OETestID(1573)
def test_parse_recipe_initial_datastore(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=False, quiet=2)
@@ -81,7 +78,6 @@ class TinfoilTests(OESelftestTestCase):
# Check we can get variable values
self.assertEqual('somevalue', rd.getVar('MYVARIABLE'))
- @OETestID(1574)
def test_list_recipes(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=False, quiet=2)
@@ -100,7 +96,6 @@ class TinfoilTests(OESelftestTestCase):
if checkpns:
self.fail('Unable to find pkg_fn entries for: %s' % ', '.join(checkpns))
- @OETestID(1575)
def test_wait_event(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
@@ -136,7 +131,6 @@ class TinfoilTests(OESelftestTestCase):
self.assertTrue(commandcomplete, 'Timed out waiting for CommandCompleted event from bitbake server')
self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server')
- @OETestID(1576)
def test_setvariable_clean(self):
# First check that setVariable affects the datastore
with bb.tinfoil.Tinfoil() as tinfoil:
@@ -159,7 +153,6 @@ class TinfoilTests(OESelftestTestCase):
value = tinfoil.run_command('getVariable', 'TESTVAR')
self.assertEqual(value, 'specialvalue', 'Value set using config_data.setVar() is not reflected in config_data.getVar()')
- @OETestID(1884)
def test_datastore_operations(self):
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(config_only=True)
diff --git a/poky/meta/lib/oeqa/selftest/cases/wic.py b/poky/meta/lib/oeqa/selftest/cases/wic.py
index 79925f942..d16eae588 100644
--- a/poky/meta/lib/oeqa/selftest/cases/wic.py
+++ b/poky/meta/lib/oeqa/selftest/cases/wic.py
@@ -1,22 +1,8 @@
#!/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.
+# SPDX-License-Identifier: GPL-2.0-only
#
# AUTHORS
# Ed Bartosh <ed.bartosh@linux.intel.com>
@@ -34,7 +20,6 @@ from tempfile import NamedTemporaryFile
from oeqa.selftest.case import OESelftestTestCase
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
-from oeqa.core.decorator.oeid import OETestID
@lru_cache(maxsize=32)
@@ -103,63 +88,51 @@ class WicTestCase(OESelftestTestCase):
class Wic(WicTestCase):
- @OETestID(1552)
def test_version(self):
"""Test wic --version"""
runCmd('wic --version')
- @OETestID(1208)
def test_help(self):
"""Test wic --help and wic -h"""
runCmd('wic --help')
runCmd('wic -h')
- @OETestID(1209)
def test_createhelp(self):
"""Test wic create --help"""
runCmd('wic create --help')
- @OETestID(1210)
def test_listhelp(self):
"""Test wic list --help"""
runCmd('wic list --help')
- @OETestID(1553)
def test_help_create(self):
"""Test wic help create"""
runCmd('wic help create')
- @OETestID(1554)
def test_help_list(self):
"""Test wic help list"""
runCmd('wic help list')
- @OETestID(1215)
def test_help_overview(self):
"""Test wic help overview"""
runCmd('wic help overview')
- @OETestID(1216)
def test_help_plugins(self):
"""Test wic help plugins"""
runCmd('wic help plugins')
- @OETestID(1217)
def test_help_kickstart(self):
"""Test wic help kickstart"""
runCmd('wic help kickstart')
- @OETestID(1555)
def test_list_images(self):
"""Test wic list images"""
runCmd('wic list images')
- @OETestID(1556)
def test_list_source_plugins(self):
"""Test wic list source-plugins"""
runCmd('wic list source-plugins')
- @OETestID(1557)
def test_listed_images_help(self):
"""Test wic listed images help"""
output = runCmd('wic list images').output
@@ -167,24 +140,20 @@ class Wic(WicTestCase):
for image in imagelist:
runCmd('wic list %s help' % image)
- @OETestID(1213)
def test_unsupported_subcommand(self):
"""Test unsupported subcommand"""
self.assertNotEqual(0, runCmd('wic unsupported', ignore_status=True).status)
- @OETestID(1214)
def test_no_command(self):
"""Test wic without command"""
self.assertEqual(1, runCmd('wic', ignore_status=True).status)
- @OETestID(1211)
def test_build_image_name(self):
"""Test wic create wictestdisk --image-name=core-image-minimal"""
cmd = "wic create wictestdisk --image-name=core-image-minimal -o %s" % self.resultdir
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1157)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_gpt_image(self):
"""Test creation of core-image-minimal with gpt table and UUID boot"""
@@ -192,7 +161,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
- @OETestID(1346)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_iso_image(self):
"""Test creation of hybrid iso image with legacy and EFI boot"""
@@ -207,7 +175,6 @@ class Wic(WicTestCase):
self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct")))
self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso")))
- @OETestID(1348)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_qemux86_directdisk(self):
"""Test creation of qemux-86-directdisk image"""
@@ -215,7 +182,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct")))
- @OETestID(1350)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_mkefidisk(self):
"""Test creation of mkefidisk image"""
@@ -223,7 +189,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct")))
- @OETestID(1385)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_bootloader_config(self):
"""Test creation of directdisk-bootloader-config image"""
@@ -235,7 +200,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct")))
- @OETestID(1560)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_systemd_bootdisk(self):
"""Test creation of systemd-bootdisk image"""
@@ -247,7 +211,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct")))
- @OETestID(1561)
def test_sdimage_bootpart(self):
"""Test creation of sdimage-bootpart image"""
cmd = "wic create sdimage-bootpart -e core-image-minimal -o %s" % self.resultdir
@@ -256,7 +219,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
- @OETestID(1562)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_default_output_dir(self):
"""Test default output location"""
@@ -270,7 +232,6 @@ class Wic(WicTestCase):
runCmd(cmd)
self.assertEqual(1, len(glob("directdisk-*.direct")))
- @OETestID(1212)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_build_artifacts(self):
"""Test wic create directdisk providing all artifacts."""
@@ -288,7 +249,6 @@ class Wic(WicTestCase):
"-o %(resultdir)s" % bbvars)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
- @OETestID(1264)
def test_compress_gzip(self):
"""Test compressing an image with gzip"""
runCmd("wic create wictestdisk "
@@ -296,7 +256,6 @@ class Wic(WicTestCase):
"-c gzip -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.gz")))
- @OETestID(1265)
def test_compress_bzip2(self):
"""Test compressing an image with bzip2"""
runCmd("wic create wictestdisk "
@@ -304,7 +263,6 @@ class Wic(WicTestCase):
"-c bzip2 -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.bz2")))
- @OETestID(1266)
def test_compress_xz(self):
"""Test compressing an image with xz"""
runCmd("wic create wictestdisk "
@@ -312,7 +270,6 @@ class Wic(WicTestCase):
"--compress-with=xz -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.xz")))
- @OETestID(1267)
def test_wrong_compressor(self):
"""Test how wic breaks if wrong compressor is provided"""
self.assertEqual(2, runCmd("wic create wictestdisk "
@@ -320,7 +277,6 @@ class Wic(WicTestCase):
"-c wrong -o %s" % self.resultdir,
ignore_status=True).status)
- @OETestID(1558)
def test_debug_short(self):
"""Test -D option"""
runCmd("wic create wictestdisk "
@@ -328,7 +284,6 @@ class Wic(WicTestCase):
"-D -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1658)
def test_debug_long(self):
"""Test --debug option"""
runCmd("wic create wictestdisk "
@@ -336,7 +291,6 @@ class Wic(WicTestCase):
"--debug -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1563)
def test_skip_build_check_short(self):
"""Test -s option"""
runCmd("wic create wictestdisk "
@@ -344,7 +298,6 @@ class Wic(WicTestCase):
"-s -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1671)
def test_skip_build_check_long(self):
"""Test --skip-build-check option"""
runCmd("wic create wictestdisk "
@@ -353,7 +306,6 @@ class Wic(WicTestCase):
"--outdir %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1564)
def test_build_rootfs_short(self):
"""Test -f option"""
runCmd("wic create wictestdisk "
@@ -361,7 +313,6 @@ class Wic(WicTestCase):
"-f -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1656)
def test_build_rootfs_long(self):
"""Test --build-rootfs option"""
runCmd("wic create wictestdisk "
@@ -370,7 +321,6 @@ class Wic(WicTestCase):
"--outdir %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
- @OETestID(1268)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_rootfs_indirect_recipes(self):
"""Test usage of rootfs plugin with rootfs recipes"""
@@ -381,7 +331,6 @@ class Wic(WicTestCase):
"--outdir %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct")))
- @OETestID(1269)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_rootfs_artifacts(self):
"""Test usage of rootfs plugin with rootfs paths"""
@@ -401,7 +350,6 @@ class Wic(WicTestCase):
"--outdir %(resultdir)s" % bbvars)
self.assertEqual(1, len(glob(self.resultdir + "%(wks)s-*.direct" % bbvars)))
- @OETestID(1661)
def test_exclude_path(self):
"""Test --exclude-path wks option."""
@@ -504,7 +452,6 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
finally:
os.environ['PATH'] = oldpath
- @OETestID(1662)
def test_exclude_path_errors(self):
"""Test --exclude-path wks option error handling."""
wks_file = 'temp.wks'
@@ -525,7 +472,6 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r
class Wic2(WicTestCase):
- @OETestID(1496)
def test_bmap_short(self):
"""Test generation of .bmap file -m option"""
cmd = "wic create wictestdisk -e core-image-minimal -m -o %s" % self.resultdir
@@ -533,7 +479,6 @@ class Wic2(WicTestCase):
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct.bmap")))
- @OETestID(1655)
def test_bmap_long(self):
"""Test generation of .bmap file --bmap option"""
cmd = "wic create wictestdisk -e core-image-minimal --bmap -o %s" % self.resultdir
@@ -541,7 +486,6 @@ class Wic2(WicTestCase):
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct.bmap")))
- @OETestID(1347)
def test_image_env(self):
"""Test generation of <image>.env files."""
image = 'core-image-minimal'
@@ -564,7 +508,6 @@ class Wic2(WicTestCase):
self.assertTrue(var in content, "%s is not in .env file" % var)
self.assertTrue(content[var])
- @OETestID(1559)
def test_image_vars_dir_short(self):
"""Test image vars directory selection -v option"""
image = 'core-image-minimal'
@@ -577,7 +520,6 @@ class Wic2(WicTestCase):
self.resultdir))
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
- @OETestID(1665)
def test_image_vars_dir_long(self):
"""Test image vars directory selection --vars option"""
image = 'core-image-minimal'
@@ -593,7 +535,6 @@ class Wic2(WicTestCase):
self.resultdir))
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct")))
- @OETestID(1351)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_wic_image_type(self):
"""Test building wic images by bitbake"""
@@ -614,7 +555,6 @@ class Wic2(WicTestCase):
self.assertTrue(os.path.islink(path))
self.assertTrue(os.path.isfile(os.path.realpath(path)))
- @OETestID(1424)
@only_for_arch(['i586', 'i686', 'x86_64'])
def test_qemu(self):
"""Test wic-image-minimal under qemu"""
@@ -636,7 +576,6 @@ class Wic2(WicTestCase):
self.assertEqual(output, 'UUID=2c71ef06-a81d-4735-9d3a-379b69c6bdba\t/media\text4\tdefaults\t0\t0')
@only_for_arch(['i586', 'i686', 'x86_64'])
- @OETestID(1852)
def test_qemu_efi(self):
"""Test core-image-minimal efi image under qemu"""
config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "mkefidisk.wks"\n'
@@ -666,7 +605,6 @@ class Wic2(WicTestCase):
return wkspath, wksname
- @OETestID(1847)
def test_fixed_size(self):
"""
Test creation of a simple image with partition size controlled through
@@ -697,7 +635,6 @@ class Wic2(WicTestCase):
self.assertEqual(1, len(partlns))
self.assertEqual("1:0.00MiB:200MiB:200MiB:ext4::;", partlns[0])
- @OETestID(1848)
def test_fixed_size_error(self):
"""
Test creation of a simple image with partition size controlled through
@@ -713,7 +650,6 @@ class Wic2(WicTestCase):
self.assertEqual(0, len(wicout))
@only_for_arch(['i586', 'i686', 'x86_64'])
- @OETestID(1854)
def test_rawcopy_plugin_qemu(self):
"""Test rawcopy plugin in qemu"""
# build ext4 and wic images
@@ -729,7 +665,6 @@ class Wic2(WicTestCase):
self.assertEqual(1, status, 'Failed to run command "%s": %s' % (cmd, output))
self.assertEqual(output, '2')
- @OETestID(1853)
def test_rawcopy_plugin(self):
"""Test rawcopy plugin"""
img = 'core-image-minimal'
@@ -746,7 +681,6 @@ class Wic2(WicTestCase):
out = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(1, len(out))
- @OETestID(1849)
def test_fs_types(self):
"""Test filesystem types for empty and not empty partitions"""
img = 'core-image-minimal'
@@ -766,7 +700,6 @@ class Wic2(WicTestCase):
out = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(1, len(out))
- @OETestID(1851)
def test_kickstart_parser(self):
"""Test wks parser options"""
with NamedTemporaryFile("w", suffix=".wks") as wks:
@@ -779,7 +712,6 @@ class Wic2(WicTestCase):
out = glob(self.resultdir + "%s-*direct" % wksname)
self.assertEqual(1, len(out))
- @OETestID(1850)
def test_image_bootpart_globbed(self):
"""Test globbed sources with image-bootpart plugin"""
img = "core-image-minimal"
@@ -790,7 +722,6 @@ class Wic2(WicTestCase):
self.remove_config(config)
self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct")))
- @OETestID(1855)
def test_sparse_copy(self):
"""Test sparse_copy with FIEMAP and SEEK_HOLE filemap APIs"""
libpath = os.path.join(get_bb_var('COREBASE'), 'scripts', 'lib', 'wic')
@@ -819,7 +750,6 @@ class Wic2(WicTestCase):
self.assertEqual(dest_stat.st_blocks, 8)
os.unlink(dest)
- @OETestID(1857)
def test_wic_ls(self):
"""Test listing image content using 'wic ls'"""
runCmd("wic create wictestdisk "
@@ -838,7 +768,6 @@ class Wic2(WicTestCase):
result = runCmd("wic ls %s:1/ -n %s" % (images[0], sysroot))
self.assertEqual(6, len(result.output.split('\n')))
- @OETestID(1856)
def test_wic_cp(self):
"""Test copy files and directories to the the wic image."""
runCmd("wic create wictestdisk "
@@ -878,7 +807,6 @@ class Wic2(WicTestCase):
self.assertEqual(8, len(result.output.split('\n')))
self.assertTrue(os.path.basename(testdir) in result.output)
- @OETestID(1858)
def test_wic_rm(self):
"""Test removing files and directories from the the wic image."""
runCmd("wic create mkefidisk "
@@ -905,7 +833,6 @@ class Wic2(WicTestCase):
self.assertNotIn('\nBZIMAGE ', result.output)
self.assertNotIn('\nEFI <DIR> ', result.output)
- @OETestID(1922)
def test_mkfs_extraopts(self):
"""Test wks option --mkfs-extraopts for empty and not empty partitions"""
img = 'core-image-minimal'
diff --git a/poky/meta/lib/oeqa/selftest/context.py b/poky/meta/lib/oeqa/selftest/context.py
index c56e53dcd..d279994dd 100644
--- a/poky/meta/lib/oeqa/selftest/context.py
+++ b/poky/meta/lib/oeqa/selftest/context.py
@@ -1,5 +1,8 @@
+#
# Copyright (C) 2017 Intel Corporation
-# Released under the MIT license (see COPYING.MIT)
+#
+# SPDX-License-Identifier: MIT
+#
import os
import time
diff --git a/poky/meta/lib/oeqa/targetcontrol.py b/poky/meta/lib/oeqa/targetcontrol.py
index 1868ad320..15e617c95 100644
--- a/poky/meta/lib/oeqa/targetcontrol.py
+++ b/poky/meta/lib/oeqa/targetcontrol.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# This module is used by testimage.bbclass for setting up and controlling a target machine.
@@ -159,7 +161,7 @@ class QemuTarget(BaseTarget):
def start(self, params=None, ssh=True, extra_bootparams='', runqemuparams='', launch_cmd='', discard_writes=True):
if launch_cmd:
- start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd)
+ start = self.runner.launch(get_ip=ssh, launch_cmd=launch_cmd, qemuparams=params)
else:
start = self.runner.start(params, get_ip=ssh, extra_bootparams=extra_bootparams, runqemuparams=runqemuparams, discard_writes=discard_writes)
diff --git a/poky/meta/lib/oeqa/utils/__init__.py b/poky/meta/lib/oeqa/utils/__init__.py
index d38a32301..70fbe7b55 100644
--- a/poky/meta/lib/oeqa/utils/__init__.py
+++ b/poky/meta/lib/oeqa/utils/__init__.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: MIT
+#
# Enable other layers to have modules in the same named directory
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
diff --git a/poky/meta/lib/oeqa/utils/buildproject.py b/poky/meta/lib/oeqa/utils/buildproject.py
index 01a803ab6..e6d80cc8d 100644
--- a/poky/meta/lib/oeqa/utils/buildproject.py
+++ b/poky/meta/lib/oeqa/utils/buildproject.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2013-2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# Provides a class for automating build tests for projects
diff --git a/poky/meta/lib/oeqa/utils/commands.py b/poky/meta/lib/oeqa/utils/commands.py
index 2e6a2289c..59ebfbe12 100644
--- a/poky/meta/lib/oeqa/utils/commands.py
+++ b/poky/meta/lib/oeqa/utils/commands.py
@@ -1,6 +1,8 @@
+#
# Copyright (c) 2013-2014 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# DESCRIPTION
# This module is mainly used by scripts/oe-selftest and modules under meta/oeqa/selftest
diff --git a/poky/meta/lib/oeqa/utils/decorators.py b/poky/meta/lib/oeqa/utils/decorators.py
index d87689692..aabf4110c 100644
--- a/poky/meta/lib/oeqa/utils/decorators.py
+++ b/poky/meta/lib/oeqa/utils/decorators.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# Some custom decorators that can be used by unittests
# Most useful is skipUnlessPassed which can be used for
diff --git a/poky/meta/lib/oeqa/utils/dump.py b/poky/meta/lib/oeqa/utils/dump.py
index 79c22b75c..d34e05e2b 100644
--- a/poky/meta/lib/oeqa/utils/dump.py
+++ b/poky/meta/lib/oeqa/utils/dump.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import sys
import errno
diff --git a/poky/meta/lib/oeqa/utils/ftools.py b/poky/meta/lib/oeqa/utils/ftools.py
index a7233d4ca..3093419cc 100644
--- a/poky/meta/lib/oeqa/utils/ftools.py
+++ b/poky/meta/lib/oeqa/utils/ftools.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import re
import errno
diff --git a/poky/meta/lib/oeqa/utils/git.py b/poky/meta/lib/oeqa/utils/git.py
index 757e3f0cb..ea35a766e 100644
--- a/poky/meta/lib/oeqa/utils/git.py
+++ b/poky/meta/lib/oeqa/utils/git.py
@@ -1,7 +1,7 @@
#
# Copyright (C) 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
#
"""Git repository interactions"""
import os
diff --git a/poky/meta/lib/oeqa/utils/gitarchive.py b/poky/meta/lib/oeqa/utils/gitarchive.py
index 9520b2e12..6e8040eb5 100644
--- a/poky/meta/lib/oeqa/utils/gitarchive.py
+++ b/poky/meta/lib/oeqa/utils/gitarchive.py
@@ -4,14 +4,7 @@
# Copyright (c) 2017, Intel Corporation.
# Copyright (c) 2019, Linux Foundation
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms and conditions of the GNU General Public License,
-# version 2, as published by the Free Software Foundation.
-#
-# This program is distributed in the hope 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.
+# SPDX-License-Identifier: GPL-2.0-only
#
import os
diff --git a/poky/meta/lib/oeqa/utils/httpserver.py b/poky/meta/lib/oeqa/utils/httpserver.py
index a48d4994f..aa435590f 100644
--- a/poky/meta/lib/oeqa/utils/httpserver.py
+++ b/poky/meta/lib/oeqa/utils/httpserver.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import http.server
import multiprocessing
import os
diff --git a/poky/meta/lib/oeqa/utils/logparser.py b/poky/meta/lib/oeqa/utils/logparser.py
index 32fde14a7..cc6d18d94 100644
--- a/poky/meta/lib/oeqa/utils/logparser.py
+++ b/poky/meta/lib/oeqa/utils/logparser.py
@@ -1,4 +1,7 @@
#!/usr/bin/env python
+#
+# SPDX-License-Identifier: MIT
+#
import sys
import os
@@ -86,3 +89,65 @@ class PtestParser(object):
status = self.results[section][test_name]
f.write(status + ": " + test_name + "\n")
+
+# ltp log parsing
+class LtpParser(object):
+ def __init__(self):
+ self.results = {}
+ self.section = {'duration': "", 'log': ""}
+
+ def parse(self, logfile):
+ test_regex = {}
+ test_regex['PASSED'] = re.compile(r"PASS")
+ test_regex['FAILED'] = re.compile(r"FAIL")
+ test_regex['SKIPPED'] = re.compile(r"SKIP")
+
+ with open(logfile, errors='replace') as f:
+ for line in f:
+ for t in test_regex:
+ result = test_regex[t].search(line)
+ if result:
+ self.results[line.split()[0].strip()] = t
+
+ for test in self.results:
+ result = self.results[test]
+ self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
+
+ return self.results, self.section
+
+
+# ltp Compliance log parsing
+class LtpComplianceParser(object):
+ def __init__(self):
+ self.results = {}
+ self.section = {'duration': "", 'log': ""}
+
+ def parse(self, logfile):
+ test_regex = {}
+ test_regex['PASSED'] = re.compile(r"^PASS")
+ test_regex['FAILED'] = re.compile(r"^FAIL")
+ test_regex['SKIPPED'] = re.compile(r"(?:UNTESTED)|(?:UNSUPPORTED)")
+
+ section_regex = {}
+ section_regex['test'] = re.compile(r"^Testing")
+
+ with open(logfile, errors='replace') as f:
+ for line in f:
+ result = section_regex['test'].search(line)
+ if result:
+ self.name = ""
+ self.name = line.split()[1].strip()
+ self.results[self.name] = "PASSED"
+ failed = 0
+
+ failed_result = test_regex['FAILED'].search(line)
+ if failed_result:
+ failed = line.split()[1].strip()
+ if int(failed) > 0:
+ self.results[self.name] = "FAILED"
+
+ for test in self.results:
+ result = self.results[test]
+ self.section['log'] = self.section['log'] + ("%s: %s\n" % (result.strip()[:-2], test.strip()))
+
+ return self.results, self.section
diff --git a/poky/meta/lib/oeqa/utils/metadata.py b/poky/meta/lib/oeqa/utils/metadata.py
index e0808ae0a..8013aa684 100644
--- a/poky/meta/lib/oeqa/utils/metadata.py
+++ b/poky/meta/lib/oeqa/utils/metadata.py
@@ -1,6 +1,6 @@
# Copyright (C) 2016 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
#
# Functions to get metadata from the testing host used
# for analytics of test results.
diff --git a/poky/meta/lib/oeqa/utils/network.py b/poky/meta/lib/oeqa/utils/network.py
index 2768f6c5d..59cbbc4f1 100644
--- a/poky/meta/lib/oeqa/utils/network.py
+++ b/poky/meta/lib/oeqa/utils/network.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import socket
def get_free_port():
diff --git a/poky/meta/lib/oeqa/utils/package_manager.py b/poky/meta/lib/oeqa/utils/package_manager.py
index 1495f8732..2d358f717 100644
--- a/poky/meta/lib/oeqa/utils/package_manager.py
+++ b/poky/meta/lib/oeqa/utils/package_manager.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
import os
import json
import shutil
diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py
index 1abb2c1b6..fd386ef5a 100644
--- a/poky/meta/lib/oeqa/utils/qemurunner.py
+++ b/poky/meta/lib/oeqa/utils/qemurunner.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# This module provides a class for starting qemu images using runqemu.
# It's used by testimage.bbclass.
diff --git a/poky/meta/lib/oeqa/utils/qemutinyrunner.py b/poky/meta/lib/oeqa/utils/qemutinyrunner.py
index 5aa99d068..364005bd2 100644
--- a/poky/meta/lib/oeqa/utils/qemutinyrunner.py
+++ b/poky/meta/lib/oeqa/utils/qemutinyrunner.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2015 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# This module provides a class for starting qemu images of poky tiny.
# It's used by testimage.bbclass.
diff --git a/poky/meta/lib/oeqa/utils/sshcontrol.py b/poky/meta/lib/oeqa/utils/sshcontrol.py
index d292893c0..49a07264c 100644
--- a/poky/meta/lib/oeqa/utils/sshcontrol.py
+++ b/poky/meta/lib/oeqa/utils/sshcontrol.py
@@ -1,7 +1,8 @@
-# -*- coding: utf-8 -*-
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# Provides a class for setting up ssh connections,
# running commands and copying files to/from a target.
diff --git a/poky/meta/lib/oeqa/utils/subprocesstweak.py b/poky/meta/lib/oeqa/utils/subprocesstweak.py
index 1f7d11b55..b47975a4b 100644
--- a/poky/meta/lib/oeqa/utils/subprocesstweak.py
+++ b/poky/meta/lib/oeqa/utils/subprocesstweak.py
@@ -1,3 +1,6 @@
+#
+# SPDX-License-Identifier: MIT
+#
import subprocess
class OETestCalledProcessError(subprocess.CalledProcessError):
diff --git a/poky/meta/lib/oeqa/utils/targetbuild.py b/poky/meta/lib/oeqa/utils/targetbuild.py
index b8db7b2ac..1055810ca 100644
--- a/poky/meta/lib/oeqa/utils/targetbuild.py
+++ b/poky/meta/lib/oeqa/utils/targetbuild.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2013 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# Provides a class for automating build tests for projects
diff --git a/poky/meta/lib/oeqa/utils/testexport.py b/poky/meta/lib/oeqa/utils/testexport.py
index be2a2110f..e89d130a9 100644
--- a/poky/meta/lib/oeqa/utils/testexport.py
+++ b/poky/meta/lib/oeqa/utils/testexport.py
@@ -1,6 +1,8 @@
+#
# Copyright (C) 2015 Intel Corporation
#
-# Released under the MIT license (see COPYING.MIT)
+# SPDX-License-Identifier: MIT
+#
# Provides functions to help with exporting binaries obtained from built targets
diff --git a/poky/meta/lib/rootfspostcommands.py b/poky/meta/lib/rootfspostcommands.py
index 4742e0613..fdb9f5b85 100644
--- a/poky/meta/lib/rootfspostcommands.py
+++ b/poky/meta/lib/rootfspostcommands.py
@@ -1,3 +1,7 @@
+#
+# SPDX-License-Identifier: GPL-2.0-only
+#
+
import os
def sort_file(filename, mapping):