File tree 14 files changed +132
-0
lines changed
14 files changed +132
-0
lines changed Original file line number Diff line number Diff line change @@ -26,7 +26,9 @@ 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
- [ php7] ( containers/php7 )
30
31
- [ py2] ( containers/py2 )
31
32
- [ py3] ( containers/py3 )
32
33
- [ ruby] ( containers/ruby )
34
+ - [ rust] ( containers/rust )
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
1
+ FROM alpine:3.6
2
+
3
+ RUN apk add --no-cache musl-dev bash rust="1.17.0-r2"
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
2
+
3
+ rustc script.rs 2> compile.stderr 1> compile.stdout
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ chmod 777 script.rs
4
+ ./script < run.stdin 1> run.stdout 2> run.stderr
Original file line number Diff line number Diff line change 43
43
@test " test ruby" {
44
44
bash tests/ruby/test_worker.sh
45
45
}
46
+
47
+ @test " test rust" {
48
+ bash tests/rust/test_worker.sh
49
+ }
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
Original file line number Diff line number Diff line change
1
+ World
Original file line number Diff line number Diff line change
1
+ use std:: io;
2
+
3
+ fn main ( ) {
4
+ let mut input = String :: new ( ) ;
5
+
6
+ io:: stdin ( ) . read_line ( & mut input)
7
+ . ok ( )
8
+ . expect ( "Couldn't read line" ) ;
9
+
10
+ println ! ( "Hello {}" , input) ;
11
+ }
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 $DIR /script.rs $RUNBOX /script.rs
15
+ cp $DIR /run.stdin $RUNBOX /run.stdin
16
+
17
+ # Test Compile
18
+ docker run \
19
+ --cpus=" 1" \
20
+ --memory=" 100m" \
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-rust \
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