aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/lib/oeqa/selftest/cases/python.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/meta/lib/oeqa/selftest/cases/python.py b/meta/lib/oeqa/selftest/cases/python.py
new file mode 100644
index 00000000000..9379c428f55
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/python.py
@@ -0,0 +1,29 @@
+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 -ccleansstate')
+ 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')