]> code.ossystems Code Review - openembedded-core.git/commitdiff
oe-selftest: improve bitbake-layers tests
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Mon, 16 Mar 2015 10:45:29 +0000 (10:45 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 20 Mar 2015 10:59:03 +0000 (10:59 +0000)
* Add a test for add-layer and remove-layer
* Correct message for test_bitbakelayers_showoverlayed()
* Improve test_bitbakelayers_flatten() to use a more unique name for the
  temp output directory and clean it up using track_for_cleanup()

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/lib/oeqa/selftest/bblayers.py

index 449c17ea3799b298d6c37d96740d318065c38063..5b046d06e12c8e4925847c6acb758b78e3914715 100644 (file)
@@ -29,15 +29,32 @@ class BitbakeLayers(oeSelfTest):
     @testcase(90)
     def test_bitbakelayers_showoverlayed(self):
         result = runCmd('bitbake-layers show-overlayed')
-        self.assertTrue('aspell' in result.output, msg='xcursor-transparent-theme_0.1.1.bbappend file was not recognised')
+        self.assertTrue('aspell' in result.output, msg='aspell overlayed recipe was not recognised')
 
     @testcase(95)
     def test_bitbakelayers_flatten(self):
-        self.assertFalse(os.path.isdir(os.path.join(self.builddir, 'test')))
-        result = runCmd('bitbake-layers flatten test')
-        bb_file = os.path.join(self.builddir, 'test/recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb')
+        testoutdir = os.path.join(self.builddir, 'test_bitbakelayers_flatten')
+        self.assertFalse(os.path.isdir(testoutdir))
+        self.track_for_cleanup(testoutdir)
+        result = runCmd('bitbake-layers flatten %s' % testoutdir)
+        bb_file = os.path.join(testoutdir, 'recipes-graphics/xcursor-transparent-theme/xcursor-transparent-theme_0.1.1.bb')
         self.assertTrue(os.path.isfile(bb_file))
         contents = ftools.read_file(bb_file)
         find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents)
-        shutil.rmtree(os.path.join(self.builddir, 'test'))
         self.assertTrue(find_in_contents)
+
+    def test_bitbakelayers_add_remove(self):
+        result = runCmd('bitbake-layers show-layers')
+        self.assertNotIn('meta-skeleton', result.output, 'This test cannot run with meta-skeleton in bblayers.conf')
+        result = runCmd('bitbake-layers add-layer ../meta-skeleton')
+        result = runCmd('bitbake-layers show-layers')
+        self.assertIn('meta-skeleton', result.output)
+        result = runCmd('bitbake-layers remove-layer ../meta-skeleton')
+        result = runCmd('bitbake-layers show-layers')
+        self.assertNotIn('meta-skeleton', result.output)
+        result = runCmd('bitbake-layers add-layer ../meta-skeleton')
+        result = runCmd('bitbake-layers show-layers')
+        self.assertIn('meta-skeleton', result.output)
+        result = runCmd('bitbake-layers remove-layer */meta-skeleton')
+        result = runCmd('bitbake-layers show-layers')
+        self.assertNotIn('meta-skeleton', result.output)