summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* bitbake: tests/parse: Add file missing from previous commitRichard Purdie2015-05-161-0/+69
| | | | | | (Bitbake rev: 76f095107a0eaf987a5a6a48eed7b98f87aea121) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch: Add mirror of mirror testsRichard Purdie2015-05-161-0/+25
| | | | | | | | Add some tests of mirrors or mirrors to the fetcher unittests. (Bitbake rev: e33d82bc10283d533f928836d56a6f0af80ea5c1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch: ensure fetch tests preserve current dirPaul Eggleton2015-05-151-0/+2
| | | | | | | | | | | | | | | The fetcher calls os.chdir() in a number of places, which can affect other tests (since the directory it changes into gets deleted) - let's just put the current directory back to where it was when we're done. (This fixes bb.tests.Path.test_unsafe_delete_path failing if it was run as part of a full bitbake-selftest run, where the fetcher tests get to run before it.) (Bitbake rev: b1653855c74f86909c9f329ed6d2b10391c28395) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add BB_ALLOWED_NETWORKS supportLiam R. Howlett2015-05-121-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | BB_ALLOWED_NETWORKS is a list of hosts that the fetcher will be allowed to use when BB_NO_NETWORK is not set. If BB_NO_NETWORK is set, then networking is still disabled. If BB_ALLOWED_NETWORKS is not set, the behaviour remains the same as today. If BB_NO_NETWORK is NOT set, and BB_ALLOWED_NETWORKS is configured, then only the hosts in the list are usable by the fetcher. eg: BB_ALLOWED_NETWORKS="yoctoproject.org git.gnu.org" The fetcher will be able to download from yoctoproject.org, git.gnu.org, but not ftp.gnu.org or any other hostname that is not in the list. There is also limited support for wildcards on the beginning of the hosts, so BB_ALLOWED_NETWORKS="*.gnu.org" with match git.gnu.org and ftp.gnu.org as well as foo.git.gnu.org (Bitbake rev: c7263096ba31ba45daeeb9de90c1cb9ebef24a28) Signed-off-by: Liam R. Howlett <Liam.Howlett@WindRiver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: lib/bb/utils: add safeguard against recursively deleting things we ↵Paul Eggleton2015-04-191-0/+17
| | | | | | | | | | | | | | shouldn't Add some very basic safeguard against recursively deleting paths such as / and /home in the event of bugs or user mistakes. Addresses [YOCTO #7620]. (Bitbake rev: 56cddeb9e1e4d249f84ccd6ef65db245636e38ea) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch.py: latest_versionstring add set of PNAníbal Limón2015-02-161-0/+2
| | | | | | | | | | Add set of PN in data because now latest_versionstring use it for validate version directory searching. (Bitbake rev: 2e4a03db967ac1459b2764108fc54c4566a7e371) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: cooker: rework LAYERDEPENDS versioning so that it is actually usefulPaul Eggleton2015-02-161-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've had versioned dependency support in LAYERDEPENDS for quite a long time, but I can say with pretty good certainty that almost nobody has used it up to now because it was too strict - the specified version had to exactly match the version in your configuration or you would get an error; there was no "greater than or equal" option, which is usually what you will want given that LAYERVERSION does get bumped from time to time. However, users mismatching layer branches and then having their builds fail later on with some incomprehensible error is still a pretty common problem. We can't simply use the git branch because not everyone is always on a branch and the branch names don't always match up (and that's not an issue). To provide a practical means to address branch mismatching, I have reworked LAYERDEPENDS version specifications to use the more familiar "dependency (>= version)" syntax as used with package dependencies, support non-integer versions, and clarified the error message a little. If we then take care to bump the version on every breaking change, it is at least possible to have layers depend on these changes when they update to match; we can now even support a major.minor scheme to allow retrospectively adding a version limiter to old branches when a new branch is created and yet still allow the old branch minor version to be bumped if needed. Fixes [YOCTO #5991]. (Bitbake rev: 408be9cdf2b1e32e64ea488d8051a546fb54c144) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests: add tests for OE pre-release version formattingPaul Eggleton2015-02-161-0/+4
| | | | | | | | | | | This scheme is used for versioning recipes that are pre-release (alpha, beta, etc.) within OpenEmbedded, so add some tests to ensure the appropriate comparison results still hold true. (Bitbake rev: 3a9eefe27f29a4593d6298f0427ac5f3e9183377) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/data: add test for incorrect remove behaviourRoss Burton2015-02-031-0/+7
| | | | | | | | | | The _remove operator isn't working correctly when used with a variable that expands to several items, so add a test case to exercise this path. (Bitbake rev: cb2a62a5fbffb358528a85b46c1fc6383286cb9d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/data: Add a key deletion testRichard Purdie2014-12-251-0/+6
| | | | | | | | | If you copy the datastore, then delete a key, it should not exist in d.keys(). This adds a test to cover the recently found data store bug. (Bitbake rev: 16d5f40ad20fd08bf7a4d0e36200c739b5a9f59e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch: Add versionstring tests to network tests list, fix print()Richard Purdie2014-12-251-20/+20
| | | | | | | | | | | | The versionstring tests hit the network so should only run when network tests are enabled. Also remove the print statement which confuses the test output and add it to the test failure message instead. (Bitbake rev: 6c046660cfc4fb3792a42aeafff91a13f68a2e89) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch: Update wget latest_versionstring cups caseAníbal Limón2014-11-281-1/+1
| | | | | | | | | | Update test case for cups is needed because match only 2.0.0 versions see VERSION=2\.0\.0 in the previous string. (Bitbake rev: 148aba30155f4de17f6c6fb9b4c37f08a2db202b) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch/wget: Add latest_versionstring methodAníbal Limón2014-11-121-0/+35
| | | | | | | | | | | | | | | | | | | | | | | Being able to query whether updated versions of a url are available is useful, not least for the package reporting system. Since such code is closely linked to the url type and the url itself, the fetcher makes a locical place to contain this code. For wget based urls this means taking upstream directory listings and searching those for later versions, returning those that are found. The patch also adds unittests for this function so that if improvements are made, the original test urls can be used to evaulate the those changes. This is based on code from Irina Patru <irina.patru@intel.com>. (Bitbake rev: a8272e22b7819e0e8afd8e291d276f5f28fc0007) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch/git: Add latest_versionstring methodAníbal Limón2014-11-121-1/+43
| | | | | | | | | | | | | | | | | | | | | Being able to generate a version string representing the most recent git commit given git is useful, not least for the package reporting system. This adds in a latest_versionstring method to the git fetcher which allows users to query the latest version using ls-remote and filtering the responses. The patch also adds unittests for this function so that if improvements are made, the original test urls can be used to evaulate the those changes. This is based on code from Irina Patru <irina.patru@intel.com>. (Bitbake rev: f71c8c0354e87fed80bc845db6728e6e18ce9c4d) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch: Extend testing of subdir unpack parameter and fixRichard Purdie2014-09-291-0/+7
| | | | | | | | | This fixes urls of the form file://some/path/file;subdir=b. It also adds in a couple of tests so we now tests these corner cases. (Bitbake rev: 46306912a96444790efa9418d934dfdd36773ba1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Fix remove operator and its interaction with data expansionRichard Purdie2014-09-131-0/+7
| | | | | | | | | | | | | | | | | | | If you have: FOO = "${bindir}/X Y" FOO_remove = "${bindir}/X" the expected result is "Y". Currently this doesn't work since the removed expressions are not expanded first. This patch adjusts things so the expressions are expanded before being processed for removal. Also add a test to ensure this case continues to work. [YOCTO #6624] (Bitbake rev: 72a1ca4a104ccab73d6abcbd44db9c2636a58572) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb/tests/data.py: add tests for contains() and contains_any()Ross Burton2014-06-121-0/+36
| | | | | | | | | contains_any is buggy so write a test case to demonstrate this. (Bitbake rev: 25d10c349aab77bf99745c0a90dd8f9b90abccac) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: data_smart: Fix an unusual variable reference bugRichard Purdie2014-05-211-0/+5
| | | | | | | | | | | | | | | | | | | | If you try: Y = "" Y_remove = "X" in OE-Core, bitbake will crash with a KeyError during expansion. The reason is that no expansion of the empty value is attempted but removal from is it and hence no varparse data is present for it in the expand_cache. If the value is empty, there is nothing to remove so the best fix is simply not to check for None but check it has any value. Also add a test for this error so it doesn't get reintroduced. (Bitbake rev: af3ce0fc0280e6642fa35de400f75fdbabf329b1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bitbake-selftest: add tests for local fetchingPaul Eggleton2014-04-091-0/+55
| | | | | | | | | | | | Add some explicit tests for unpacking local files to the appropriate location. Some of these tests are actually testing for broken behaviour; these have been called out in the comments, and associated bugs have been filed. (Bitbake rev: ca921c773c52392a5a338b2f493ad38c8132f708) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/data: Add in test for append/prepend/remove override operationsRichard Purdie2014-03-251-0/+41
| | | | | | | | | | We currently don't have test cases for _append, _prepend and _remove. This patch adds some basic tests and includes a test case for a recently reported issue with the _remove operator. (Bitbake rev: 93291bd90e18808c7a1c8c692949396bbc7e4348) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2.URI: Set username/password should not change the otherOlof Johansson2014-03-241-0/+14
| | | | | | | | | | | When setting the username after already having set the password, the password was unexpectedly reset. This change fixes this issue and introduces unit tests to make sure it doesn't happen again. (Bitbake rev: 25faef3a047f9c7564089463d7c96f6910b640cb) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2.URI: Support URIs with both query strings and paramsOlof Johansson2014-03-241-0/+18
| | | | | | | | | | | | | | | | | There is a case in meta-intel where a SRC_URI contains both a query string and URI parameter: https://edc.intel.com/Download.aspx?id=6190;downloadfilename=LIN_IEMGD_1_14_GOLD_2443.tgz Python's urlparse thought the URI parameters were part of the query parameter value, but in the bitbake context this is obviously not the case. As bitbake's usage isn't really RFC compliant, we have to extract and remove the URI parameters *before* urlparse sees the URI. (Bitbake rev: c2f27ae4271985b48f957747b6ea372c8699cb49) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2.URI: add support for query parametersOlof Johansson2014-03-241-0/+30
| | | | | | | | | | | | | This change introduces the .query property of the URI class. It is a read/write dict of the parameters supplied in the query string of the URI. E.g.: http://example.com/?foo=bar => .query = {'foo': 'bar'} (Bitbake rev: 1cb2b3c458c8c5521591d2c8f2e0058143fc77bb) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests.fetch: Remove debug assertOlof Johansson2014-03-241-2/+0
| | | | | | | (Bitbake rev: f112660bca0ed8be061055b1e388deeb2d1980a7) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: codeparser: Fix var_execs to append to execs, not referencesRichard Purdie2014-03-021-1/+2
| | | | | | | | | | | When using the "execs" information in new code, it became clear that the returned data was incorrect and there were missing exec'd functions. This corrects the error and changes one of the test results to match the correct behaviour. (Bitbake rev: 8a24f2d3b735bbc59ca4a09670cabbadb1868c1a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests: add test for gitsm fetcherPaul Eggleton2014-02-281-0/+7
| | | | | | | | | | Use a newly created "git-submodule-test" repo on git.yoctoproject.org which currently contains one submodule (the bitbake repository). (Bitbake rev: a750c57242928c546a5aace632543e956ee908eb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests: add missing importPaul Eggleton2014-02-281-0/+1
| | | | | | | | | This was found when trying to run the data tests individually. (Bitbake rev: e4bf4ad4b99978483541a719105c98ea124e8a34) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Sanity check SRCREV matches rev/tag parameterRichard Purdie2014-01-211-0/+15
| | | | | | | | | | | | | | | Add a sanity check so that if some SRCREV is set and a rev parameter is given to the url, the revision given should match. Any tag parameter behaves the same as rev. If both are specified, error to tell the user we're confused rather than do something which may or may not be what they intended. Also add some unittests for this. (Bitbake rev: e82a4ab48991035866da9914c8b75a9bfbc9a7fc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Don't allow '/' in user:pass, fix branch containing '@'Martin Jansa2014-01-181-1/+2
| | | | | | | | | | | | | | * currently decode_url regexp parses branch=@foo as username so it ends like this: - ('git', '', 'foo', 'git.openembedded.org/bitbake;branch=', '', {}) + ('git', 'git.openembedded.org', '/bitbake', '', '', {'branch': '@foo'}) * http://hg.python.org/cpython/file/2.7/Lib/urlparse.py also assumes that there is at least one '/' as separator between netloc and path, params, so it looks reasonable to prevent including '/' in username (Bitbake rev: 2c82742114091cb55055328b54223686816582f2) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/data: Whitespace in key names is a really bad ideaRichard Purdie2013-09-221-15/+15
| | | | | | | | | | | | | The parser never has supported it, the datastore API did happen to work but whitespace in key names is a really bad idea and not something I think we should encourage or support. Fix test case failures after excplitly ignoring it for variable expansion purposes. (Bitbake rev: a2074ddaba6f53962d6caf34dbd27bdbc259935b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Allow the conditional network tests to work under ↵Richard Purdie2013-05-171-96/+86
| | | | | | | | | | | python 2.6 The skipIf decorator is unavailable under python 2.6 and finding a syntax works there is hard. This patch does allow network tests under 2.6. (Bitbake rev: 565b3e31e0226c6e193ee0b031bd5e7bef25591e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Split the network tests from the rest of the fetcher testsRichard Purdie2013-05-171-23/+24
| | | | | | (Bitbake rev: f32265bcc6b4fe5566aca16f6b05555ec6a96d01) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/fetch: Allow to work on python 2.6Richard Purdie2013-05-171-2/+2
| | | | | | | | | | Currently the fetch tests fail on python 2.6 since check_output doesn't exist on this version of python. Use bb.process instead to avoid this problem. (Bitbake rev: a3637155e829e06bbfe50fb8753de3de7ee8c22e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: bb.tests.fetch: Opt-out for unittests that require networkOlof Johansson2013-03-291-0/+14
| | | | | | | | | | | With this change, you can opt-out to skip unit tests that require an internet connection. To opt-out, you'll set the environment variable BB_SKIP_NETTESTS to 'yes'. (Bitbake rev: 9ff5f172096a4f51b6b085307506473405dc4f59) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add editor modelines for bb.tests.*Olof Johansson2013-02-175-0/+10
| | | | | | | (Bitbake rev: 230e00948ba093958e8e89e9ee380444b3dad307) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: unittests for bb.fetch2.URI classOlof Johansson2013-02-171-0/+226
| | | | | | | (Bitbake rev: a71e7d4137d2c5268b406f69992d09c00772a040) Signed-off-by: Olof Johansson <olof.johansson@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/codeparser: Hack around circular inclusion problemRichard Purdie2013-02-151-0/+3
| | | | | | | | | | There is a circular dependency issue where bb.data can't directly depend on bb.parse. The tests were failing due to this issue which is misleading. This patch hacks around it for now. I'd rather that than not running tests at all. (Bitbake rev: a206ae0d7769a41ff3666d0f53ff9cf422dfa518) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: tests/utils: Add test for explode_dep_versions2Richard Purdie2012-10-021-0/+15
| | | | | | (Bitbake rev: b1b0aabfab3c94c3b515070d0fb4d7819e2548bc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Switch the comparision order to make test failures ↵Richard Purdie2012-06-281-1/+1
| | | | | | | | slightly clearer (Bitbake rev: 2b1311e21172847b6a86cfb21a84fd00e4ab1ac5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Ensure cwd is valud for the git cloneRichard Purdie2012-06-281-0/+1
| | | | | | (Bitbake rev: 60b1a9f52dfec98e55a879a637f7142b0175b452) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: fetch2: Add new mirror syntax to simplify mirror specificationsRichard Purdie2012-06-251-3/+11
| | | | | | | | | | | | | | | | | | | | | | | When writing mirror specifications, the current regexp syntax can be awkward and hard to get it to do what you want. For example, extracting the 'basename' of a repository: PREMIRRORS = "git://.*/([^/]+/)*([^/]*) git://somewhere.org/somedir/\\2;protocol=file" can now become: PREMIRRORS = "git://.*/.* git://somewhere.org/somedir/BASENAME;protocol=file" which is much clearer. A MIRRORNAME substitution is also added which contains an encoded form of both host and path. One of the problems with the existing regexp syntax is you couldn't access HOST information from PATH and vice-versa which is an issue this patch also addresses. Tests for the new syntax are also added. (Bitbake rev: c6b1acbad7b3d2698530eb8b5249adb4ab95da21) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Add a couple of extra test casesRichard Purdie2012-06-211-1/+29
| | | | | | | | (From Poky rev: 01d8220ef8580ca980a14c05d500765ca2d37e2c) (Bitbake rev: 0d0a12fa0e4dabf01c1c24370aff54d26690a6dc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: test/fetch: Add in unit tests for uri_replace() and git premirrorsRichard Purdie2012-06-211-3/+52
| | | | | | | | (From Poky rev: 4be81b5cadb7813d37152411c23764501f5869d3) (Bitbake rev: f91b4c2e3a2b3029d653a18de7ae2b0ecd7e2536) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/tests: Add test of the git fetcherRichard Purdie2012-05-131-0/+21
| | | | | | (Bitbake rev: 4dd2655caef1003b51c0600397a91f1c9526a67f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake/tests/fetch: Add simple http fetcher testsRichard Purdie2012-05-071-0/+42
| | | | | | (Bitbake rev: 27b89561781f19fd95308433bec06fa8b7b354e8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Fixup bitbake-selftestRichard Purdie2012-05-041-0/+0
| | | | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: Add start of bitbake regression/self testingRichard Purdie2012-05-045-0/+833
This adds some basic unit testing for the codeparser and data store code. Many of the actual test cases were taken from work by Chris Larson's OE-Signatures work but with changes to adapt to the current bitbake APIs we need to test. I also imported CoW tests written by Holger Freyther from the original bitbake-test codebase: http://svn.berlios.de/wsvn/bitbake/trunk/bitbake-tests/tests/ and some tests from the doctests that were removed in commit: http://git.openembedded.org/bitbake/commit?id=3a11c2807972bbbddffde2fa67fc380d159da467 (Bitbake rev: ae4a95780e3e08cf73c854efa8cd93379e00c4e5) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>