add support for multiple arguments

This commit is contained in:
Brian Seymour 2018-10-06 11:48:10 -05:00
parent 60af1efaad
commit 101cf9aeeb
15 changed files with 38 additions and 28 deletions

View file

@ -14,6 +14,11 @@ fi
lang=$1
filepath=$(realpath $2)
file=$(basename $2)
argpath="/tmp/$(date +%s%N).args"
arg=$(basename $argpath)
# write arg file
echo "${@:3}" > $argpath
bin=
case "$lang" in
@ -64,6 +69,7 @@ docker run \
--rm \
--log-driver none \
-v $filepath:/$file:ro \
-v $argpath:/$arg:ro \
-v $dir/executors/python2:/executor_python2:ro \
-v $dir/executors/python3:/executor_python3:ro \
-v $dir/executors/ruby:/executor_ruby:ro \
@ -79,6 +85,7 @@ docker run \
piston \
runuser \
-l runner \
-c "bash /$bin /$file $file ${@:3} 2>&1 | head -c 65536"
-c "bash /$bin /$file $file 2>&1 | head -c 65536"
rm -f /tmp/$file
rm -f /tmp/$arg

View file

@ -1,2 +1,2 @@
timeout -s KILL 10 gcc -o binary -x c $1
timeout -s KILL 3 ./binary ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' ./binary

View file

@ -1,2 +1,2 @@
timeout -s KILL 10 g++ -o binary -x c++ $1
timeout -s KILL 3 ./binary ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' ./binary

View file

@ -1,3 +1,3 @@
cp /*.code .
timeout -s KILL 10 mcs $(echo $1 | sed 's/\///') -out:binary
timeout -s KILL 3 mono binary ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' mono binary

View file

@ -1,7 +1,5 @@
file=$1
cp /*.code interim.go
file="interim.go"
timeout -s KILL 10 go build $file
file=${file%%.*}
timeout -s KILL 3 ./$file ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' ./$file

View file

@ -2,4 +2,4 @@ cp /*.code interim.java
name=$(cat interim.java | grep -Eo 'public\s+class\s+([A-Za-z0-9]+)' | sed -n 's/ */ /gp' | cut -d' ' -f3)
mv interim.java $name.java
timeout -s KILL 10 javac $name.java
timeout -s KILL 3 java $name ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' java $name

View file

@ -1,3 +1,3 @@
timeout -s KILL 10 nasm -f elf64 -o binary.o $1
timeout -s KILL 10 ld binary.o -o binary
timeout -s KILL 3 ./binary ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' ./binary

View file

@ -1 +1 @@
timeout -s KILL 3 nodejs $1 ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' nodejs $1

View file

@ -1 +1 @@
timeout -s KILL 3 php $1 ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' php $1

View file

@ -1 +1 @@
timeout -s KILL 3 python2 $1 ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' python2 $1

View file

@ -1 +1 @@
timeout -s KILL 3 python3.6 $1 ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' python3.6 $1

View file

@ -1 +1 @@
timeout -s KILL 3 Rscript $1 ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' Rscript $1

View file

@ -1 +1 @@
timeout -s KILL 3 ruby $1 ${@:3}
timeout -s KILL 3 cat /*.args | xargs -d '\n' ruby $1