mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
oeqa/selftest/devtool: add unit test for "devtool add -b"
Fix [Yocto #15085] Co-authored-by: Fawzi KHABER <fawzi.khaber@smile.fr> (From OE-Core rev: d5eedf8ca689ccb433c2f5d0b324378f966dd627) Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7e01522204
commit
a43fa36614
@@ -366,6 +366,38 @@ class DevtoolAddTests(DevtoolBase):
|
||||
bindir = bindir[1:]
|
||||
self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D')
|
||||
|
||||
def test_devtool_add_binary(self):
|
||||
# Create a binary package containing a known test file
|
||||
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
|
||||
self.track_for_cleanup(tempdir)
|
||||
pn = 'tst-bin'
|
||||
pv = '1.0'
|
||||
test_file_dir = "var/lib/%s/" % pn
|
||||
test_file_name = "test_file"
|
||||
test_file_content = "TEST CONTENT"
|
||||
test_file_package_root = os.path.join(tempdir, pn)
|
||||
test_file_dir_full = os.path.join(test_file_package_root, test_file_dir)
|
||||
bb.utils.mkdirhier(test_file_dir_full)
|
||||
with open(os.path.join(test_file_dir_full, test_file_name), "w") as f:
|
||||
f.write(test_file_content)
|
||||
bin_package_path = os.path.join(tempdir, "%s.tar.gz" % pn)
|
||||
runCmd("tar czf %s -C %s ." % (bin_package_path, test_file_package_root))
|
||||
|
||||
# Test devtool add -b on the binary package
|
||||
self.track_for_cleanup(self.workspacedir)
|
||||
self.add_command_to_tearDown('bitbake -c cleansstate %s' % pn)
|
||||
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
|
||||
result = runCmd('devtool add -b %s %s' % (pn, bin_package_path))
|
||||
self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created')
|
||||
|
||||
# Build the resulting recipe
|
||||
result = runCmd('devtool build %s' % pn)
|
||||
installdir = get_bb_var('D', pn)
|
||||
self.assertTrue(installdir, 'Could not query installdir variable')
|
||||
|
||||
# Check that a known file from the binary package has indeed been installed
|
||||
self.assertTrue(os.path.isfile(os.path.join(installdir, test_file_dir, test_file_name)), '%s not found in D' % test_file_name)
|
||||
|
||||
def test_devtool_add_git_local(self):
|
||||
# We need dbus built so that DEPENDS recognition works
|
||||
bitbake('dbus')
|
||||
|
||||
Reference in New Issue
Block a user