summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* oeqa/selftest/runtime_test: add crosstab selftestArmin Kuster2019-11-141-0/+77
| | | | | | | (From OE-Core rev: fd83e9aa35fa2553a8afd975e5405ea22f318eab) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manua/oe-core: remove manual PACKAGECONFIG_FLAGS testsArmin Kuster2019-11-141-35/+1
| | | | | | | (From OE-Core rev: 77a0371284280c39731a4a0630ba6959969d850f) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/oescripts: move list-packageconfig-flags tests from manual to selfArmin Kuster2019-11-141-0/+59
| | | | | | | (From OE-Core rev: f55bfde64bd7b6f862ca7b59eb075b862d221f12) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: remove manual useradd testArmin Kuster2019-11-141-28/+0
| | | | | | | | | | | useradd tested is done via: test_non_root_user_can_connect_via_ssh_without_password and test_non_root_user_can_connect_via_ssh_without_password (From OE-Core rev: 0ab30c0386bf86b2e2101c18208b76200c665051) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: remove manual bash testArmin Kuster2019-11-141-18/+0
| | | | | | | (From OE-Core rev: 29127d5a6ff9eb09a11dc4157006dc4098b01963) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: remove postinit test done w/selftest runtimeArmin Kuster2019-11-141-34/+0
| | | | | | | (From OE-Core rev: 63293d1c67736ea8dcb2872e7157b1f5db93c9fa) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: remove only_one_connmand_in_background test done at ↵Armin Kuster2019-11-141-30/+0
| | | | | | | | | runtime (From OE-Core rev: e0aa0c195ae233c3c28a7e1bc415839171062f42) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: drop xserver test done at runtimeArmin Kuster2019-11-141-22/+0
| | | | | | | | | xserver testing is done at runtime and selftest via sato image (From OE-Core rev: 0146b3a0b60f54fa6ea84461e4ced6fae59aafa7) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: remove KVM enabled which is already done in selftest ↵Armin Kuster2019-11-141-30/+0
| | | | | | | | | runqemu (From OE-Core rev: 378bcbc47bac718b7228506f010c26045114d421) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/manual/bsp-qemu: remove rpm tests already done in runtimeArmin Kuster2019-11-141-60/+0
| | | | | | | (From OE-Core rev: 3f71afb23d409f56175341f4b7ac2c84c112b383) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Add qemu checksArmin Kuster2019-11-141-0/+45
| | | | | | | | | | Some test should not be run in QEMU systems so add some checks to make that easier (From OE-Core rev: 1b1e53c4ad33a71d526887d1133598f255a476ec) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core: Add a check for MACHINEArmin Kuster2019-11-141-0/+44
| | | | | | | (From OE-Core rev: e69f963e548e2f6f211a56406694c029111d7203) Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory: fix "version went backwards" QA error messageDenys Dmytriyenko2019-11-141-1/+1
| | | | | | | | | | | | Fix parentheses placement in the message from: Package version for package X went backwards which would break package feeds from (Y to Z) to this one: Package version for package X went backwards which would break package feeds (from Y to Z) (From OE-Core rev: 3a5a61fb6b3f811bd4f7232ba902afcfd2019154) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/package_manager.py: Enable sha256 checksums in opkg indexerHaris Okanovic2019-11-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass `--checksum md5` and `--checksum sha256` to opkg-make-index. Sha256 checksum enables more reliable install-time validation of IPKs. This is particularly useful when installing from signed feeds -- I.e. feeds using signed Packages index files that deliver otherwise unsigned IPKs. Such feeds rely on hash validation of enclosed IPKs to thwart tampering. After download, opkg verifies IPK's checksum against the (signed) Packages index file. Weak hashes like md5 are prone to collision and therefore tampering. The md5 checksum is purely for backward compatibility. Sha256 validation was recently added to opkg. Newer builds of opkg will use it. Older builds still look for an md5 checksum. Md5 is deprecated and should be removed once old build are phased out. Testing: I ran `bitbake package-index` after building a few IPKs and verified MD5Sum and SHA256sum attributes are present in Packages. Using opkg-utils 0.4.0. Performance Impact: It takes about 40 seconds to cleanly re-index 8000 IPKs on an Intel Xeon E5-1620 machine. This was previously about 20 seconds. NOTE: It's recommended to delete all Packages* files after applying this patch. Otherwise, some IPKs won't have sha256. (From OE-Core rev: e462f47489f35902b6972f9837d9adfa542fc796) Signed-off-by: Haris Okanovic <haris.okanovic@ni.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: reproducible: Add option to capture bad packagesJoshua Watt2019-11-071-0/+20
| | | | | | | | | | | Adds an option that can be used to copy the offending packages to a temp directory for later evaluation. This is useful on the Autobuilder to investigate failures. (From OE-Core rev: 54b29bae78d1711074fbd18f0350ef0b83b555d1) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest/signing: Fix test_locked_signatures to use a temporary layerRichard Purdie2019-11-071-6/+11
| | | | | | | | | | | | | Tests shouldn't be writing to layers during tests as this could corrupt other tests running in parallel. Modify the test to write the bbappend to a separate temporary layer which is added and removed by the test. This avoids race failures on the autobuilder. (From OE-Core rev: 467c72ff2c9fe00c40d04d5d859d860fb267499e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: add a test for gpl3-free imagesAlexander Kanavin2019-11-041-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | Existing tests check that adding a specific gpl3 package (bash) to core-image-minimal results in expected behaviour. These tests check the ability to build two common images without gpl3 components in them: 1. core-image-minimal needs no further tweaks and works out of the box. 2. core-image-full-cmdline requires dropping the GNU packages that it pulls in; for good measure this tweaked image is verified with runtime tests. These two tests allow dropping meta-gplv2 from being tested on the autobuilder, however there should be a community consensus first. (From OE-Core rev: a181f46b8aae066a4b8a26a8045797c38a63e834) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: skip virgl test on centos 7 entirelyAlexander Kanavin2019-11-041-0/+2
| | | | | | | | | | | With the sdl frontend, qemu isn't able to even boot fully, so let's skip the test early. (From OE-Core rev: 7b0708da20e4f04070837e5696e4fa3ee5990e8f) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: add test for oe-run-nativeRoss Burton2019-11-041-0/+6
| | | | | | | | | A small test to verify that oe-run-native is correctly working. (From OE-Core rev: 1b577bcc44cbf7a9e94f8770f21841a16ad50c64) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* IMAGE_LINGUAS_COMPLEMENTARY: auto-add language packages other than localesAndreas Müller2019-10-311-0/+2
| | | | | | | | | | | | | | | | | | | This change allows layers adding packages other than locales automatically to images based on languages selected in IMAGE_LINGUAS. E.g if a layer has recipes creating packages as: | ${PN}-foo-en / ${PN}-foo-de / ${PN}-foo-it / .. it would set | IMAGE_LINGUAS_COMPLEMENTARY_append = " *-foo-%s" in its layer.conf to enable auto-adding. (From OE-Core rev: 3a9e9585aeb67234901b2f842113dbe20c3801b3) Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* buildhistory-analysis: filter out -src changes by defaultRoss Burton2019-10-281-1/+1
| | | | | | | | | | | Like the -dbg package, this package is automatically generated and contains source filenames. We expect this to change on every upgrade, so don't show the differences unless the user wants to see all changes. (From OE-Core rev: 30acbf6f89ba76d6fab8987ed20f72d1fa3d70fa) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/context.py: ignore more files when loading controllersAndré Draszik2019-10-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When loading controllers as (external) modules, the code currently tries to load all files ending with .py. This is a problem when during development using an editor that creates a lock-file in the same directory as the .py file, as the lock file is typically called '.#xxxx.py'. Python will try to load the lock file and fail miserably with an exception: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:do_testimage(d) 0003: File: 'poky/meta/classes/testimage.bbclass', lineno: 114, function: do_testimage 0110: netstat -an 0111:} 0112: 0113:python do_testimage() { *** 0114: testimage_main(d) 0115:} 0116: 0117:addtask testimage 0118:do_testimage[nostamp] = "1" File: 'poky/meta/classes/testimage.bbclass', lineno: 294, function: testimage_main 0290: 0291: # the robot dance 0292: target = OERuntimeTestContextExecutor.getTarget( 0293: d.getVar("TEST_TARGET"), logger, d.getVar("TEST_TARGET_IP"), *** 0294: d.getVar("TEST_SERVER_IP"), **target_kwargs) 0295: 0296: # test context 0297: tc = OERuntimeTestContext(td, logger, target, host_dumper, 0298: image_packages, extract_dir) File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 116, function: getTarget 0112: # XXX: Don't base your targets on this code it will be refactored 0113: # in the near future. 0114: # Custom target module loading 0115: target_modules_path = kwargs.get('target_modules_path', '') *** 0116: controller = OERuntimeTestContextExecutor.getControllerModule(target_type, target_modules_path) 0117: target = controller(logger, target_ip, server_ip, **kwargs) 0118: 0119: return target 0120: File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 128, function: getControllerModule 0124: # ImportError raised if a provided module can not be imported. 0125: @staticmethod 0126: def getControllerModule(target, target_modules_path): 0127: controllerslist = OERuntimeTestContextExecutor._getControllerModulenames(target_modules_path) *** 0128: controller = OERuntimeTestContextExecutor._loadControllerFromName(target, controllerslist) 0129: return controller 0130: 0131: # Return a list of all python modules in lib/oeqa/controllers for each 0132: # layer in bbpath File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 163, function: _loadControllerFromName 0159: # Raise ImportError if a provided module can not be imported 0160: @staticmethod 0161: def _loadControllerFromName(target, modulenames): 0162: for name in modulenames: *** 0163: obj = OERuntimeTestContextExecutor._loadControllerFromModule(target, name) 0164: if obj: 0165: return obj 0166: raise AttributeError("Unable to load {0} from available modules: {1}".format(target, str(modulenames))) 0167: File: 'poky/meta/lib/oeqa/runtime/context.py', lineno: 173, function: _loadControllerFromModule 0169: @staticmethod 0170: def _loadControllerFromModule(target, modulename): 0171: obj = None 0172: # import module, allowing it to raise import exception *** 0173: module = __import__(modulename, globals(), locals(), [target]) 0174: # look for target class in the module, catching any exceptions as it 0175: # is valid that a module may not have the target class. 0176: try: 0177: obj = getattr(module, target) Exception: ImportError: No module named 'oeqa.controllers.' Simply ignore those when collecting the list of files to try to load. (From OE-Core rev: 682f223cf2e2dabe8cf60634b6779bb2d5e359bd) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/package_manager: Use with to control file handle lifetimeOla x Nilsson2019-10-231-4/+4
| | | | | | | (From OE-Core rev: e3e86d6683e305865c9fd171c6081aec037d9870) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/packagedata: Use with to control file handle lifetimeOla x Nilsson2019-10-231-3/+2
| | | | | | | (From OE-Core rev: 28b3635b7f40b627a9d6294a78589c78f0c682c8) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.types.path: Use with to control file handle lifetimeOla x Nilsson2019-10-231-2/+2
| | | | | | | (From OE-Core rev: b6e7fee68d018e5f148a7a02cf110bc210022a72) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: Use with to control file handle lifetimeOla x Nilsson2019-10-231-1/+3
| | | | | | | (From OE-Core rev: 890fbd77315474fbd582f8bbeb26925c6a42d8d4) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: use specialist assert* methodsRoss Burton2019-10-233-14/+13
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/systemd: skip unit enable/disable on read-only-rootfsAndré Draszik2019-10-191-1/+15
| | | | | | | | | | | | | | | | | | | | This doesn't work on read-only-rootfs: AssertionError: 1 != 0 : SYSTEMD_BUS_TIMEOUT=240s systemctl disable avahi-daemon.service Failed to disable unit: File /etc/systemd/system/multi-user.target.wants/avahi-daemon.service: Read-only file system This patch does two things: 1) Decorate the existing test to be skipped if the rootfs is read-only 2) add a new test to be executed only if the rootfs is read-only. This new test remounts the rootfs read-write before continuing to execute the existing test, making sure to clean up correctly after itself (remount r/o again). (From OE-Core rev: ec856301887b1139f93aa54d04bed9b842357b4f) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/opkg: skip install on read-only-rootfsAndré Draszik2019-10-191-1/+3
| | | | | | | | | | | | | | | Images can have package management enabled, but be generally running as read-only. In this case, the test fails at the moment with various errors due to that. Use the new @skipIfFeature decorator to also skip this test in that case. (From OE-Core rev: 84640e2b4daf4cf22c5b0324c22332f59e4d51e3) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/decorator: add skipIfFeatureAndré Draszik2019-10-191-0/+18
| | | | | | | | | | skipIfFeature will skip a test if a given DIST_FEATURE or IMAGE_FEATURE is enabled. (From OE-Core rev: ff2218f7cc3992725dd35499c14ec3396120dcc5) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/df: don't fail on long device namesAndré Draszik2019-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When device names are long (more than 20 characters), the df test will fail with an exception: self.assertTrue(int(output)>5120, msg=msg) ValueError: invalid literal for int() with base 10: '' at least when busybox is in use. The reason is that busybox breaks the line in that case: Filesystem 1K-blocks Used Available Use% Mounted on /dev/disk/by-partuuid/8e991e5a-cebd-4f88-9494-c9db4f30cb02 1998672 87024 1790408 5% / and the code tries to extract the fourth field from the second line, which is empty of course. df can be told not to break lines, though, using the -P flag, which turns on the POSIX output format, and is supported by busybox df and coreutils df: Filesystem 1024-blocks Used Available Capacity Mounted on /dev/disk/by-partuuid/8e991e5a-cebd-4f88-9494-c9db4f30cb02 1998672 87024 1790408 5% / (From OE-Core rev: 8c23c1476d0c64b9bc8806db03414fa914c1e658) Signed-off-by: André Draszik <git@andred.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* license_image.bbclass: check and reject packages which have incompatible ↵Alexander Kanavin2019-10-151-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | licenses The use case is setting INCOMPATIBLE_LICENSE per image, rather than as an awkward, and too strict global setting. This for example would allow building development images with gplv3 tools, but production images without them, and checking that nothing gpl3-licensed gets into the latter. Examples are provided via the selftest: four scenarios are tested: - bash is added to the image, with a default gpl3 license; this is rejected - bash is added to the image, with a "gpl3 & other" license; this is also rejected - bash is added to the image, with a "gpl3 | other" license; this is accepted, but only 'other' is added to the license manifest (this was already handled correctly previously). - bash is added to the image with a default gpl3 license, and is additionally whitelisted for that image; this is accepted. Eventually, this would allow deprecating the meta-gplv2 layer, while still enforcing the no-gpl3 rule where possible and needed. (From OE-Core rev: fd50395bc0783a3cce7b5b0d7398f22783ebbeca) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/imagefeatures: improve test_hypervisor_fmtsRoss Burton2019-10-091-2/+6
| | | | | | | | | | If this test fails then the output doesn't help in any meaningful way, so improve the test to output the unparsable JSON and display unexpected output. (From OE-Core rev: 6a710ad0b445295991b17545f634684f4f317099) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* dnf.py: check busybox for case test_dnf_installrootKai Kang2019-10-091-0/+2
| | | | | | | | | | Check package busybox which is required by cases test_dnf_installroot and test_dnf_installroot_usrmerge. (From OE-Core rev: 0f09c5b7a9a66af825951354b436b69dd9a596a4) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/sdk: improve Meson testRoss Burton2019-10-091-1/+3
| | | | | | | | | Verify that the build inside the SDK is detected as a cross compilation. (From OE-Core rev: 3dc75ab44c23c4ff26502b96abded3c1c0b94e38) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: fix gnome-terminal start behaviorTrevor Gamblin2019-10-081-1/+1
| | | | | | | | | | | | | | | | | | | [Bugzilla Bug 13201] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=13201 Newer versions of gnome-terminal (3.32.0 and up) are not starting as expected for commands e.g. "bitbake -c devshell zlib". This manifests as the instance appearing as a new tab rather than a new window. Fix this (and maintain new window preferred behavior) by changing the "-x" option to "--" as per the warning message, avoiding deprecated options: # Option “--command” is deprecated and might be removed in a later version of gnome-terminal. # Use “-- ” to terminate the options and put the command line to execute after it. (From OE-Core rev: d5fd205239c8e3a1d68649562a7e91c8fbbc805e) Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb: Make sure the distro ID is always lowercasedPeter Kjellerstedt2019-09-301-4/+4
| | | | | | | | | | | | | | | | In commit 8689e561 (lib/oe/lsb: attempt to ensure consistent distro id regardless of source), the distro ID returned by oe.lsb.distro_identifier() was lowercased, but only if a release version is also present. This changes the code to always lowercase the distro ID, including the default distro ID "unknown", which is used if no other ID can be identified. (From OE-Core rev: 4ba7ef79d23a4cf688d7a794064893fe5f2f473b) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/case.py: Encode binary data of logNathan Rossi2019-09-301-2/+2
| | | | | | | | | | | | | | | Do not decode the log content into a string only to re-encode it as binary data again. Some logs might un-intentionally contain bytes that do not decode as utf-8, as such preserve the log file content as it was on disk. Handle the decoding on the resulttool side, but also handle the failure to decode the data. (From OE-Core rev: 20531dc0b8f76a6e37cc856f36cd94077b6aba50) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/core/utils/concurrencytest.py: Handle exceptions and detailsNathan Rossi2019-09-301-13/+18
| | | | | | | | | | | | | | | | | Handle the streaming of exception content with details data. The testtools package allows both 'err' and 'details' kwargs but can only pass one of them to the parent. To handle the passing of exception traceback and details data at the same time, encode the traceback into the details object and remove the 'err' arg from the add* result call. This encodes the traceback similar to how 'err' is handled without any details object. Decoding is already done by testtools when the traceback is encoded in the details object. (From OE-Core rev: 3613451825b251784b7673d89db465b9782c3a31) Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/sstatesig: Fix class inheritance problemsRichard Purdie2019-09-301-7/+8
| | | | | | | | | | | | The locked sigs class needs to be inherited after the hashequiv mixin so that get_unihash can correctly wrap the underlying hashequiv function. To do this turn the locked sigs class into a second mixin, then the order can be correctly handled. Tweak the get/set_taskdata to match. (From OE-Core rev: 73d3414ecf594e426e6024b71931038a201eca52) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/signing: Fix for hash equivlance serverRichard Purdie2019-09-301-2/+5
| | | | | | | | | | | | | | There were two issues with the test one is that an equivalent hash could come from the server meaning the signature didn't change when it should. A uuid string is injected to ensure this does not happen. If there were multiple warnings the test would also fail as only the first is prefixed with WARNING. Tweak the string to avoid that failure mode. (From OE-Core rev: e58eaf5b8c93521dc311b77593e0dd7debca602d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstatesig: Fix hash equivlanency locked signature issuesRichard Purdie2019-09-301-4/+10
| | | | | | | | | | | | | | | | | | | | | | Using locked signatures with the hash equivalency server ran into problems. We need to: a) Ensure the lockedhashes data object is passed from the core to any individual tasks using the get/set_taskdata methods b) Return a locked singature instead of a unihash c) Write the unihash being used to locked signature lists rather than the calculated taskhash d) Skip warnings of hash mismatch if the hash is a unihash These changes fix esdk builds (which use locked sigs) when a hash equivalence server is in use. (From OE-Core rev: 25dc3d78de01dffa77a3a2452d6a97d741b446d9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa: Test multiconfig parsingJoshua Watt2019-09-272-15/+47
| | | | | | | | | | | | Add a test to verify that when multiconfig conf files changed, recipes are correctly reparsed. [YOCTO #13541] (From OE-Core rev: a424ef0a0c49123f4518e8fef993fd10f6fc5f4e) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sdk: Install nativesdk locales for all TCLIBC variantsKhem Raj2019-09-271-4/+0
| | | | | | | | | | | | | | | | | | | | | install_locales() here is actually operating on nativesdk and only glibc is the default library for nativesdk, since thats what most of desktop/server distros use, therefore bailing out based on TCLIBC is not needed here, since nativesdk-glibc would be required for all non-glibc targetting SDKs as well. Fixes SDK install time error ERROR: OE-core's config sanity checker detected a potential misconfiguration. Either fix the cause of this error or at your own risk disable the checker (see sanity.conf). Following is the list of potential problems / advisories: Your system needs to support the en_US.UTF-8 locale. ERROR: SDK preparation failed (From OE-Core rev: ba2df1fa43b79c4959911c1b0bcad996f255b7a8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cases/bbtests.py: test_bitbake_g(): Check base-files rather than busyboxRobert Yang2019-09-271-2/+3
| | | | | | | | | | | | | | | | | | | | It checked whether busybox is in task-depends.dot after run "bitbake -g core-image-minimal", but busybox is not a must for core-image-minimal since it is configurable: VIRTUAL-RUNTIME_base-utils = "" VIRTUAL-RUNTIME_base-utils-syslog = "" VIRTUAL-RUNTIME_base-utils-hwclock = "" VIRTUAL-RUNTIME_login_manager = "shadow" VIRTUAL-RUNTIME_syslog = "" So the case may fail when busybox is not present, check base-files which is more reliable. (From OE-Core rev: f73676b07f6d8a4573a5f46c3e082831b34b7d18) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool.py: fix buildclean testChangqing Li2019-09-271-0/+1
| | | | | | | | | | | | | | | | | | when build with EXTERNALSRC, checksum of EXTERNALSRC is one of inputs for generate sigdata of task do_compile. without change any source, the sigdata will not changed, and buildclean task only do make clean, and not clean stampfiles like clean task, so the stampfile keep there, then do_compile after do_buildclean will not rerun, and targetfile tempdir_mdadm/mdadm will not be generated, report below error: AssertionError: '/tmp/devtoolqarxv8ct6u/mdadm' does not exist Fix by add a comments in Makefile to trigger rebuild of compile task (From OE-Core rev: f4621cf4516f9de9980f3864a193f3f61c4abedc) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* devtool.py: change to do clean before remove-layerChangqing Li2019-09-271-7/+7
| | | | | | | | | | | | | | | if do clean after remove-layer, it will make stamp file not cleaned since variable STAMP has changed, this will cause error like: if testcase buildclean failed, when run next testcase modify, since do_prepare_recipe_sysroot's stamp file exists, sysroot not populated, then do_compile will fail with error: /bin/sh: x86_64-poky-linux-gcc: command not found (From OE-Core rev: 046d7e1de094105db0949c2cf5333ff55d9ad9c8) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/reproducible: test ipkgs tooRoss Burton2019-09-271-1/+1
| | | | | | | | | | | | Now that opkg-build can build reproducible ipkgs, we can also add those to the test case. [ YOCTO #13513 ] (From OE-Core rev: 3806d38e6194a42534381993fcfcc3ff39550a13) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/concurrenttest: Use ionice to delete build directoriesRichard Purdie2019-09-191-1/+1
| | | | | | | | | | | | | | | | Autobuilder type infrastructure can benefit from deletion of certain files as background IO due to the way Linux filesystem priority works. We have problems where build directories as part of oe-selftest being delete starves the running tasks of IO to the point builds take much longer to compelte. Having this option of running the deletion at "idle" helps a lot with that. Use the new option added to bb.utils.prunedir(). (From OE-Core rev: d41e7018be56902b7a1be4590e468cd15e02a3b5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* populate_sdk_ext: Introduce mechanism to keep nativesdk* sstate in esdkJaewon Lee2019-09-191-2/+6
| | | | | | | | | | | | | | | | | | | | | | When doing a devtool build-sdk from within an esdk all nativesdk components would be rebuilt. This patch introduces SDK_INCLUDE_NATIVESDK flag to toggle the inclusion of nativesdk packages when creating the esdk sstate Currently locked-sigs.inc is generated during do_sdk_depends which doesn't pull in nativesdk packages. Generating another locked-sigs.inc in do_populate_sdk_ext and pruning it to only nativesdk* packages by using a modified version of the already existing function prune_locked_sigs and merging it with the current locked-sigs.inc Also adding SDK_INCLUDE_NATIVESDK tasklistfn to the logic surrounding setting tasklist file to not prune esdk sstate during creation [YOCTO #13261] (From OE-Core rev: d046afd12e1c209b29dca6ba402b9aa14680c5ce) Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>