]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/sdk/galculator: rewrite to use new helpers
authorRoss Burton <ross.burton@intel.com>
Fri, 7 Dec 2018 21:26:05 +0000 (21:26 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 8 Dec 2018 17:16:55 +0000 (17:16 +0000)
meta/lib/oeqa/sdk/cases/buildgalculator.py

index 9e12b3ac10deb52f120bdd4380c29e32018ccba3..7beb55884d33d6da93c096e290782ec76aedddaa 100644 (file)
@@ -1,8 +1,16 @@
+import os
+import subprocess
+import tempfile
 import unittest
 
+import bb
+
 from oeqa.sdk.case import OESDKTestCase
 from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
 
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
 class GalculatorTest(OESDKTestCase):
     td_vars = ['DATETIME']
 
@@ -14,23 +22,22 @@ class GalculatorTest(OESDKTestCase):
             raise unittest.SkipTest("GalculatorTest class: SDK doesn't contain gettext")
 
     def test_galculator(self):
-        dl_dir = self.td.get('DL_DIR', None)
-        project = None
-        try:
-            project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
-                                      self.tc.sdk_env,
-                                      "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
-                                      self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
-
-            project.download_archive()
-
-            # regenerate configure to get support for --with-libtool-sysroot
-            legacy_preconf=("autoreconf -i -f -I ${OECORE_TARGET_SYSROOT}/usr/share/aclocal -I m4;")
-
-            self.assertEqual(project.run_configure(extra_cmds=legacy_preconf),
-                             0, msg="Running configure failed")
-
-            self.assertEqual(project.run_make(), 0,
-                            msg="Running make failed")
-        finally:
-            project.clean()
+        with tempfile.TemporaryDirectory(prefix="galculator", dir=self.tc.sdk_dir) as testdir:
+            dl_dir = self.td.get('DL_DIR', None)
+            tarball = self.fetch(testdir, dl_dir, "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
+
+            dirs = {}
+            dirs["source"] = os.path.join(testdir, "galculator-2.1.4")
+            dirs["build"] = os.path.join(testdir, "build")
+            dirs["install"] = os.path.join(testdir, "install")
+
+            subprocess.check_output(["tar", "xf", tarball, "-C", testdir])
+            self.assertTrue(os.path.isdir(dirs["source"]))
+
+            bb.utils.mkdirhier(dirs["build"])
+            self._run("cd {source} && autoreconf -i -f -I $OECORE_TARGET_SYSROOT/usr/share/aclocal -I m4".format(**dirs))
+            self._run("cd {build} && {source}/configure $CONFIGURE_FLAGS".format(**dirs))
+            self._run("cd {build} && make -j".format(**dirs))
+            self._run("cd {build} && make install DESTDIR={install}".format(**dirs))
+
+            self.check_elf(os.path.join(dirs["install"], "usr", "local", "bin", "galculator"))