summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-03-05 10:51:20 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-03-20 11:27:45 +0000
commitcb4b07838c267a09ebedba6c30ec25bda2cd11be (patch)
treed3c2826f27d23f885631c53dcd6fba4634b4c557 /meta/lib
parent221705f0143c9ba4c11180dc9ff1bf29966b23bc (diff)
downloadpoky-cb4b07838c267a09ebedba6c30ec25bda2cd11be.tar.gz
devtool: modify/extract: prevent usage with incompatible recipes
Consolidate code for checking compatible recipes and consider meta and packagegroup recipes as well as package-index and gcc-source to be incompatible. (From OE-Core rev: 4be9bf637583b341a89af1b9924752abc7d49c94) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/selftest/devtool.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py
index a8c339a39f..2574e4bbf4 100644
--- a/meta/lib/oeqa/selftest/devtool.py
+++ b/meta/lib/oeqa/selftest/devtool.py
@@ -227,6 +227,30 @@ class DevtoolTests(oeSelfTest):
227 matches = glob.glob(stampprefix + '*') 227 matches = glob.glob(stampprefix + '*')
228 self.assertFalse(matches, 'Stamp files exist for recipe mdadm that should have been cleaned') 228 self.assertFalse(matches, 'Stamp files exist for recipe mdadm that should have been cleaned')
229 229
230 def test_devtool_modify_invalid(self):
231 # Check preconditions
232 workspacedir = os.path.join(self.builddir, 'workspace')
233 self.assertTrue(not os.path.exists(workspacedir), 'This test cannot be run with a workspace directory under the build directory')
234 # Try modifying some recipes
235 tempdir = tempfile.mkdtemp(prefix='devtoolqa')
236 self.track_for_cleanup(tempdir)
237 self.track_for_cleanup(workspacedir)
238 self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
239
240 testrecipes = 'perf gcc-source kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split()
241 for testrecipe in testrecipes:
242 # Check it's a valid recipe
243 bitbake('%s -e' % testrecipe)
244 # devtool extract should fail
245 result = runCmd('devtool extract %s %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True)
246 self.assertNotEqual(result.status, 0, 'devtool extract on %s should have failed' % testrecipe)
247 self.assertNotIn('Fetching ', result.output, 'devtool extract on %s should have errored out before trying to fetch' % testrecipe)
248 self.assertIn('ERROR: ', result.output, 'devtool extract on %s should have given an ERROR' % testrecipe)
249 # devtool modify should fail
250 result = runCmd('devtool modify %s -x %s' % (testrecipe, os.path.join(tempdir, testrecipe)), ignore_status=True)
251 self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed' % testrecipe)
252 self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe)
253
230 def test_devtool_modify_git(self): 254 def test_devtool_modify_git(self):
231 # Check preconditions 255 # Check preconditions
232 workspacedir = os.path.join(self.builddir, 'workspace') 256 workspacedir = os.path.join(self.builddir, 'workspace')