diff options
| author | Khem Raj <raj.khem@gmail.com> | 2023-09-08 18:56:02 -0700 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2023-10-18 05:25:19 -1000 |
| commit | 5aaae18b8943d167e7b97dd96cf3dccd26e77d95 (patch) | |
| tree | e8d9011c78851bd5e300eeefdf81f3660e6987b9 | |
| parent | 04296bff893dd92aaa8918cf9c36feb31485a0bd (diff) | |
| download | poky-5aaae18b8943d167e7b97dd96cf3dccd26e77d95.tar.gz | |
libc-test: Run as non-root user
Some of tests impose rlimit on it before running which wont be imposed
when running as root user.
Fixes
src/regression/pthread_atfork-errno-clobber.c:23: (pid = fork()) == -1 failed: fork succeeded despite rlimit
src/regression/pthread_atfork-errno-clobber.c:23: (pid = fork()) == -1 failed: fork succeeded despite rlimit
FAIL src/regression/pthread_atfork-errno-clobber-static.exe [status 1]
(From OE-Core rev: 16075f19b49cb23ead2dec6746d2be6773ae4ae7)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
(cherry picked from commit 585bf4b780a8ad60ba2b33cede4f0092ff61ddfc)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
| -rw-r--r-- | meta/recipes-core/musl/libc-test/run-libc-ptests | 28 | ||||
| -rw-r--r-- | meta/recipes-core/musl/libc-test/run-ptest | 29 | ||||
| -rw-r--r-- | meta/recipes-core/musl/libc-test_git.bb | 5 |
3 files changed, 35 insertions, 27 deletions
diff --git a/meta/recipes-core/musl/libc-test/run-libc-ptests b/meta/recipes-core/musl/libc-test/run-libc-ptests new file mode 100644 index 0000000000..0b4b687dec --- /dev/null +++ b/meta/recipes-core/musl/libc-test/run-libc-ptests | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | |||
| 3 | set -e | ||
| 4 | |||
| 5 | cd /opt/libc-test | ||
| 6 | make cleanall | ||
| 7 | make run || true | ||
| 8 | |||
| 9 | echo "" | ||
| 10 | echo "--- ptest result ---" | ||
| 11 | # libc-test runs tests by module(e.g. src/api) and generates sub-module test | ||
| 12 | # report(e.g. src/api/REPORT) first. After all tests finish, it generates the | ||
| 13 | # consolidated report file src/REPORT. | ||
| 14 | report="/opt/libc-test/src/REPORT" | ||
| 15 | if ! [ -f "${report}" ]; then | ||
| 16 | echo "${report} not found!" | ||
| 17 | echo "FAIL: libc-test" | ||
| 18 | exit 1 | ||
| 19 | # libc-test prints error on failure and prints nothing on success. | ||
| 20 | elif grep -q '^FAIL src.*\.exe.*' "${report}"; then | ||
| 21 | # Print test failure in ptest format. | ||
| 22 | # e.g. "FAIL src/api/main.exe [status 1]" -> "FAIL: api_main" | ||
| 23 | grep '^FAIL src.*\.exe.*' "${report}" \ | ||
| 24 | | sed 's|^FAIL src/|FAIL: |;s|/|_|;s|\.exe.*\]||' | ||
| 25 | exit 1 | ||
| 26 | else | ||
| 27 | echo "PASS: libc-test" | ||
| 28 | fi | ||
diff --git a/meta/recipes-core/musl/libc-test/run-ptest b/meta/recipes-core/musl/libc-test/run-ptest index 0b4b687dec..53cd34f506 100644 --- a/meta/recipes-core/musl/libc-test/run-ptest +++ b/meta/recipes-core/musl/libc-test/run-ptest | |||
| @@ -1,28 +1,3 @@ | |||
| 1 | #!/bin/sh | 1 | #!/bin/sh |
| 2 | 2 | chown -R ptest:ptest /opt/libc-test | |
| 3 | set -e | 3 | su -c ./run-libc-ptests ptest |
| 4 | |||
| 5 | cd /opt/libc-test | ||
| 6 | make cleanall | ||
| 7 | make run || true | ||
| 8 | |||
| 9 | echo "" | ||
| 10 | echo "--- ptest result ---" | ||
| 11 | # libc-test runs tests by module(e.g. src/api) and generates sub-module test | ||
| 12 | # report(e.g. src/api/REPORT) first. After all tests finish, it generates the | ||
| 13 | # consolidated report file src/REPORT. | ||
| 14 | report="/opt/libc-test/src/REPORT" | ||
| 15 | if ! [ -f "${report}" ]; then | ||
| 16 | echo "${report} not found!" | ||
| 17 | echo "FAIL: libc-test" | ||
| 18 | exit 1 | ||
| 19 | # libc-test prints error on failure and prints nothing on success. | ||
| 20 | elif grep -q '^FAIL src.*\.exe.*' "${report}"; then | ||
| 21 | # Print test failure in ptest format. | ||
| 22 | # e.g. "FAIL src/api/main.exe [status 1]" -> "FAIL: api_main" | ||
| 23 | grep '^FAIL src.*\.exe.*' "${report}" \ | ||
| 24 | | sed 's|^FAIL src/|FAIL: |;s|/|_|;s|\.exe.*\]||' | ||
| 25 | exit 1 | ||
| 26 | else | ||
| 27 | echo "PASS: libc-test" | ||
| 28 | fi | ||
diff --git a/meta/recipes-core/musl/libc-test_git.bb b/meta/recipes-core/musl/libc-test_git.bb index 6d64592f0c..060f5f9f12 100644 --- a/meta/recipes-core/musl/libc-test_git.bb +++ b/meta/recipes-core/musl/libc-test_git.bb | |||
| @@ -13,6 +13,7 @@ SRCREV = "18e28496adee3d84fefdda6efcb9c5b8996a2398" | |||
| 13 | SRC_URI = " \ | 13 | SRC_URI = " \ |
| 14 | git://repo.or.cz/libc-test;branch=master;protocol=https \ | 14 | git://repo.or.cz/libc-test;branch=master;protocol=https \ |
| 15 | file://run-ptest \ | 15 | file://run-ptest \ |
| 16 | file://run-libc-ptests \ | ||
| 16 | " | 17 | " |
| 17 | 18 | ||
| 18 | PV = "0+git${SRCPV}" | 19 | PV = "0+git${SRCPV}" |
| @@ -47,5 +48,9 @@ do_install () { | |||
| 47 | cp -r ${S}/src ${D}${install_path} | 48 | cp -r ${S}/src ${D}${install_path} |
| 48 | } | 49 | } |
| 49 | 50 | ||
| 51 | do_install_ptest_base:append() { | ||
| 52 | install -Dm 0755 ${WORKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests | ||
| 53 | } | ||
| 54 | |||
| 50 | COMPATIBLE_HOST = "null" | 55 | COMPATIBLE_HOST = "null" |
| 51 | COMPATIBLE_HOST:libc-musl = "(.*)" | 56 | COMPATIBLE_HOST:libc-musl = "(.*)" |
