Merge branch 'relibc-bins' into 'master'

Update relibc tests bins script

See merge request redox-os/redox!2027
This commit is contained in:
Jeremy Soller 2026-03-28 07:24:00 -06:00
commit 42ff27e8da

View File

@ -4,42 +4,11 @@ same_as = "../../core/relibc"
[build]
template = "custom"
script = """
PACKAGE_PATH="tests" cookbook_cargo
rsync -av --delete "${COOKBOOK_SOURCE}/" ./
DYNAMIC_INIT
SRC=${COOKBOOK_SOURCE}/tests
EXPECTSRC=${SRC}/expected/bins_dynamic
DST=${COOKBOOK_STAGE}/root/relibc-tests
CFLAGS+=" -I${SRC}"
LDFLAGS+=" -Wl,-rpath=\\$ORIGIN"
pushd ${SRC}
if [ -z "$TESTBIN" ]; then
for file in **/*.c; do
filename="${file%.*}"
mkdir -p $(dirname $DST/$filename)
# adding "true" because compilation can fail
${CC} ${CFLAGS} ${LDFLAGS} "$SRC/$file" -o "$DST/$filename" -Wall || true
if [[ -f "${EXPECTSRC}/$filename.stdout" ]]; then
echo "relibc-tests ./$filename" >> $DST/run.sh
else
echo "relibc-tests -s./$filename" >> $DST/run.sh
fi
done
rsync -a ${EXPECTSRC} ${DST}/expected
popd
else
mkdir -p $(dirname $DST/$TESTBIN) $(dirname $DST/expected/$TESTBIN)
${CC} ${CFLAGS} ${LDFLAGS} "$SRC/$TESTBIN.c" -o "$DST/$TESTBIN" -Wall
if [[ -f "${EXPECTSRC}/$TESTBIN.stdout" ]]; then
cp ${EXPECTSRC}/$TESTBIN.{stdout,stderr} $(dirname $DST/expected/$TESTBIN)
fi
fi
make install-tests DESTDIR="${COOKBOOK_STAGE}/home/user" NATIVE_LIBC=1 IS_REDOX=1
if [ -n "$TESTBIN" ]; then
if [[ -f "${EXPECTSRC}/$TESTBIN.stdout" ]]; then
"${COOKBOOK_REDOXER}" write-exec sh -c "cd /root/relibc-tests; relibc-tests ./$TESTBIN"
else
"${COOKBOOK_REDOXER}" write-exec sh -c "cd /root/relibc-tests; relibc-tests -s./$TESTBIN"
fi
"${COOKBOOK_REDOXER}" write-exec sh -c "cd /home/user/relibc-tests; make run-once TESTBIN=bins_dynamic/$TESTBIN"
fi
"""