Skip to contentSkip to conversation

testsdk: use cpio instead of cvs as test

PATCH New brian avery 1 participant 3 messages Mar 18, 2017

lore
Share & tools
lore
#0 lore raw

cover testsdk: use cpio instead of cvs as test

We were using cvs as our sdk test by running configure,make, and install using the sdk. Unfortunately, cvs requires vi and we were therefore requiring vi as one of our HOSTTOOLS. Since this is a choice among many for editors, it makes for a fragile requirement. Furthermore, a build container would typically not have an editor in it but should still be able to build and test images. This patch switches cpio (also autotools based and so checks the same steps) for cvs, thus dropping the vi requirement.

-brian

The following changes since commit 7e0985bab68547f946163828a16beab7542fca2e:

nativesdk-packagegroup-sdk-host.bb: add cmake (2017-03-17 16:53:06 +0000)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib bavery/changeCVSTestToCpioTest
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=bavery/changeCVSTestToCpioTest

brian avery (2):
meta/lib/oeqa: change sdk test from cvs to cpio
bitbake.conf: remove vi from HOSTTOOLS list

 meta/classes/testimage.bbclass                            | 6 +++---
 meta/conf/bitbake.conf                                    | 2 +-
 meta/lib/oeqa/runtime/cases/{buildcvs.py => buildcpio.py} | 8 ++++----
 meta/lib/oeqa/sdk/cases/{buildcvs.py => buildcpio.py}     | 8 ++++----
 4 files changed, 12 insertions(+), 12 deletions(-)
 rename meta/lib/oeqa/runtime/cases/{buildcvs.py => buildcpio.py} (83%)
 rename meta/lib/oeqa/sdk/cases/{buildcvs.py => buildcpio.py} (80%)

--
1.9.1

#1 lore raw

PATCH 1/2 meta/lib/oeqa: change sdk test from cvs to cpio

We currently fetch,configure,build, and install cvs as our test for the sdk. cvs unfortunately, requires a default editor in order to run. The change in 94790a8254d6 that checks to see if you have something like vi installed is fragile since you may have a different default editor. This patch switches from using cvs as a test to using cpio. cpio also uses autotools so the functionality tested is equivalent.

---
 meta/classes/testimage.bbclass                            | 6 +++---
 meta/lib/oeqa/runtime/cases/{buildcvs.py => buildcpio.py} | 8 ++++----
 meta/lib/oeqa/sdk/cases/{buildcvs.py => buildcpio.py}     | 8 ++++----
 3 files changed, 11 insertions(+), 11 deletions(-)
 rename meta/lib/oeqa/runtime/cases/{buildcvs.py => buildcpio.py} (83%)
 rename meta/lib/oeqa/sdk/cases/{buildcvs.py => buildcpio.py} (80%)
meta/classes/testimage.bbclass +3 -3
index 173d974..bfe5714 100644
@@ -49,10 +49,10 @@ DEFAULT_TEST_SUITES_pn-core-image-x11 = "${MINTESTSUITE}"
 DEFAULT_TEST_SUITES_pn-core-image-lsb = "${NETTESTSUITE} pam parselogs ${RPMTESTSUITE}"
 DEFAULT_TEST_SUITES_pn-core-image-sato = "${NETTESTSUITE} connman xorg parselogs ${RPMTESTSUITE} \
     ${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'python', '', d)}"
-DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcvs buildiptables buildgalculator \
+DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \
     connman ${DEVTESTSUITE} logrotate perl parselogs python ${RPMTESTSUITE} xorg"
 DEFAULT_TEST_SUITES_pn-core-image-lsb-dev = "${NETTESTSUITE} pam perl python parselogs ${RPMTESTSUITE}"
-DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcvs buildiptables buildgalculator \
+DEFAULT_TEST_SUITES_pn-core-image-lsb-sdk = "${NETTESTSUITE} buildcpio buildiptables buildgalculator \
     connman ${DEVTESTSUITE} logrotate pam parselogs perl python ${RPMTESTSUITE}"
 DEFAULT_TEST_SUITES_pn-meta-toolchain = "auto"
 
@@ -61,7 +61,7 @@ DEFAULT_TEST_SUITES_remove_aarch64 = "xorg"
 
 # qemumips is quite slow and has reached the timeout limit several times on the YP build cluster,
 # mitigate this by removing build tests for qemumips machines.
