mirror of
https://git.yoctoproject.org/poky
synced 2026-06-02 01:19:52 +00:00
selftest: check that 'devtool upgrade' correctly drops backported patches
There was a regression in this functionality that went unnoticed due to lack of tests. (From OE-Core rev: da4c28d5fdc6501a7d3b256cb62cba778e81d16e) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
67e155c209
commit
c84b0dbcd8
@@ -1496,11 +1496,13 @@ class DevtoolUpgradeTests(DevtoolBase):
|
||||
recipedir = os.path.dirname(oldrecipefile)
|
||||
olddir = os.path.join(recipedir, recipe + '-' + oldversion)
|
||||
patchfn = '0001-Add-a-note-line-to-the-quick-reference.patch'
|
||||
backportedpatchfn = 'backported.patch'
|
||||
self.assertExists(os.path.join(olddir, patchfn), 'Original patch file does not exist')
|
||||
return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn
|
||||
self.assertExists(os.path.join(olddir, backportedpatchfn), 'Backported patch file does not exist')
|
||||
return recipe, oldrecipefile, recipedir, olddir, newversion, patchfn, backportedpatchfn
|
||||
|
||||
def test_devtool_finish_upgrade_origlayer(self):
|
||||
recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade()
|
||||
recipe, oldrecipefile, recipedir, olddir, newversion, patchfn, backportedpatchfn = self._setup_test_devtool_finish_upgrade()
|
||||
# Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
|
||||
self.assertIn('/meta-selftest/', recipedir)
|
||||
# Try finish to the original layer
|
||||
@@ -1511,14 +1513,23 @@ class DevtoolUpgradeTests(DevtoolBase):
|
||||
self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish')
|
||||
self.assertNotExists(oldrecipefile, 'Old recipe file should have been deleted but wasn\'t')
|
||||
self.assertNotExists(os.path.join(olddir, patchfn), 'Old patch file should have been deleted but wasn\'t')
|
||||
self.assertNotExists(os.path.join(olddir, backportedpatchfn), 'Old backported patch file should have been deleted but wasn\'t')
|
||||
newrecipefile = os.path.join(recipedir, '%s_%s.bb' % (recipe, newversion))
|
||||
newdir = os.path.join(recipedir, recipe + '-' + newversion)
|
||||
self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t')
|
||||
self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t')
|
||||
self.assertNotExists(os.path.join(newdir, backportedpatchfn), 'Backported patch file should not have been copied into new directory but was')
|
||||
self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t')
|
||||
with open(newrecipefile, 'r') as f:
|
||||
newcontent = f.read()
|
||||
self.assertNotIn(backportedpatchfn, newcontent, "Backported patch should have been removed from the recipe but wasn't")
|
||||
self.assertIn(patchfn, newcontent, "Old patch should have not been removed from the recipe but was")
|
||||
self.assertIn("0002-Add-a-comment-to-the-code.patch", newcontent, "New patch should have been added to the recipe but wasn't")
|
||||
self.assertIn("http://www.ivarch.com/programs/sources/pv-${PV}.tar.gz", newcontent, "New recipe no longer has upstream source in SRC_URI")
|
||||
|
||||
|
||||
def test_devtool_finish_upgrade_otherlayer(self):
|
||||
recipe, oldrecipefile, recipedir, olddir, newversion, patchfn = self._setup_test_devtool_finish_upgrade()
|
||||
recipe, oldrecipefile, recipedir, olddir, newversion, patchfn, backportedpatchfn = self._setup_test_devtool_finish_upgrade()
|
||||
# Ensure the recipe is where we think it should be (so that cleanup doesn't trash things)
|
||||
self.assertIn('/meta-selftest/', recipedir)
|
||||
# Try finish to a different layer - should create a bbappend
|
||||
@@ -1534,10 +1545,18 @@ class DevtoolUpgradeTests(DevtoolBase):
|
||||
self.assertNotExists(os.path.join(self.workspacedir, 'recipes', recipe), 'Recipe directory should not exist after finish')
|
||||
self.assertExists(oldrecipefile, 'Old recipe file should not have been deleted')
|
||||
self.assertExists(os.path.join(olddir, patchfn), 'Old patch file should not have been deleted')
|
||||
self.assertExists(os.path.join(olddir, backportedpatchfn), 'Old backported patch file should not have been deleted')
|
||||
newdir = os.path.join(newrecipedir, recipe + '-' + newversion)
|
||||
self.assertExists(newrecipefile, 'New recipe file should have been copied into existing layer but wasn\'t')
|
||||
self.assertExists(os.path.join(newdir, patchfn), 'Patch file should have been copied into new directory but wasn\'t')
|
||||
self.assertNotExists(os.path.join(newdir, backportedpatchfn), 'Backported patch file should not have been copied into new directory but was')
|
||||
self.assertExists(os.path.join(newdir, '0002-Add-a-comment-to-the-code.patch'), 'New patch file should have been created but wasn\'t')
|
||||
with open(newrecipefile, 'r') as f:
|
||||
newcontent = f.read()
|
||||
self.assertNotIn(backportedpatchfn, newcontent, "Backported patch should have been removed from the recipe but wasn't")
|
||||
self.assertIn(patchfn, newcontent, "Old patch should have not been removed from the recipe but was")
|
||||
self.assertIn("0002-Add-a-comment-to-the-code.patch", newcontent, "New patch should have been added to the recipe but wasn't")
|
||||
self.assertIn("http://www.ivarch.com/programs/sources/pv-${PV}.tar.gz", newcontent, "New recipe no longer has upstream source in SRC_URI")
|
||||
|
||||
def _setup_test_devtool_finish_modify(self):
|
||||
# Check preconditions
|
||||
|
||||
Reference in New Issue
Block a user