diff options
-rw-r--r-- | meta/lib/oeqa/selftest/devtool.py | 4 | ||||
-rw-r--r-- | scripts/lib/devtool/standard.py | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py index 74fb325803..33f2e91607 100644 --- a/meta/lib/oeqa/selftest/devtool.py +++ b/meta/lib/oeqa/selftest/devtool.py | |||
@@ -179,9 +179,13 @@ class DevtoolTests(oeSelfTest): | |||
179 | if line.startswith('.TH'): | 179 | if line.startswith('.TH'): |
180 | self.assertEqual(line.rstrip(), '.TH MDADM 8 "" v9.999-custom', 'man file not modified') | 180 | self.assertEqual(line.rstrip(), '.TH MDADM 8 "" v9.999-custom', 'man file not modified') |
181 | # Test devtool reset | 181 | # Test devtool reset |
182 | stampprefix = get_bb_var('STAMP', 'mdadm') | ||
182 | result = runCmd('devtool reset mdadm') | 183 | result = runCmd('devtool reset mdadm') |
183 | result = runCmd('devtool status') | 184 | result = runCmd('devtool status') |
184 | self.assertNotIn('mdadm', result.output) | 185 | self.assertNotIn('mdadm', result.output) |
186 | self.assertTrue(stampprefix, 'Unable to get STAMP value for recipe mdadm') | ||
187 | matches = glob.glob(stampprefix + '*') | ||
188 | self.assertFalse(matches, 'Stamp files exist for recipe mdadm that should have been cleaned') | ||
185 | 189 | ||
186 | def test_devtool_update_recipe(self): | 190 | def test_devtool_update_recipe(self): |
187 | # Check preconditions | 191 | # Check preconditions |
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index d503111d85..763177de1c 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
@@ -475,6 +475,11 @@ def reset(args, config, basepath, workspace): | |||
475 | if not args.recipename in workspace: | 475 | if not args.recipename in workspace: |
476 | logger.error("no recipe named %s in your workspace" % args.recipename) | 476 | logger.error("no recipe named %s in your workspace" % args.recipename) |
477 | return -1 | 477 | return -1 |
478 | |||
479 | if not args.no_clean: | ||
480 | logger.info('Cleaning sysroot for recipe %s...' % args.recipename) | ||
481 | exec_build_env_command(config.init_path, basepath, 'bitbake -c clean %s' % args.recipename) | ||
482 | |||
478 | _check_preserve(config, args.recipename) | 483 | _check_preserve(config, args.recipename) |
479 | 484 | ||
480 | preservepath = os.path.join(config.workspace_path, 'attic', args.recipename) | 485 | preservepath = os.path.join(config.workspace_path, 'attic', args.recipename) |
@@ -555,5 +560,6 @@ def register_commands(subparsers, context): | |||
555 | description='Removes the specified recipe from your workspace (resetting its state)', | 560 | description='Removes the specified recipe from your workspace (resetting its state)', |
556 | formatter_class=argparse.ArgumentDefaultsHelpFormatter) | 561 | formatter_class=argparse.ArgumentDefaultsHelpFormatter) |
557 | parser_reset.add_argument('recipename', help='Recipe to reset') | 562 | parser_reset.add_argument('recipename', help='Recipe to reset') |
563 | parser_reset.add_argument('--no-clean', '-n', action="store_true", help='Don\'t clean the sysroot to remove recipe output') | ||
558 | parser_reset.set_defaults(func=reset) | 564 | parser_reset.set_defaults(func=reset) |
559 | 565 | ||