File tree 8 files changed +62
-0
lines changed
8 files changed +62
-0
lines changed Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ Currently we have following images -
26
26
- [ java8] ( containers/java8 )
27
27
- [ nodejs6] ( containers/nodejs6 )
28
28
- [ nodejs] ( containers/nodejs8 )
29
+ - [ perl] ( containers/perl )
29
30
- [ py2] ( containers/py2 )
30
31
- [ py3] ( containers/py3 )
31
32
- [ ruby] ( containers/ruby )
Original file line number Diff line number Diff line change
1
+ FROM alpine:3.6
2
+
3
+ RUN apk add --no-cache perl="5.24.4-r0" bash
4
+
5
+ COPY ./compile.sh /bin/compile.sh
6
+ COPY ./run.sh /bin/run.sh
7
+
8
+ RUN chmod 777 /bin/compile.sh; \
9
+ chmod 777 /bin/run.sh
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ perl script.pl < run.stdin 1> run.stdout 2> run.stderr
Original file line number Diff line number Diff line change 28
28
bash tests/nodejs8/test_worker.sh
29
29
}
30
30
31
+ @test " test perl" {
32
+ bash tests/perl/test_worker.sh
33
+ }
34
+
31
35
@test " test py2" {
32
36
bash tests/py2/test_worker.sh
33
37
}
Original file line number Diff line number Diff line change
1
+ World
Original file line number Diff line number Diff line change
1
+ $input = <STDIN >;
2
+ print " Hello ${input} " ;
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ pushd $( dirname " $0 " )
3
+ DIR=$( pwd)
4
+ RUNBOX=" ${DIR} /runbox"
5
+
6
+ echo $RUNBOX
7
+ # Remove RUNBOX
8
+ rm -rf $RUNBOX
9
+
10
+ # Create runbox
11
+ mkdir -p $RUNBOX
12
+
13
+ # Copy source to runbox
14
+ cp -fv $DIR /script.pl $RUNBOX /script.pl
15
+ cp -fv $DIR /run.stdin $RUNBOX /run.stdin
16
+
17
+ # Test Compile
18
+ docker run \
19
+ --cpus=" 0.5" \
20
+ --memory=" 20m" \
21
+ --ulimit nofile=64:64 \
22
+ --rm \
23
+ --read-only \
24
+ -v " $RUNBOX " :/usr/src/runbox \
25
+ -v " $RUNBOX " :/tmp \
26
+ -w /usr/src/runbox codingblocks/judge-worker-perl \
27
+ bash -c " /bin/compile.sh && /bin/run.sh"
28
+
29
+ ls -lh ${RUNBOX}
30
+
31
+ expected=" Hello World"
32
+ actual=" $( cat ${RUNBOX} /run.stdout) "
33
+ if [ " $expected " == " $actual " ] ; then
34
+ :
35
+ else
36
+ echo " MISMATCH: Expected = $expected ; Actual = $actual "
37
+ exit 1
38
+ fi
39
+
40
+ # Delete runbox
41
+ rm -rf $RUNBOX
You can’t perform that action at this time.
0 commit comments