* [meta-oe][PATCH] rsyslog: fix some of the ptests
@ 2021-03-26 3:06 Yi Fan Yu
2021-03-27 2:44 ` [oe] " Khem Raj
0 siblings, 1 reply; 2+ messages in thread
From: Yi Fan Yu @ 2021-03-26 3:06 UTC (permalink / raw)
To: openembedded-devel
Run test as non-root 'tester'.
Add more rdepends for ptest.
Introduce a patch to skip checking for a libc header:
sys/inotify
Python scripts no longer called with ./script.
Remove the need for to patch shebang.
Ptest results:
8.2102.0
===============
TOTAL: 424
PASS: 417
SKIP: 5
XFAIL: 0
FAIL: 2
XPASS: 0
ERROR: 0
Remaining failure related to relp:
* imrelp-tls-cfgcmd
* sndrcv_relp_tls-cfgcmd
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
---
...-tests-disable-the-check-for-inotify.patch | 46 +++++++++++++++++++
.../rsyslog/rsyslog/run-ptest | 6 ++-
.../rsyslog/rsyslog_8.2102.0.bb | 15 +++---
3 files changed, 60 insertions(+), 7 deletions(-)
create mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
new file mode 100644
index 000000000..221d70e63
--- /dev/null
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
@@ -0,0 +1,46 @@
+From 2d45f4b90bdc42f515764ae28bf62ab8fa23531d Mon Sep 17 00:00:00 2001
+From: Yi Fan Yu <yifan.yu@windriver.com>
+Date: Wed, 10 Mar 2021 14:47:21 -0500
+Subject: [PATCH] tests: disable the check for inotify
+
+We don't need to check inotify.h.
+Assume it is present since it is part of the linux kernel
+since 2.6.13 [1].
+
+[1](https://kernelnewbies.org/Linux_2_6_13)
+
+(it would require installing the libc headers otherwise,
+ for the test to detect /usr/include/sys/inotify.h.)
+
+Upstream-Status: Not Applicable [OE-specific]
+
+Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
+---
+ tests/diag.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/diag.sh b/tests/diag.sh
+index 0739bdb74..7a0176bd6 100755
+--- a/tests/diag.sh
++++ b/tests/diag.sh
+@@ -2679,7 +2679,7 @@ case $1 in
+ fi
+ ;;
+ 'check-inotify') # Check for inotify/fen support
+- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then
++ if true; then
+ echo [inotify mode]
+ elif [ -n "$(find /usr/include/sys/ -name 'port.h' -print -quit)" ]; then
+ grep -qF "PORT_SOURCE_FILE" < /usr/include/sys/port.h
+@@ -2694,7 +2694,7 @@ case $1 in
+ fi
+ ;;
+ 'check-inotify-only') # Check for ONLY inotify support
+- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then
++ if true; then
+ echo [inotify mode]
+ else
+ echo [inotify not supported, skipping...]
+--
+2.29.2
+
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
index aa698d85c..efa9ba3ed 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
@@ -5,4 +5,8 @@ set -o pipefail
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
cd ${SCRIPTPATH}
-make -C tests -k check-TESTS
+useradd tester || echo "user already exists"
+ln -sf /usr/sbin/logrotate /usr/bin/logrotate
+su tester -c "make -C tests -k check-TESTS"
+userdel tester
+rm -f /usr/bin/logrotate
diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
index 22059d140..921124024 100644
--- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
+++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
@@ -24,6 +24,7 @@ SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.t
file://rsyslog.service \
file://use-pkgconfig-to-check-libgcrypt.patch \
file://run-ptest \
+ file://0001-tests-disable-the-check-for-inotify.patch \
"
SRC_URI_append_libc-musl = " \
@@ -80,11 +81,6 @@ PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind,"
PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb,"
-do_configure_prepend() {
- sed -i -e 's|python |python3 |g' ${S}/tests/*.sh
- sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/*.py
- sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/testsuites/*.py
-}
TESTDIR = "tests"
do_compile_ptest() {
@@ -97,6 +93,10 @@ do_install_ptest() {
cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
+ # give permissions to all users
+ # some tests need to write to this directory as user 'daemon'
+ chmod 777 -R ${D}${PTEST_PATH}/tests
+
# do NOT need to rebuild Makefile itself
sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
# do NOT need to rebuild $(check_PROGRAMS)
@@ -195,8 +195,11 @@ VALGRIND_libc-musl_powerpc64le = ''
VALGRIND_riscv64 = ""
VALGRIND_riscv32 = ""
+# util-linux: logger needs the -d option
RDEPENDS_${PN}-ptest += "\
make diffutils gzip bash gawk coreutils procps \
- libgcc python3-core python3-io \
+ libgcc python3-core python3-io python3-json \
+ curl util-linux shadow \
"
+
RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
--
2.29.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [oe] [meta-oe][PATCH] rsyslog: fix some of the ptests
2021-03-26 3:06 [meta-oe][PATCH] rsyslog: fix some of the ptests Yi Fan Yu
@ 2021-03-27 2:44 ` Khem Raj
0 siblings, 0 replies; 2+ messages in thread
From: Khem Raj @ 2021-03-27 2:44 UTC (permalink / raw)
To: Yi Fan Yu; +Cc: openembeded-devel
fails to patch
https://errors.yoctoproject.org/Errors/Details/574583/
On Thu, Mar 25, 2021 at 8:07 PM Yi Fan Yu <yifan.yu@windriver.com> wrote:
>
> Run test as non-root 'tester'.
> Add more rdepends for ptest.
>
> Introduce a patch to skip checking for a libc header:
> sys/inotify
>
> Python scripts no longer called with ./script.
> Remove the need for to patch shebang.
> Ptest results:
>
> 8.2102.0
> ===============
> TOTAL: 424
> PASS: 417
> SKIP: 5
> XFAIL: 0
> FAIL: 2
> XPASS: 0
> ERROR: 0
>
> Remaining failure related to relp:
> * imrelp-tls-cfgcmd
> * sndrcv_relp_tls-cfgcmd
>
> Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
> ---
> ...-tests-disable-the-check-for-inotify.patch | 46 +++++++++++++++++++
> .../rsyslog/rsyslog/run-ptest | 6 ++-
> .../rsyslog/rsyslog_8.2102.0.bb | 15 +++---
> 3 files changed, 60 insertions(+), 7 deletions(-)
> create mode 100644 meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
>
> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
> new file mode 100644
> index 000000000..221d70e63
> --- /dev/null
> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/0001-tests-disable-the-check-for-inotify.patch
> @@ -0,0 +1,46 @@
> +From 2d45f4b90bdc42f515764ae28bf62ab8fa23531d Mon Sep 17 00:00:00 2001
> +From: Yi Fan Yu <yifan.yu@windriver.com>
> +Date: Wed, 10 Mar 2021 14:47:21 -0500
> +Subject: [PATCH] tests: disable the check for inotify
> +
> +We don't need to check inotify.h.
> +Assume it is present since it is part of the linux kernel
> +since 2.6.13 [1].
> +
> +[1](https://kernelnewbies.org/Linux_2_6_13)
> +
> +(it would require installing the libc headers otherwise,
> + for the test to detect /usr/include/sys/inotify.h.)
> +
> +Upstream-Status: Not Applicable [OE-specific]
> +
> +Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
> +---
> + tests/diag.sh | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/tests/diag.sh b/tests/diag.sh
> +index 0739bdb74..7a0176bd6 100755
> +--- a/tests/diag.sh
> ++++ b/tests/diag.sh
> +@@ -2679,7 +2679,7 @@ case $1 in
> + fi
> + ;;
> + 'check-inotify') # Check for inotify/fen support
> +- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then
> ++ if true; then
> + echo [inotify mode]
> + elif [ -n "$(find /usr/include/sys/ -name 'port.h' -print -quit)" ]; then
> + grep -qF "PORT_SOURCE_FILE" < /usr/include/sys/port.h
> +@@ -2694,7 +2694,7 @@ case $1 in
> + fi
> + ;;
> + 'check-inotify-only') # Check for ONLY inotify support
> +- if [ -n "$(find /usr/include -name 'inotify.h' -print -quit)" ]; then
> ++ if true; then
> + echo [inotify mode]
> + else
> + echo [inotify not supported, skipping...]
> +--
> +2.29.2
> +
> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
> index aa698d85c..efa9ba3ed 100644
> --- a/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog/run-ptest
> @@ -5,4 +5,8 @@ set -o pipefail
>
> SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
> cd ${SCRIPTPATH}
> -make -C tests -k check-TESTS
> +useradd tester || echo "user already exists"
> +ln -sf /usr/sbin/logrotate /usr/bin/logrotate
> +su tester -c "make -C tests -k check-TESTS"
> +userdel tester
> +rm -f /usr/bin/logrotate
> diff --git a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
> index 22059d140..921124024 100644
> --- a/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
> +++ b/meta-oe/recipes-extended/rsyslog/rsyslog_8.2102.0.bb
> @@ -24,6 +24,7 @@ SRC_URI = "http://www.rsyslog.com/download/files/download/rsyslog/${BPN}-${PV}.t
> file://rsyslog.service \
> file://use-pkgconfig-to-check-libgcrypt.patch \
> file://run-ptest \
> + file://0001-tests-disable-the-check-for-inotify.patch \
> "
>
> SRC_URI_append_libc-musl = " \
> @@ -80,11 +81,6 @@ PACKAGECONFIG[mail] = "--enable-mail,--disable-mail,,"
> PACKAGECONFIG[valgrind] = ",--without-valgrind-testbench,valgrind,"
> PACKAGECONFIG[imhttp] = "--enable-imhttp,--disable-imhttp,civetweb,"
>
> -do_configure_prepend() {
> - sed -i -e 's|python |python3 |g' ${S}/tests/*.sh
> - sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/*.py
> - sed -i -e 's|/usr/bin/env python|/usr/bin/env python3|g' ${S}/tests/testsuites/*.py
> -}
>
> TESTDIR = "tests"
> do_compile_ptest() {
> @@ -97,6 +93,10 @@ do_install_ptest() {
> cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}
> cp -rf ${B}/${TESTDIR} ${D}${PTEST_PATH}
>
> + # give permissions to all users
> + # some tests need to write to this directory as user 'daemon'
> + chmod 777 -R ${D}${PTEST_PATH}/tests
> +
> # do NOT need to rebuild Makefile itself
> sed -i 's/^Makefile:.*$/Makefile:/' ${D}${PTEST_PATH}/${TESTDIR}/Makefile
> # do NOT need to rebuild $(check_PROGRAMS)
> @@ -195,8 +195,11 @@ VALGRIND_libc-musl_powerpc64le = ''
> VALGRIND_riscv64 = ""
> VALGRIND_riscv32 = ""
>
> +# util-linux: logger needs the -d option
> RDEPENDS_${PN}-ptest += "\
> make diffutils gzip bash gawk coreutils procps \
> - libgcc python3-core python3-io \
> + libgcc python3-core python3-io python3-json \
> + curl util-linux shadow \
> "
> +
> RRECOMMENDS_${PN}-ptest += "${TCLIBC}-dbg ${VALGRIND}"
> --
> 2.29.2
>
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-03-27 2:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-26 3:06 [meta-oe][PATCH] rsyslog: fix some of the ptests Yi Fan Yu
2021-03-27 2:44 ` [oe] " Khem Raj
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.