Update relibc tests bins script

This commit is contained in:
Wildan M 2026-03-28 06:06:27 +07:00
parent 7cc49ae0e5
commit 37b4fcd27a
No known key found for this signature in database
GPG Key ID: 01AC53185C679C79

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"
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
"""