[oe-commits] [openembedded-core] 13/15: oeqa/sdk/galculator: rewrite to use new helpers

git at git.openembedded.org git at git.openembedded.org
Sat Dec 8 17:18:19 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 0246f15892cf523276ae074c92f9d6031d37dab7
Author: Ross Burton <ross.burton at intel.com>
AuthorDate: Fri Dec 7 21:26:05 2018 +0000

    oeqa/sdk/galculator: rewrite to use new helpers
---
 meta/lib/oeqa/sdk/cases/buildgalculator.py | 47 +++++++++++++++++-------------
 1 file changed, 27 insertions(+), 20 deletions(-)

diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 9e12b3a..7beb558 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -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"))

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list