summaryrefslogtreecommitdiffstats
path: root/meta/classes/webos_test_provider.bbclass
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2018-04-26 09:23:02 +0000
committerMartin Jansa <Martin.Jansa@gmail.com>2019-03-24 11:13:28 +0100
commite45f3d305e25ff2aef9e42697e583e6f69a9b6e6 (patch)
tree0bf698ed62d258d6e05d5a3129dea2e52b2d2121 /meta/classes/webos_test_provider.bbclass
parentc44fc9b620f762ce68441f834e1a157288a488e6 (diff)
downloadopenembedded-core-contrib-e45f3d305e25ff2aef9e42697e583e6f69a9b6e6.tar.gz
meta-webosose: import recipes which often reproduce Yocto #12434
* just temporary to make it easier to reproduce, import big part of meta-webosose and some recipes from meta-oe * luna-init: /luna-init-fonts/usr/share/fonts/PreludeCompWGL-Light.ttf is owned by uid 1001, which is the same as the user running bitbake. This may be due to host contamination * qml-webos-framework: /qml-webos-framework/usr/share/dbus-1/system-services/com.webos.qml-app.service is owned by uid 1101, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated] * to reproduce this you can try to use something like this: export COMP=luna-init; for i in `seq -w 1 999`; do echo $i; bitbake -v -v -DDDD -f -c package ${COMP} 2>${COMP}-logerr.$i >${COMP}-log.$i; bitbake -v -v -DDDD -f -c package_qa ${COMP} 2>${COMP}-logerr.qa.$i >${COMP}-log.qa.$i || { cp -ra BUILD/work/i586-oe-linux/${COMP}/ ${COMP}-workdir-$i; bitbake -c cleansstate ${COMP} ; } done export COMP=qml-webos-framework; for i in `seq -w 1 999`; do echo $i; bitbake -v -v -DDDD -f -c package ${COMP} 2>${COMP}-logerr.$i >${COMP}-log.$i; bitbake -v -v -DDDD -f -c package_qa ${COMP} 2>${COMP}-logerr.qa.$i >${COMP}-log.qa.$i || { cp -ra BUILD/work/i586-oe-linux/${COMP}/ ${COMP}-workdir-$i; bitbake -c cleansstate ${COMP} ; } done Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta/classes/webos_test_provider.bbclass')
-rw-r--r--meta/classes/webos_test_provider.bbclass45
1 files changed, 45 insertions, 0 deletions
diff --git a/meta/classes/webos_test_provider.bbclass b/meta/classes/webos_test_provider.bbclass
new file mode 100644
index 0000000000..1223d50af8
--- /dev/null
+++ b/meta/classes/webos_test_provider.bbclass
@@ -0,0 +1,45 @@
+# Copyright (c) 2014-2018 LG Electronics, Inc.
+#
+# webos_test_provider
+#
+# This class is to be inherited by every recipe whose component is able to build
+# and install unit- or other test scripts based on the build variables
+# WEBOS_CONFIG_BUILD_TESTS and WEBOS_CONFIG_INSTALL_TESTS.
+#
+# For components which also inherit from the webos_cmake bbclass, it adds the
+# following defines to their CMake command lines.
+#
+# -DWEBOS_CONFIG_BUILD_TESTS:BOOL=<TRUE or FALSE>
+# -DWEBOS_CONFIG_INSTALL_TESTS:BOOL=<TRUE or FALSE>
+#
+# By definition, WEBOS_CONFIG_INSTALL_TESTS implies WEBOS_CONFIG_BUILD_TESTS
+# so either one will cause tests to be built.
+#
+
+# Bring in the ptest functionality and packages etc.
+inherit ptest
+inherit webos_filesystem_paths
+
+# (Weakly) set default values for both control variables to ensure they are defined
+#
+# As the tests are placed in their own package, which may or may not be included in
+# a particular image, set the default so that they are always built (i.e. available
+# for inclusion).
+
+WEBOS_CONFIG_BUILD_TESTS[type] = "boolean"
+WEBOS_CONFIG_BUILD_TESTS ??= "${PTEST_ENABLED}"
+WEBOS_CONFIG_INSTALL_TESTS[type] = "boolean"
+WEBOS_CONFIG_INSTALL_TESTS ??= "${PTEST_ENABLED}"
+
+# Pass the control variableis into CMake (will have no effect if component does not use CMake)
+EXTRA_OECMAKE += "-DWEBOS_CONFIG_BUILD_TESTS:BOOL=${@ 'TRUE' if oe.data.typed_value('WEBOS_CONFIG_BUILD_TESTS',d) or oe.data.typed_value('WEBOS_CONFIG_INSTALL_TESTS',d) else 'FALSE' }"
+EXTRA_OECMAKE += "-DWEBOS_CONFIG_INSTALL_TESTS:BOOL=${@ 'TRUE' if oe.data.typed_value('WEBOS_CONFIG_INSTALL_TESTS',d) else 'FALSE' }"
+
+# Ensure tests are installed if they are in the correct place
+FILES_${PN}-ptest += "${webos_testsdir}/${BPN}"
+
+# Bring in the g-lib test runner, as something is bound to use it
+RDEPENDS_${PN}-ptest += "glib-2.0-utils"
+
+# Also, add an RDEPENDS on ptest-runner - saves adding it to a packagegroup
+RDEPENDS_${PN}-ptest += "ptest-runner"