summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest/recipetool.py
Commit message (Collapse)AuthorAgeFilesLines
* oe-selftest: recipetool: add tests for git URL manglingPaul Eggleton2016-11-081-0/+43
| | | | | | | | | | | | | | | | Add three tests to verify that the git URL mangling is working the way it's supposed to. This should prevent us regressing on this again in future. (From OE-Core rev: d8d01f462ddbb79cff23b544fcd0ce251f05f8ce) (From OE-Core rev: e8d0b5ca2e0f6086d9e9873137b335a527630a54) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: update recipe test to pass SHARoss Burton2016-07-271-1/+1
| | | | | | | | | (From OE-Core rev: 71dd4c05c41e8b363dc1ecac1f5105d316ee82dc) (From OE-Core rev: c0375bd9e3a25c605f07381ae7cbe83febb5ce56) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: Added testcase decorator to testsDaniel Istrate2016-03-311-0/+1
| | | | | | | | | | | | | | 1418 test_recipetool_create_cmake 1422 test_qemu 1423 test_devtool_add_git_local 1433 test_devtool_upgrade_git 1434 test_sanity_unsafe_binary_references 1435 test_read_only_image (From OE-Core rev: f3b46fe73b68db96ba245fcead74dc070ab10518) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: don't create extra files directory unconditionallyPaul Eggleton2016-03-201-2/+4
| | | | | | | | | | | | | | | | | | The extra directory next to the recipe should only be created if there are files to put into it; currently only the npm plugin does this. I didn't notice the issue earlier because the test was actually able to succeed under these circumstances if the recipe file came first in the directory listing, which was a fault in my original oe-selftest test; apparently on some YP autobuilder machines the order came out reversed. With this change we can put the oe-selftest test that highlighted the issue back to the way it was, with an extra check to reinforce that only a single file should be created. (From OE-Core rev: b8b778345eb0997c2cd952a1f61fdd2050b6b894) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: Fix test_recipetool_create_simpleRichard Purdie2016-03-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Correctly handle the any other files/directories that may exist during the test. ====================================================================== FAIL: test_recipetool_create_simple (oeqa.selftest.recipetool.RecipetoolTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/utils/decorators.py", line 106, in wrapped_f return func(*args, **kwargs) File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/recipetool.py", line 414, in test_recipetool_create_simple self.fail('recipetool did not create recipe file; output:\n%s\ndirlist:\n%s' % (result.output, str(dirlist))) AssertionError: recipetool did not create recipe file; output: NOTE: Fetching http://www.dest-unreach.org/socat/download/socat-1.7.3.0.tar.bz2... NOTE: Unpacking /srv/www/vhosts/autobuilder.yoctoproject.org/current_sources/socat-1.7.3.0.tar.bz2 to /tmp/recipetool-Uj7MIh/ NOTE: Recipe /tmp/recipetoolqaebTo9s/recipe/socat_1.7.3.0.bb has been created; further editing may be required to make it fully functional dirlist: ['socat', 'socat_1.7.3.0.bb'] (From OE-Core rev: 4be0e15f74cff85edca9de55248939fb438f30ae) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: Fix syntax errorRichard Purdie2016-03-131-1/+1
| | | | | | (From OE-Core rev: 680385e86cbeb629e9baa80dfadb432f1fcd6786) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: Improve debugging output by adding dirlistRichard Purdie2016-03-121-1/+1
| | | | | | (From OE-Core rev: f7b38ec43a1090ff2c56f26fe19637fba2b1a996) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: add basic support for extracting dependencies from cmakePaul Eggleton2016-01-191-0/+17
| | | | | | | | | | | | | | | | Add support for extracting dependencies from CMakeLists.txt. There's still a bunch of things missing that are outside the scope of OE-Core and we still lack a proper extension mechanism, but this is a good start. This also adds an oe-selftest test to exercise the new code a bit. Implements [YOCTO #7635]. (From OE-Core rev: 77e73e6930381fdbd6e78d3913d6467572e16568) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: improve extraction of pkg-config / lib depsPaul Eggleton2016-01-191-2/+2
| | | | | | | | | | | | | | * The regexes for PKG_CHECK_MODULES / AC_CHECK_LIB were a bit too strict and thus we were skipping some macros. * Add support for PKG_CHECK_EXISTS * Avoid duplicates in warning on missing pkg-config dependencies * Ignore dependency on musl (since this may come up if it's the selected C library) (From OE-Core rev: c58669fb0977f7f0cb79f252484d5c5ef0dfb7e4) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: update for libjpeg-turbo migrationRoss Burton2016-01-071-1/+1
| | | | | | | | | The recipe creation test of libmatchbox now depends on libjpeg-turbo, not jpeg. (From OE-Core rev: 58bb2d82f4f1b111641c480a27836be6119ee279) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* selftest: Added testcase decorators for 2 testsDaniel Istrate2016-01-071-0/+1
| | | | | | | | | | | 1391 for test_devtool_add_fetch_simple from devtool 1392 for test_recipetool_create_simple from recipetool (From OE-Core rev: d6ee070127a08be98958bbb8b11c80bb64165dc7) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: support sets in devtool comparisonsRoss Burton2015-12-281-2/+2
| | | | | | | | | | | | | | | | The devtool and recipetool tests do literal string comparisons, but for some fields the ordering could be irrelevant and potentially non-deterministic. For example, the recipetool_create_simple test started failing with: AssertionError: 'GPLv2 Unknown' != 'Unknown GPLv2' : values for LICENSE do not match The ordering of the LICENSE field isn't relevant. So, if the expected value is a set(), split the string into a set too and compare those. (From OE-Core rev: dab1b0ad42f08eb547732e854ba28a4cf0a23107) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: add tests for simple devtool add / recipetool create URL casePaul Eggleton2015-12-281-0/+19
| | | | | | | | | | Add an oe-selftest test case for the newly supported syntax with only the remote URL specified (auto-detecting name and version). (From OE-Core rev: 7c7df9f62fe15578af0420c63e320c317e058708) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: create: support extracting name and version from build scriptsPaul Eggleton2015-12-281-1/+1
| | | | | | | | | | | | | Some build systems (notably autotools) support declaring the name and version of the program being built; since we need those for the recipe we can attempt to extract them. It's a little fuzzy as they are often omitted or may not be appropriately formatted for our purposes, but it does work on a reasonable number of software packages to be useful. (From OE-Core rev: 3b3fd33190d89c09e62126eea0e45aa84fe5442e) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Added testcase decorators.Daniel Istrate2015-10-271-0/+11
| | | | | | | | | | Added testcase decorators for testopia integration. (From OE-Core rev: 9c7ffd397c8232d53c87017e58e03e3056863edf) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: replace assertTrue(False, ...) with fail(...)Paul Eggleton2015-08-241-2/+2
| | | | | | | | | | | | I'd somehow missed the existence of fail() when I wrote these. It's preferable here so you don't get the somewhat useless "false is not true" message in the case of failure. (From OE-Core rev: 173a5896fff57136e1f15e15f90961416aadde94) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: allow templayerdir overrideChristopher Larson2015-07-271-14/+15
| | | | | | | | | | This is provided for use by subclasses. (From OE-Core rev: 95330664826e80c56360645ea90b59d265c2c50e) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: add tests for appendsrcfile(s)Christopher Larson2015-07-271-0/+152
| | | | | | | | (From OE-Core rev: a6d63b8b4a8a436897bfd29f5de647152149e832) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: refactor / split out RecipetoolBaseChristopher Larson2015-07-271-18/+34
| | | | | | | | (From OE-Core rev: 2de348bcc5b015c64c4be7f538a7abd434434ed6) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: add useful failure messages to test casesCostin Constantin2015-07-231-2/+2
| | | | | | | | (From OE-Core rev: e555646ecb1ee9c7b00ec22f0d40bdd9da1b4dfd) Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest: Added @testcase decorators to oeselftest testcases.Daniel Istrate2015-07-081-3/+22
| | | | | | | | | | Added decorator to some testcases missing this feature. (From OE-Core rev: 2a9009583fd498df94a55f21a149e302180f19cc) Signed-off-by: Daniel Istrate <daniel.alexandrux.istrate@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/recipetool: Fix symlink resolutionRichard Purdie2015-06-271-1/+1
| | | | | | | | | | Instead of readlink we need to use realpath to resolve any possible symlink in the file name. I'd got the two confused in the previous patch. This should really fix selftest failures on the autobuilder. (From OE-Core rev: 878764ab7252f9b5b67b697dcd51b961b673fda0) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/selftest/recipetool: Fix appendfile_binary test on opensuse131Richard Purdie2015-06-261-1/+3
| | | | | | | | | | | | | | | | | | | | | On OpenSUSE 13.1, /bin/ls is a symlink to /usr/bin/ls. This means the test doesn't use a binary file an fails on that system. Ensure we resolve any symlink using readlink to avoid this failure. ====================================================================== FAIL: test_recipetool_appendfile_binary (oeqa.selftest.recipetool.RecipetoolTests) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/meta/lib/oeqa/selftest/recipetool.py", line 115, in test_recipetool_appendfile_binary self.assertIn('WARNING: ', result.output) AssertionError: 'WARNING: ' not found in 'Parsing recipes..done.\nNOTE: Writing append file /tmp/recipetoolqai0NY8l/recipes-core/coreutils/coreutils_8.23.bbappend\nNOTE: Copying /bin/ls to /tmp/recipetoolqai0NY8l/recipes-core/coreutils/coreutils/ls' [YOCTO #7920] (From OE-Core rev: 792107de1586336f4a734557c0c3fa36a1174e9e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* recipetool: add appendfile subcommandPaul Eggleton2015-05-201-2/+311
| | | | | | | | | | | | | | | | | | | | | | Locating which recipe provides a file in an image that you want to modify and then figuring out how to bbappend the recipe in order to replace it can be a tedious process. Thus, add a new appendfile subcommand to recipetool, providing the ability to create a bbappend file to add/replace any file in the target system. Without the -r option, it will search for the recipe packaging the specified file (using pkgdata from previously built recipes). The bbappend will be created at the appropriate path within the specified layer directory (which may or may not be in your bblayers.conf) or if one already exists it will be updated appropriately. Fairly extensive oe-selftest tests are also provided. Implements [YOCTO #6447]. (From OE-Core rev: dd2aa93b3c13d2c6464ef0fda59620c7dba450bb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe-selftest: move recipetool tests to their own modulePaul Eggleton2015-05-201-0/+55
These tests really belong in their own module; if we refactor out a base class from DevtoolTests with shared functions then we can move them out easily. Also create temp directory in setupLocal() so we don't have to do that in individual tests anymore. (From OE-Core rev: 2f88f6e7b2e54b13376338354aae1d61c0c0db60) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>