bitbake-selftest fixes
cover bitbake-selftest fixes
The following changes since commit 35c67281775b08925957c32663d587d486944e0e:
hob: add "recipes/images/" to BBFILES when Hob is launched (2014-04-08 13:06:34 +0100)
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib paule/selftest2
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=paule/selftest2
Paul Eggleton (2):
bitbake-selftest: fix help message to include command line
bitbake-selftest: add tests for local fetching
bin/bitbake-selftest | 2 +- lib/bb/tests/fetch.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 1 deletion(-)
Signature · 1 line
1.9.0
PATCH 1/2 bitbake-selftest: fix help message to include command line
--- bin/bitbake-selftest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
bin/bitbake-selftest +1 -1
@@ -26,7 +26,7 @@ except RuntimeError as exc: sys.exit(str(exc)) def usage(): - print('usage: %s [testname1 [testname2]...]') + print('usage: %s [testname1 [testname2]...]' % os.path.basename(sys.argv[0])) if len(sys.argv) > 1: if '--help' in sys.argv[1:]:
Signature · 1 line
1.9.0
PATCH 2/2 bitbake-selftest: add tests for local fetching
In reply to Paul EggletonAdd 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.
--- lib/bb/tests/fetch.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+)
lib/bb/tests/fetch.py +55 -0
@@ -390,6 +390,61 @@ class MirrorUriTest(FetcherTest): uris, uds = bb.fetch2.build_mirroruris(fetcher, mirrors, self.d) self.assertEqual(uris, ['file:///someotherpath/downloads/bitbake-1.0.tar.gz']) + +class FetcherLocalTest(FetcherTest): + def setUp(self): + def touch(fn): + with file(fn, 'a'): + os.utime(fn, None) + + super(FetcherLocalTest, self).setUp() + self.localsrcdir = os.path.join(self.tempdir, 'localsrc') + os.makedirs(self.localsrcdir) + touch(os.path.join(self.localsrcdir, 'a')) + touch(os.path.join(self.localsrcdir, 'b')) + os.makedirs(os.path.join(self.localsrcdir, 'dir')) + touch(os.path.join(self.localsrcdir, 'dir', 'c')) + touch(os.path.join(self.localsrcdir, 'dir', 'd')) + os.makedirs(os.path.join(self.localsrcdir, 'dir', 'subdir')) + touch(os.path.join(self.localsrcdir, 'dir', 'subdir', 'e')) + self.d.setVar("FILESPATH", self.localsrcdir) + + def fetchUnpack(self, uris): + fetcher = bb.fetch.Fetch(uris, self.d) + fetcher.download() + fetcher.unpack(self.unpackdir) + flst = [] + for root, dirs, files in os.walk(self.unpackdir): + for f in files: + flst.append(os.path.relpath(os.path.join(root, f), self.unpackdir)) + flst.sort() + return flst + + def test_local(self): + tree = self.fetchUnpack(['file://a', 'file://dir/c']) + self.assertEqual(tree, ['a', 'dir/c']) + + def test_local_wildcard(self): + tree = self.fetchUnpack(['file://a', 'file://dir/*']) + # FIXME: this is broken - it should return ['a', 'dir/c', 'dir/d', 'dir/subdir/e'] + # see https://bugzilla.yoctoproject.org/show_bug.cgi?id=6128 + self.assertEqual(tree, ['a', 'b', 'dir/c', 'dir/d', 'dir/subdir/e']) + + def test_local_dir(self): + tree = self.fetchUnpack(['file://a', 'file://dir']) + self.assertEqual(tree, ['a', 'dir/c', 'dir/d', 'dir/subdir/e']) + + def test_local_subdir(self): + tree = self.fetchUnpack(['file://dir/subdir']) + # FIXME: this is broken - it should return ['dir/subdir/e'] + # see https://bugzilla.yoctoproject.org/show_bug.cgi?id=6129 + self.assertEqual(tree, ['subdir/e']) + + def test_local_subdir_file(self): + tree = self.fetchUnpack(['file://dir/subdir/e']) + self.assertEqual(tree, ['dir/subdir/e']) + + class FetcherNetworkTest(FetcherTest): if os.environ.get("BB_SKIP_NETTESTS") == "yes":
Signature · 1 line
1.9.0