mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01: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: a75e4eceb703b2b13ddd4ba3dea3a86af0b0a9eb) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
505f7f05a7
commit
7081beeb18
@@ -0,0 +1,37 @@
|
||||
commit ced2ec32b657a7f52604b2e16e5d5881041c517a
|
||||
Author: OpenEmbedded <oe.patch@oe>
|
||||
Date: Mon Nov 18 18:43:15 2019 +0100
|
||||
|
||||
Backport of the NEWS file from version 1.6.0
|
||||
|
||||
diff --git a/doc/NEWS b/doc/NEWS
|
||||
index 69793fc..fd49b1c 100644
|
||||
--- a/doc/NEWS
|
||||
+++ b/doc/NEWS
|
||||
@@ -1,3 +1,26 @@
|
||||
+1.6.0 - 15 March 2015
|
||||
+ - fix lstat64 support when unavailable - separate patches supplied by
|
||||
+ Ganael Laplanche and Peter Korsgaard
|
||||
+ - (#1506) new option "-D" / "--delay-start" to only show bar after N
|
||||
+ seconds (Damon Harper)
|
||||
+ - new option "--fineta" / "-I" to show ETA as time of day rather than time
|
||||
+ remaining - patch supplied by Erkki Seppälä (r147)
|
||||
+ - (#1509) change ETA (--eta / -e) so that days are given if the hours
|
||||
+ remaining are 24 or more (Jacek Wielemborek)
|
||||
+ - (#1499) repeat read and write attempts on partial buffer fill/empty to
|
||||
+ work around post-signal transfer rate drop reported by Ralf Ramsauer
|
||||
+ - (#1507) do not try to calculate total size in line mode, due to bug
|
||||
+ reported by Jacek Wielemborek and Michiel Van Herwegen
|
||||
+ - cleanup: removed defunct RATS comments and unnecessary copyright notices
|
||||
+ - clean up displayed lines when using --watchfd PID, when PID exits
|
||||
+ - output errors on a new line to avoid overwriting transfer bar
|
||||
+
|
||||
+1.5.7 - 26 August 2014
|
||||
+ - show KiB instead of incorrect kiB (Debian bug #706175)
|
||||
+ - (#1284) do not gzip man page, for non-Linux OSes (Bob Friesenhahn)
|
||||
+ - work around "awk" bug in tests/016-numeric-timer in decimal "," locales
|
||||
+ - fix "make rpm" and "make srpm", extend "make release" to sign releases
|
||||
+
|
||||
1.5.3 - 4 May 2014
|
||||
- remove SPLICE_F_NONBLOCK to fix problem with slow splice() (Jan Seda)
|
||||
|
||||
@@ -3,7 +3,9 @@ LICENSE = "Artistic-2.0"
|
||||
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
|
||||
|
||||
SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.gz \
|
||||
file://0001-Add-a-note-line-to-the-quick-reference.patch"
|
||||
file://0001-Add-a-note-line-to-the-quick-reference.patch \
|
||||
file://backported.patch \
|
||||
"
|
||||
UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml"
|
||||
RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature"
|
||||
|
||||
|
||||
@@ -3,7 +3,9 @@ LICENSE = "Artistic-2.0"
|
||||
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
|
||||
|
||||
SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.gz \
|
||||
file://0001-Add-a-note-line-to-the-quick-reference.patch"
|
||||
file://0001-Add-a-note-line-to-the-quick-reference.patch \
|
||||
file://backported.patch \
|
||||
"
|
||||
UPSTREAM_CHECK_URI = "http://www.ivarch.com/programs/pv.shtml"
|
||||
RECIPE_NO_UPDATE_REASON = "This recipe is used to test devtool upgrade feature"
|
||||
|
||||
|
||||
@@ -1497,11 +1497,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
|
||||
@@ -1512,14 +1514,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
|
||||
@@ -1535,10 +1546,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