tidied more

This commit is contained in:
2026-10-23 18:43:52 -04:00
parent 3f2f448c03
commit 64cb65760e
3 changed files with 21 additions and 19 deletions
+17 -14
View File
@@ -13,27 +13,30 @@ mount -t ext4 /dev/vdd /root/results
cp -a /root/student/. /tmp/
cp -a --remove-destination /root/project/build/. /tmp/
chmod -R 777 /tmp
cd /tmp || exit 1
cd /tmp
rm -f program
sandbox() {
LIMIT="$1" ; shift
(
ulimit -t "$LIMIT" -u 256 -n 256 -f 2048
(
ulimit -t 30 -u 256 -n 256 -f 2048
timeout -s 9 30 \
setpriv --reuid=1 --regid=1 --clear-groups --no-new-privs --inh-caps=-all \
timeout -s 9 "$LIMIT" "$@"
)
}
sandbox 30 make >/root/results/build.log 2>&1
echo $? >/root/results/build.status
make -B >/root/results/build.log 2>&1
echo $? >/root/results/build.status
)
for TEST in /root/project/tests/* ; do
[ -f "$TEST" ] || continue
NAME="$(basename "$TEST")"
ARGS="/root/project/args/$NAME"
[ -f "$ARGS" ] || ARGS=/dev/null
sandbox 2 "$TEST" <"$ARGS" >"/root/results/$NAME" 2>/dev/null
echo $? >"/root/results/$NAME.status"
cp -a --remove-destination "$TEST" /tmp/test
chmod 755 /tmp/test
(
ulimit -t 2 -u 256 -n 256 -f 2048
timeout -s 9 2 \
setpriv --reuid=1 --regid=1 --clear-groups --no-new-privs --inh-caps=-all \
/tmp/test <"$ARGS" >"/root/results/$NAME" 2>/dev/null
echo $? >"/root/results/$NAME.status"
)
done