agl-test-framework: add three build modes 58/28858/5
authorYan <yanxk.fnst@fujitsu.com>
Thu, 15 Jun 2023 05:30:40 +0000 (13:30 +0800)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 2 Aug 2023 11:34:25 +0000 (11:34 +0000)
we now add 3 build time modes for users to select:

mode 1: fast
register AGL_TEST_MODE = "fast" into the local.conf,
simply install tests runtime from 0-30 seconds.

mode 2: standard ---> DEFAULT
install tests that gets a runtime from 0 secs to 30 mins.

mode 3: extreme
install all tests.

---Notice---:
we set default to "standard" mode.
If you wish for other modes, put the below comment in your
conf/local.conf:
AGL_TEST_MODE = "fast" or AGL_TEST_MODE = "extreme"

Bug-AGL: SPEC-4753

Signed-off-by: Yan <yanxk.fnst@fujitsu.com>
Change-Id: If11db7ec50171aa69b98e1e656043722e2900182

meta-agl-test/conf/include/agl-extend-test.inc
meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-extreme.bb [new file with mode: 0644]
meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-fast.bb [new file with mode: 0644]
meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-standard.bb [new file with mode: 0644]
meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test.bb [deleted file]
meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bb
meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bbappend [deleted file]
meta-agl-test/recipes-tests/aio-stress/aio-stress_0.22.bb

index eabf2e5..190109d 100644 (file)
@@ -1,2 +1,5 @@
-FEATURE_PACKAGES_agl-test = "packagegroup-agl-extend-test"
+# Set default mode to "standard"
+AGL_TEST_MODE ?= "standard"
+
 IMAGE_FEATURES += "agl-test"
+FEATURE_PACKAGES_agl-test = "packagegroup-agl-extend-test-${AGL_TEST_MODE}"
diff --git a/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-extreme.bb b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-extreme.bb
new file mode 100644 (file)
index 0000000..ca40c08
--- /dev/null
@@ -0,0 +1,15 @@
+DESCRIPTION = "Mode 'extreme' components"
+LICENSE = "Apache-2.0"
+
+inherit packagegroup
+
+PACKAGES = "\
+    packagegroup-agl-extend-test-extreme \
+"
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN} += " \
+    packagegroup-agl-extend-test-standard \
+    agl-test-framework-extreme \
+"
diff --git a/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-fast.bb b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-fast.bb
new file mode 100644 (file)
index 0000000..4579781
--- /dev/null
@@ -0,0 +1,15 @@
+DESCRIPTION = "Mode 'fast' components"
+LICENSE = "Apache-2.0"
+
+inherit packagegroup
+
+PACKAGES = "\
+    packagegroup-agl-extend-test-fast \
+"
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN} += " \
+                    agl-test-framework-base \
+                    agl-test-framework-fast \
+"
diff --git a/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-standard.bb b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-standard.bb
new file mode 100644 (file)
index 0000000..4826085
--- /dev/null
@@ -0,0 +1,15 @@
+DESCRIPTION = "Mode 'standard' components"
+LICENSE = "Apache-2.0"
+
+inherit packagegroup
+
+PACKAGES = "\
+    packagegroup-agl-extend-test-standard \
+"
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN} += " \
+    packagegroup-agl-extend-test-fast \
+    agl-test-framework-standard \
+"
diff --git a/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test.bb b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test.bb
deleted file mode 100644 (file)
index b4401ac..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Agl Extend Test Group"
-LICENSE = "Apache-2.0"
-
-inherit packagegroup
-
-PACKAGES = "\
-    packagegroup-agl-extend-test \
-"
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += " \
-    agl-test-framework \
-    aio-stress \
-    stress-ng \
-    ltp \
-    linus-stress \
-"
index 81cd487..a9bc236 100644 (file)
@@ -7,15 +7,46 @@ PN = 'agl-test-framework'
 PV = '1'
 
 SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-test-framework;protocol=https;branch=master"
-SRCREV = "eae50bd0b48073716ed5490ea74095fd52e4f2c0"
+SRCREV = "fbae7ac31fd2a895f74c4c57508662eec15f40c1"
 
 S = "${WORKDIR}/git"
 
