From fe8c4a516b3bff5f531caebd43c1f1ac137b9959 Mon Sep 17 00:00:00 2001 From: Yan Date: Thu, 15 Jun 2023 13:30:40 +0800 Subject: agl-test-framework: add three build modes 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 Change-Id: If11db7ec50171aa69b98e1e656043722e2900182 --- meta-agl-test/conf/include/agl-extend-test.inc | 5 +- .../packagegroup-agl-extend-test-extreme.bb | 15 ++ .../packagegroup-agl-extend-test-fast.bb | 15 ++ .../packagegroup-agl-extend-test-standard.bb | 15 ++ .../packagegroup/packagegroup-agl-extend-test.bb | 18 -- .../agl-test-framework/agl-test-framework.bb | 150 ++++++++++++++- .../agl-test-framework/agl-test-framework.bbappend | 203 --------------------- .../recipes-tests/aio-stress/aio-stress_0.22.bb | 4 - 8 files changed, 191 insertions(+), 234 deletions(-) create mode 100644 meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-extreme.bb create mode 100644 meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-fast.bb create mode 100644 meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-standard.bb delete mode 100644 meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test.bb delete mode 100644 meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bbappend diff --git a/meta-agl-test/conf/include/agl-extend-test.inc b/meta-agl-test/conf/include/agl-extend-test.inc index eabf2e5d..190109d4 100644 --- a/meta-agl-test/conf/include/agl-extend-test.inc +++ b/meta-agl-test/conf/include/agl-extend-test.inc @@ -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 index 00000000..ca40c086 --- /dev/null +++ b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-extreme.bb @@ -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 index 00000000..4579781f --- /dev/null +++ b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-fast.bb @@ -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 index 00000000..48260856 --- /dev/null +++ b/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test-standard.bb @@ -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 index b4401ac1..00000000 --- a/meta-agl-test/recipes-platform/packagegroup/packagegroup-agl-extend-test.bb +++ /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 \ -" diff --git a/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bb b/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bb index 81cd4874..a9bc236f 100644 --- a/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bb +++ b/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bb @@ -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 index def49bb6..00000000 --- a/meta-agl-test/recipes-tests/agl-test-framework/agl-test-framework.bbappend +++ /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/ -} diff --git a/meta-agl-test/recipes-tests/aio-stress/aio-stress_0.22.bb b/meta-agl-test/recipes-tests/aio-stress/aio-stress_0.22.bb index d014ca13..b087342d 100644 --- a/meta-agl-test/recipes-tests/aio-stress/aio-stress_0.22.bb +++ b/meta-agl-test/recipes-tests/aio-stress/aio-stress_0.22.bb @@ -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 \ -" -- cgit 1.2.3-korg