summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/selftest/devtool.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-02-19 16:39:58 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-02-23 17:35:28 +0000
commite5bf4ed333cf11f2835a44df36719dddbb171a3a (patch)
tree87907ab0385cf5adc9dcb6105315db63b7987580 /meta/lib/oeqa/selftest/devtool.py
parent845efa450c8a99b3ade59c5decc852a2769600d3 (diff)
downloadpoky-e5bf4ed333cf11f2835a44df36719dddbb171a3a.tar.gz
devtool: build: run do_populate_sysroot instead of do_install
If you want to be able to make use of libraries in conjunction with devtool then we need to install them into the sysroot for other recipes to use. Make it a configuration option in case it needs to be changed at runtime. (From OE-Core rev: 94f517ad8e55edfbe6f06afd963bcfeb849626ff) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/selftest/devtool.py')
-rw-r--r--meta/lib/oeqa/selftest/devtool.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py
index 33f2e91607..8caf07aaec 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -136,6 +136,46 @@ class DevtoolTests(oeSelfTest):
136 bindir = bindir[1:] 136 bindir = bindir[1:]
137 self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D') 137 self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D')
138 138
139 def test_devtool_add_library(self):
140 # Check preconditions
141 workspacedir = os.path.join(self.builddir, 'workspace')
142 self.assertTrue(not os.path.exists(workspacedir), 'This test cannot be run with a workspace directory under the build directory')
143 # We don't have the ability to pick up this dependency automatically yet...
144 bitbake('libusb1')
145 # Fetch source
146 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
147 self.track_for_cleanup(tempdir)
148 url = 'http://www.intra2net.com/en/developer/libftdi/download/libftdi1-1.1.tar.bz2'
149 result = runCmd('wget %s' % url, cwd=tempdir)
150 result = runCmd('tar xfv libftdi1-1.1.tar.bz2', cwd=tempdir)
151 srcdir = os.path.join(tempdir, 'libftdi1-1.1')
152 self.assertTrue(os.path.isfile(os.path.join(srcdir, 'CMakeLists.txt')), 'Unable to find CMakeLists.txt in source directory')
153 # Test devtool add
154 self.track_for_cleanup(workspacedir)
155 self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
156 result = runCmd('devtool add libftdi %s' % srcdir)
157 self.assertTrue(os.path.exists(os.path.join(workspacedir, 'conf', 'layer.conf')), 'Workspace directory not created')
158 # Test devtool status
159 result = runCmd('devtool status')
160 self.assertIn('libftdi', result.output)
161 self.assertIn(srcdir, result.output)
162 # Clean up anything in the workdir/sysroot/sstate cache (have to do this *after* devtool add since the recipe only exists then)
163 bitbake('libftdi -c cleansstate')
164 # Test devtool build
165 result = runCmd('devtool build libftdi')
166 staging_libdir = get_bb_var('STAGING_LIBDIR', 'libftdi')
167 self.assertTrue(staging_libdir, 'Could not query STAGING_LIBDIR variable')
168 self.assertTrue(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary not found in STAGING_LIBDIR')
169 # Test devtool reset
170 stampprefix = get_bb_var('STAMP', 'libftdi')
171 result = runCmd('devtool reset libftdi')
172 result = runCmd('devtool status')
173 self.assertNotIn('libftdi', result.output)
174 self.assertTrue(stampprefix, 'Unable to get STAMP value for recipe libftdi')
175 matches = glob.glob(stampprefix + '*')
176 self.assertFalse(matches, 'Stamp files exist for recipe libftdi that should have been cleaned')
177 self.assertFalse(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary still found in STAGING_LIBDIR after cleaning')
178
139 def test_devtool_modify(self): 179 def test_devtool_modify(self):
140 # Check preconditions 180 # Check preconditions
141 workspacedir = os.path.join(self.builddir, 'workspace') 181 workspacedir = os.path.join(self.builddir, 'workspace')