-FILES:${PN} += " \
-        /usr/AGL/agl-test/ \
+# Notice:
+# This is the list of all installed tests
+#       On the installing board, if you get dirpath like:
+#         /usr/AGL/agl-test/tests/bc/
+#           Then, the test name here you should write down: bc
+#       If you are installing LTP related files:
+#         /usr/AGL/agl-test/tests/LTP/syscalls/
+#           Then, the test name here you should write down: LTP/syscalls
+#
+FRAMEWORK_INSTALL_LIST = " \
+    aio_stress \
+    bash \
+    bc \
+    busybox \
+    bzip2 \
+    crashme \
+    expat \
+    gdk_pixbuf \
+    glib2 \
+    json_glib \
+    libpam \
+    libxml2 \
+    linus_stress \
+    LTP/math \
+    LTP/cve \
+    LTP/posix_conformance_tests \
+    LTP/syscalls \
+    openssl \
+    python3 \
+    stress_ng \
+    zlib \
 "
 
-do_install() {
+# Function of the structure installation
+install_framework () {
+    # basic essential pytest structure
     install -d ${D}/usr/bin/
     install -m 0755 ${WORKDIR}/git/agl-test ${D}/usr/bin/
     install -d ${D}/usr/AGL/agl-test/plugins/
@@ -25,10 +56,113 @@ do_install() {
     install -m 0644 ${WORKDIR}/git/template/* ${D}/usr/AGL/agl-test/template/
     install -d ${D}/usr/AGL/agl-test/tests/
     install -m 0644 ${WORKDIR}/git/tests/__init__.py ${D}/usr/AGL/agl-test/tests/
+    install -d ${D}/usr/AGL/agl-test/tests/LTP/
+    install -m 0644 ${WORKDIR}/git/tests/LTP/*py ${D}/usr/AGL/agl-test/tests/LTP/
+}
+
+# Function of the test file installation
+install_test_files () {
+    for test_name in ${FRAMEWORK_INSTALL_LIST}; do
+        # Step 1 : install basic python files (no check, this is common installation)
+        install -d ${D}/usr/AGL/agl-test/tests/${test_name}
+        install -m 0644 ${WORKDIR}/git/tests/${test_name}/*.py ${D}/usr/AGL/agl-test/tests/${test_name}/
+
+        # Step 2 : install spec.json (check first, not common)
+        if [ -f "${WORKDIR}/git/tests/${test_name}/spec.json" ];then
+            install -m 0644 ${WORKDIR}/git/tests/${test_name}/spec.json ${D}/usr/AGL/agl-test/tests/${test_name}
+        fi
+
+        # Step 3 : install the resource folder (check first, not common)
+        if [ -d "${WORKDIR}/git/tests/${test_name}/resource/" ];then
+            install -d ${D}/usr/AGL/agl-test/tests/${test_name}/resource
+            install -m 0644 ${WORKDIR}/git/tests/${test_name}/resource/* ${D}/usr/AGL/agl-test/tests/${test_name}/resource/
+        fi
+    done
+}
+
+# install agl-test-framework
+do_install() {
+    install_framework
+    install_test_files
 }
 
-RDEPENDS:${PN} += " \
-       python3-pytest \
-       python3-jinja2 \
-       python3-pytest-order \
+# Override PACKAGES
+# base: basic structure of the agl-test-framework along with pytest modules
+# fast: fast mode packages
+# standard: standard mode packages
+# extreme: extreme mode packages
+#
+PACKAGES = " \
+    ${PN}-base \
+    ${PN}-fast \
+    ${PN}-standard \
+    ${PN}-extreme \
+"
+
+# Filter for basic structure
+FILES:${PN}-base += " \
+    /usr/AGL/agl-test/plugins/* \
+    /usr/AGL/agl-test/pytest.ini \
+    /usr/AGL/agl-test/template/* \
+    /usr/AGL/agl-test/tests/LTP/agl_test_ltp_base.py \
+    /usr/AGL/agl-test/tests/LTP/__init__.py \
+    /usr/AGL/agl-test/tests/__init__.py \
+    /usr/bin/agl-test \
+"
+
+# Filter for fase mode
+FILES:${PN}-fast = " \
+     /usr/AGL/agl-test/tests/aio_stress/* \
+     /usr/AGL/agl-test/tests/bc/* \
+     /usr/AGL/agl-test/tests/expat/* \
+     /usr/AGL/agl-test/tests/gdk_pixbuf/* \
+     /usr/AGL/agl-test/tests/json_glib/* \
+     /usr/AGL/agl-test/tests/libpam/* \
+     /usr/AGL/agl-test/tests/LTP/math/* \
+     /usr/AGL/agl-test/tests/stress_ng/* \
+     /usr/AGL/agl-test/tests/zlib/* \
+"
+
+# Filter for standard mode
+FILES:${PN}-standard = " \
+     /usr/AGL/agl-test/tests/bash/* \
+     /usr/AGL/agl-test/tests/busybox/* \
+     /usr/AGL/agl-test/tests/bzip2/* \
+     /usr/AGL/agl-test/tests/crashme/* \
+     /usr/AGL/agl-test/tests/glib2/* \
+     /usr/AGL/agl-test/tests/libxml2/* \
+     /usr/AGL/agl-test/tests/linus_stress/* \
+     /usr/AGL/agl-test/tests/LTP/cve/* \
+     /usr/AGL/agl-test/tests/LTP/posix_conformance_tests/* \
+     /usr/AGL/agl-test/tests/openssl/* \
+"
+
+# Filter for extreme mode
+FILES:${PN}-extreme = " \
+     /usr/AGL/agl-test/tests/python3/* \
+     /usr/AGL/agl-test/tests/LTP/syscalls/* \
+"
+
+# Runtime dependency for basic structure
+RDEPENDS:${PN}-base += " \
+    python3-jinja2 \
+    python3-pytest \
+    python3-pytest-order \
+"
+
+# Runtime dependency for fast mode package
+RDEPENDS:${PN}-fast += " \
+    ltp \
+    aio-stress \
+    stress-ng \
+"
+
+# Runtime dependency for standard mode packages
+RDEPENDS:${PN}-standard += " \
+    linus-stress \
+"
+
+# Runtime dependency for extreme mode packages
+RDEPENDS:${PN}-extreme += " \
+    \
 "
diff --git a/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bbappend b/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bbappend
deleted file mode 100644 (file)
index def49bb..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-#LTP
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/LTP/
-    install -m 0644 ${WORKDIR}/git/tests/LTP/*py ${D}/usr/AGL/agl-test/tests/LTP/
-
-    #cve
-    install -d ${D}/usr/AGL/agl-test/tests/LTP/cve/
-    install -m 0644 ${WORKDIR}/git/tests/LTP/cve/* ${D}/usr/AGL/agl-test/tests/LTP/cve/
-
-    #math
-    install -d ${D}/usr/AGL/agl-test/tests/LTP/math/
-    install -m 0644 ${WORKDIR}/git/tests/LTP/math/* ${D}/usr/AGL/agl-test/tests/LTP/math/
-
-    #posix_conformance_tests
-    install -d ${D}/usr/AGL/agl-test/tests/LTP/posix_conformance_tests/
-    install -m 0644 ${WORKDIR}/git/tests/LTP/posix_conformance_tests/* ${D}/usr/AGL/agl-test/tests/LTP/posix_conformance_tests/
-
-    #syscalls
-    install -d ${D}/usr/AGL/agl-test/tests/LTP/syscalls/resource
-    install -m 0644 ${WORKDIR}/git/tests/LTP/syscalls/*py ${D}/usr/AGL/agl-test/tests/LTP/syscalls/
-    install -m 0644 ${WORKDIR}/git/tests/LTP/syscalls/resource/* ${D}/usr/AGL/agl-test/tests/LTP/syscalls/resource/
-}
-
-#acl
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/acl/
-    install -m 0644 ${WORKDIR}/git/tests/acl/* ${D}/usr/AGL/agl-test/tests/acl/
-}
-
-#aio_stress
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/aio_stress/
-    install -m 0644 ${WORKDIR}/git/tests/aio_stress/* ${D}/usr/AGL/agl-test/tests/aio_stress/
-}
-
-#attr
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/attr/
-    install -m 0644 ${WORKDIR}/git/tests/attr/* ${D}/usr/AGL/agl-test/tests/attr/
-}
-
-#babeltrace
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/babeltrace/
-    install -m 0644 ${WORKDIR}/git/tests/babeltrace/* ${D}/usr/AGL/agl-test/tests/babeltrace/
-}
-
-#babeltrace2
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/babeltrace2/
-    install -m 0644 ${WORKDIR}/git/tests/babeltrace2/* ${D}/usr/AGL/agl-test/tests/babeltrace2/
-}
-
-#bash
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/bash/
-    install -m 0644 ${WORKDIR}/git/tests/bash/* ${D}/usr/AGL/agl-test/tests/bash/
-}
-
-#bc
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/bc/
-    install -m 0644 ${WORKDIR}/git/tests/bc/* ${D}/usr/AGL/agl-test/tests/bc/
-}
-
-#bluez5
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/bluez5/
-    install -m 0644 ${WORKDIR}/git/tests/bluez5/* ${D}/usr/AGL/agl-test/tests/bluez5/
-}
-
-#busybox
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/busybox/resource/
-    install -m 0644 ${WORKDIR}/git/tests/busybox/*py ${D}/usr/AGL/agl-test/tests/busybox/
-    install -m 0644 ${WORKDIR}/git/tests/busybox/resource/* ${D}/usr/AGL/agl-test/tests/busybox/resource/
-}
-
-#bzip2
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/bzip2/
-    install -m 0644 ${WORKDIR}/git/tests/bzip2/* ${D}/usr/AGL/agl-test/tests/bzip2/
-}
-
-#coreutils
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/coreutils/
-    install -m 0644 ${WORKDIR}/git/tests/coreutils/* ${D}/usr/AGL/agl-test/tests/coreutils/
-}
-
-#cpio
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/cpio/
-    install -m 0644 ${WORKDIR}/git/tests/cpio/* ${D}/usr/AGL/agl-test/tests/cpio/
-}
-
-#crashme
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/crashme/
-    install -m 0644 ${WORKDIR}/git/tests/crashme/* ${D}/usr/AGL/agl-test/tests/crashme/
-}
-
-#diffutils
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/diffutils/
-    install -m 0644 ${WORKDIR}/git/tests/diffutils/* ${D}/usr/AGL/agl-test/tests/diffutils/
-}
-
-#e2fsprogs
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/e2fsprogs/
-    install -m 0644 ${WORKDIR}/git/tests/e2fsprogs/* ${D}/usr/AGL/agl-test/tests/e2fsprogs/
-}
-
-#expat
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/expat/
-    install -m 0644 ${WORKDIR}/git/tests/expat/* ${D}/usr/AGL/agl-test/tests/expat/
-}
-
-#gdbm
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/gdbm/
-    install -m 0644 ${WORKDIR}/git/tests/gdbm/* ${D}/usr/AGL/agl-test/tests/gdbm/
-}
-
-#gdk_pixbuf
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/gdk_pixbuf/
-    install -m 0644 ${WORKDIR}/git/tests/gdk_pixbuf/* ${D}/usr/AGL/agl-test/tests/gdk_pixbuf/
-}
-
-#glib2
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/glib2/
-    install -m 0644 ${WORKDIR}/git/tests/glib2/* ${D}/usr/AGL/agl-test/tests/glib2/
-}
-
-#gstreamer
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/gstreamer/
-    install -m 0644 ${WORKDIR}/git/tests/gstreamer/* ${D}/usr/AGL/agl-test/tests/gstreamer/
-}
-
-#json_glib
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/json_glib/
-    install -m 0644 ${WORKDIR}/git/tests/json_glib/* ${D}/usr/AGL/agl-test/tests/json_glib/
-}
-
-#libpam
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/libpam/
-    install -m 0644 ${WORKDIR}/git/tests/libpam/* ${D}/usr/AGL/agl-test/tests/libpam/
-}
-
-#libxml2
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/libxml2/
-    install -m 0644 ${WORKDIR}/git/tests/libxml2/* ${D}/usr/AGL/agl-test/tests/libxml2/
-}
-
-#linus_stress
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/linus_stress/
-    install -m 0644 ${WORKDIR}/git/tests/linus_stress/* ${D}/usr/AGL/agl-test/tests/linus_stress/
-}
-
-#lua
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/lua/
-    install -m 0644 ${WORKDIR}/git/tests/lua/* ${D}/usr/AGL/agl-test/tests/lua/
-}
-
-#lz4
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/lz4/
-    install -m 0644 ${WORKDIR}/git/tests/lz4/* ${D}/usr/AGL/agl-test/tests/lz4/
-}
-
-#openssl
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/openssl/
-    install -m 0644 ${WORKDIR}/git/tests/openssl/* ${D}/usr/AGL/agl-test/tests/openssl/
-}
-
-#python3
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/python3/
-    install -m 0644 ${WORKDIR}/git/tests/python3/* ${D}/usr/AGL/agl-test/tests/python3/
-}
-
-#stress_ng
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/stress_ng/
-    install -m 0644 ${WORKDIR}/git/tests/stress_ng/* ${D}/usr/AGL/agl-test/tests/stress_ng/
-}
-
-#zlib
-do_install:append() {
-    install -d ${D}/usr/AGL/agl-test/tests/zlib/
-    install -m 0644 ${WORKDIR}/git/tests/zlib/* ${D}/usr/AGL/agl-test/tests/zlib/
-}
index d014ca1..b087342 100644 (file)
@@ -27,7 +27,3 @@ do_install:append() {
     install -d ${D}/usr/AGL/agl-test/tests/aio_stress/resource/
     install -m 0755 ${WORKDIR}/aio-stress ${D}/usr/AGL/agl-test/tests/aio_stress/resource/
 }
-
-RDEPENDS:${PN} += " \
-    agl-test-framework \
-"