[OE-core] [PATCH v8 16/16] oeqa: add selftest for python pgo

Markus Lehtonen markus.lehtonen at linux.intel.com
Mon Nov 27 12:07:00 UTC 2017


Check that we're able to run python profile task on qemu and that python
builds when pgo is enabled.

[YOCTO #9338]

Signed-off-by: Markus Lehtonen <markus.lehtonen at linux.intel.com>
---
 meta/lib/oeqa/selftest/cases/python.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 meta/lib/oeqa/selftest/cases/python.py

diff --git a/meta/lib/oeqa/selftest/cases/python.py b/meta/lib/oeqa/selftest/cases/python.py
new file mode 100644
index 0000000000..3a7edd1b88
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/python.py
@@ -0,0 +1,28 @@
+import os
+import shutil
+
+from oeqa.selftest.case import OESelftestTestCase
+from oeqa.utils.commands import bitbake, get_bb_vars, runCmd
+
+
+class PythonTests(OESelftestTestCase):
+
+    def test_python_pgo(self):
+        bbvars = get_bb_vars(['TMPDIR', 'MACHINE'])
+        profile_dir = os.path.join(bbvars['TMPDIR'], 'oeqa', bbvars['MACHINE'], 'python3-pgo-data')
+
+        self.write_config("""
+PYTHON3_PROFILE_OPT = "1"
+PYTHON3_PROFILE_TASK = "-m test.regrtest test_abc"
+PYTHON3_PROFILE_DIR = "{}"
+""".format(profile_dir))
+
+        profile_file = os.path.join(profile_dir, 'Objects', 'object.gcda')
+
+        bitbake('python-pgo-image -cprofile')
+
+        # Check that profile task generated a file
+        self.assertTrue(os.path.isfile(profile_file))
+
+        # Check that python builds with pgo enabled
+        bitbake('python3')
-- 
2.13.6




More information about the Openembedded-core mailing list