mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
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: 585bf4b780a8ad60ba2b33cede4f0092ff61ddfc) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
28
meta/recipes-core/musl/libc-test/run-libc-ptests
Normal file
28
meta/recipes-core/musl/libc-test/run-libc-ptests
Normal file
@@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd /opt/libc-test
|
||||
make cleanall
|
||||
make run || true
|
||||
|
||||
echo ""
|
||||
echo "--- ptest result ---"
|
||||
# libc-test runs tests by module(e.g. src/api) and generates sub-module test
|
||||
# report(e.g. src/api/REPORT) first. After all tests finish, it generates the
|
||||
# consolidated report file src/REPORT.
|
||||
report="/opt/libc-test/src/REPORT"
|
||||
if ! [ -f "${report}" ]; then
|
||||
echo "${report} not found!"
|
||||
echo "FAIL: libc-test"
|
||||
exit 1
|
||||
# libc-test prints error on failure and prints nothing on success.
|
||||
elif grep -q '^FAIL src.*\.exe.*' "${report}"; then
|
||||
# Print test failure in ptest format.
|
||||
# e.g. "FAIL src/api/main.exe [status 1]" -> "FAIL: api_main"
|
||||
grep '^FAIL src.*\.exe.*' "${report}" \
|
||||
| sed 's|^FAIL src/|FAIL: |;s|/|_|;s|\.exe.*\]||'
|
||||
exit 1
|
||||
else
|
||||
echo "PASS: libc-test"
|
||||
fi
|
||||
@@ -1,28 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd /opt/libc-test
|
||||
make cleanall
|
||||
make run || true
|
||||
|
||||
echo ""
|
||||
echo "--- ptest result ---"
|
||||
# libc-test runs tests by module(e.g. src/api) and generates sub-module test
|
||||
# report(e.g. src/api/REPORT) first. After all tests finish, it generates the
|
||||
# consolidated report file src/REPORT.
|
||||
report="/opt/libc-test/src/REPORT"
|
||||
if ! [ -f "${report}" ]; then
|
||||
echo "${report} not found!"
|
||||
echo "FAIL: libc-test"
|
||||
exit 1
|
||||
# libc-test prints error on failure and prints nothing on success.
|
||||
elif grep -q '^FAIL src.*\.exe.*' "${report}"; then
|
||||
# Print test failure in ptest format.
|
||||
# e.g. "FAIL src/api/main.exe [status 1]" -> "FAIL: api_main"
|
||||
grep '^FAIL src.*\.exe.*' "${report}" \
|
||||
| sed 's|^FAIL src/|FAIL: |;s|/|_|;s|\.exe.*\]||'
|
||||
exit 1
|
||||
else
|
||||
echo "PASS: libc-test"
|
||||
fi
|
||||
chown -R ptest:ptest /opt/libc-test
|
||||
su -c ./run-libc-ptests ptest
|
||||
|
||||
@@ -13,6 +13,7 @@ SRCREV = "18e28496adee3d84fefdda6efcb9c5b8996a2398"
|
||||
SRC_URI = " \
|
||||
git://repo.or.cz/libc-test;branch=master;protocol=https \
|
||||
file://run-ptest \
|
||||
file://run-libc-ptests \
|
||||
"
|
||||
|
||||
PV = "0+git"
|
||||
@@ -48,5 +49,9 @@ do_install () {
|
||||
cp -r ${S}/src ${D}${install_path}
|
||||
}
|
||||
|
||||
do_install_ptest_base:append() {
|
||||
install -Dm 0755 ${WORKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests
|
||||
}
|
||||
|
||||
COMPATIBLE_HOST = "null"
|
||||
COMPATIBLE_HOST:libc-musl = "(.*)"
|
||||
|
||||
Reference in New Issue
Block a user