-MIPSREMOVE ??= "buildcvs buildiptables buildgalculator"
+MIPSREMOVE ??= "buildcpio buildiptables buildgalculator"
 DEFAULT_TEST_SUITES_remove_qemumips = "${MIPSREMOVE}"
 DEFAULT_TEST_SUITES_remove_qemumips64 = "${MIPSREMOVE}"
 
meta/lib/oeqa/runtime/cases/buildcpio.py renamed from meta/lib/oeqa/runtime/cases/buildcvs.py +4 -4
similarity index 83%
rename from meta/lib/oeqa/runtime/cases/buildcvs.py
rename to meta/lib/oeqa/runtime/cases/buildcpio.py
index c3f3acc..59edc9c 100644
@@ -5,12 +5,12 @@ from oeqa.core.decorator.data import skipIfNotFeature
 
 from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
 
-class BuildCvsTest(OERuntimeTestCase):
+class BuildCpioTest(OERuntimeTestCase):
 
     @classmethod
     def setUpClass(cls):
-        uri = 'http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13'
-        uri = '%s/cvs-1.12.13.tar.bz2' % uri
+        uri = 'https://ftp.gnu.org/gnu/cpio'
+        uri = '%s/cpio-2.12.tar.bz2' % uri
         cls.project = TargetBuildProject(cls.tc.target,
                                          uri,
                                          dl_dir = cls.tc.td['DL_DIR'])
@@ -24,7 +24,7 @@ class BuildCvsTest(OERuntimeTestCase):
     @skipIfNotFeature('tools-sdk',
                       'Test requires tools-sdk to be in IMAGE_FEATURES')
     @OETestDepends(['ssh.SSHTest.test_ssh'])
-    def test_cvs(self):
+    def test_cpio(self):
         self.project.run_configure()
         self.project.run_make()
         self.project.run_install()
meta/lib/oeqa/sdk/cases/buildcpio.py renamed from meta/lib/oeqa/sdk/cases/buildcvs.py +4 -4
similarity index 80%
rename from meta/lib/oeqa/sdk/cases/buildcvs.py
rename to meta/lib/oeqa/sdk/cases/buildcpio.py
index 8cbbca1..11d629a 100644
@@ -2,15 +2,15 @@ import unittest
 from oeqa.sdk.case import OESDKTestCase
 from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
 
-class BuildCvsTest(OESDKTestCase):
+class BuildCpioTest(OESDKTestCase):
     td_vars = ['DATETIME']
 
     @classmethod
     def setUpClass(self):
         dl_dir = self.td.get('DL_DIR', None)
 
-        self.project = SDKBuildProject(self.tc.sdk_dir + "/cvs/", self.tc.sdk_env,
-                        "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
+        self.project = SDKBuildProject(self.tc.sdk_dir + "/cpio/", self.tc.sdk_env,
+                        "https://ftp.gnu.org/gnu/cpio/cpio-2.12.tar.bz2",
                         self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
         self.project.download_archive()
 
@@ -18,7 +18,7 @@ class BuildCvsTest(OESDKTestCase):
         if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
             raise unittest.SkipTest("SDK doesn't contain a cross-canadian toolchain")
 
-    def test_cvs(self):
+    def test_cpio(self):
         self.assertEqual(self.project.run_configure(), 0,
                         msg="Running configure failed")
 
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 bitbake.conf: remove vi from HOSTTOOLS list

In reply to brian avery

Having changes the sdk test to cpio from cvs, we no longer require an editor to be present. This patch removes vi from the list of required tools.

---
 meta/conf/bitbake.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/conf/bitbake.conf +1 -1
index 561167a..e03bc57 100644
@@ -466,7 +466,7 @@ HOSTTOOLS += " \
 "
 
 # Tools needed to run testimage runtime image testing
-HOSTTOOLS += "ps stty ip ssh scp ping vi"
+HOSTTOOLS += "ps stty ip ssh scp ping"
 
 # Link to these if present
 HOSTTOOLS_NONFATAL += "ccache ld.bfd ld.gold gcc-ar gpg sftp nc socat"
Signature · 1 line
1.9.1