mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 21:32:12 +02:00
oe-selftest: devtool: add another devtool add test
Add a test so we validate the following recently implemented/fixed aspects of "devtool add": * Adding from a local directory with no name specified * Auto-detecting the name and version from autoconf files * Setting SRC_URI and S from the local git repo * Showing the recipe file path in "devtool status" if it has been created within the workspace Incidentally also tests: * LICENSE and LIC_FILES_CHKSUM detection (though just for this piece of software) * Extracting a dependency from autoconf (though just for this narrow case since there's only one) (From OE-Core rev: d991fe7f17861dc5c21f7eac30d8c912b4d5dbed) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a5095d146d
commit
e64ce73b7e
@@ -201,6 +201,43 @@ class DevtoolTests(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_git_local(self):
|
||||
# Fetch source from a remote URL, but do it outside of devtool
|
||||
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
|
||||
self.track_for_cleanup(tempdir)
|
||||
pn = 'dbus-wait'
|
||||
# We choose an https:// git URL here to check rewriting the URL works
|
||||
url = 'https://git.yoctoproject.org/git/dbus-wait'
|
||||
# Force fetching to "noname" subdir so we verify we're picking up the name from autoconf
|
||||
# instead of the directory name
|
||||
result = runCmd('git clone %s noname' % url, cwd=tempdir)
|
||||
srcdir = os.path.join(tempdir, 'noname')
|
||||
self.assertTrue(os.path.isfile(os.path.join(srcdir, 'configure.ac')), 'Unable to find configure script in source directory')
|
||||
# Test devtool add
|
||||
self.track_for_cleanup(self.workspacedir)
|
||||
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
|
||||
# Don't specify a name since we should be able to auto-detect it
|
||||
result = runCmd('devtool add %s' % srcdir)
|
||||
self.assertTrue(os.path.exists(os.path.join(self.workspacedir, 'conf', 'layer.conf')), 'Workspace directory not created')
|
||||
# Check the recipe name is correct
|
||||
recipefile = get_bb_var('FILE', pn)
|
||||
self.assertIn('%s_git.bb' % pn, recipefile, 'Recipe file incorrectly named')
|
||||
self.assertIn(recipefile, result.output)
|
||||
# Test devtool status
|
||||
result = runCmd('devtool status')
|
||||
self.assertIn(pn, result.output)
|
||||
self.assertIn(srcdir, result.output)
|
||||
self.assertIn(recipefile, result.output)
|
||||
checkvars = {}
|
||||
checkvars['LICENSE'] = 'GPLv2'
|
||||
checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263'
|
||||
checkvars['S'] = '${WORKDIR}/git'
|
||||
checkvars['PV'] = '0.1+git${SRCPV}'
|
||||
checkvars['SRC_URI'] = 'git://git.yoctoproject.org/git/dbus-wait;protocol=https'
|
||||
checkvars['SRCREV'] = '${AUTOREV}'
|
||||
checkvars['DEPENDS'] = set(['dbus'])
|
||||
self._test_recipe_contents(recipefile, checkvars, [])
|
||||
|
||||
@testcase(1162)
|
||||
def test_devtool_add_library(self):
|
||||
# We don't have the ability to pick up this dependency automatically yet...
|
||||
|
||||
Reference in New Issue
Block a user