Skip to content

Commit

Permalink
tests passing
Browse files Browse the repository at this point in the history
  • Loading branch information
VibhorCodecianGupta authored and VibhorCodecianGupta committed Aug 2, 2018
1 parent 8286ae7 commit 4aa5813
Show file tree
Hide file tree
Showing 14 changed files with 132 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -26,7 +26,9 @@ Currently we have following images -
- [java8](containers/java8)
- [nodejs6](containers/nodejs6)
- [nodejs](containers/nodejs8)
- [perl](containers/perl)
- [php7](containers/php7)
- [py2](containers/py2)
- [py3](containers/py3)
- [ruby](containers/ruby)
- [rust](containers/rust)
9 changes: 9 additions & 0 deletions containers/perl/Dockerfile
@@ -0,0 +1,9 @@
FROM alpine:3.6

RUN apk add --no-cache perl="5.24.4-r0" bash

COPY ./compile.sh /bin/compile.sh
COPY ./run.sh /bin/run.sh

RUN chmod 777 /bin/compile.sh; \
chmod 777 /bin/run.sh
1 change: 1 addition & 0 deletions containers/perl/compile.sh
@@ -0,0 +1 @@
#!/usr/bin/env bash
3 changes: 3 additions & 0 deletions containers/perl/run.sh
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

perl script.pl < run.stdin 1> run.stdout 2> run.stderr
9 changes: 9 additions & 0 deletions containers/rust/Dockerfile
@@ -0,0 +1,9 @@
FROM alpine:3.6

RUN apk add --no-cache musl-dev bash rust="1.17.0-r2"

COPY ./compile.sh /bin/compile.sh
COPY ./run.sh /bin/run.sh

RUN chmod 777 /bin/compile.sh; \
chmod 777 /bin/run.sh
3 changes: 3 additions & 0 deletions containers/rust/compile.sh
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

rustc script.rs 2> compile.stderr 1> compile.stdout
4 changes: 4 additions & 0 deletions containers/rust/run.sh
@@ -0,0 +1,4 @@
#!/usr/bin/env bash

chmod 777 script.rs
./script < run.stdin 1> run.stdout 2> run.stderr
4 changes: 4 additions & 0 deletions test.sh
Expand Up @@ -43,3 +43,7 @@
@test "test ruby" {
bash tests/ruby/test_worker.sh
}

@test "test rust" {
bash tests/rust/test_worker.sh
}
1 change: 1 addition & 0 deletions tests/perl/run.stdin
@@ -0,0 +1 @@
World
2 changes: 2 additions & 0 deletions tests/perl/script.pl
@@ -0,0 +1,2 @@
$input = <STDIN>;
print "Hello ${input}";
41 changes: 41 additions & 0 deletions tests/perl/test_worker.sh
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
pushd $(dirname "$0")
DIR=$(pwd)
RUNBOX="${DIR}/runbox"

echo $RUNBOX
# Remove RUNBOX
rm -rf $RUNBOX

# Create runbox
mkdir -p $RUNBOX

# Copy source to runbox
cp -fv $DIR/script.pl $RUNBOX/script.pl
cp -fv $DIR/run.stdin $RUNBOX/run.stdin

# Test Compile
docker run \
--cpus="0.5" \
--memory="20m" \
--ulimit nofile=64:64 \
--rm \
--read-only \
-v "$RUNBOX":/usr/src/runbox \
-v "$RUNBOX":/tmp \
-w /usr/src/runbox codingblocks/judge-worker-perl \
bash -c "/bin/compile.sh && /bin/run.sh"

ls -lh ${RUNBOX}

expected="Hello World"
actual="$(cat ${RUNBOX}/run.stdout)"
if [ "$expected" == "$actual" ] ;then
:
else
echo "MISMATCH: Expected = $expected; Actual = $actual"
exit 1
fi

# Delete runbox
rm -rf $RUNBOX
1 change: 1 addition & 0 deletions tests/rust/run.stdin
@@ -0,0 +1 @@
World
11 changes: 11 additions & 0 deletions tests/rust/script.rs
@@ -0,0 +1,11 @@
use std::io;

fn main() {
let mut input = String::new();

io::stdin().read_line(&mut input)
.ok()
.expect("Couldn't read line");

println!("Hello {}", input);
}
41 changes: 41 additions & 0 deletions tests/rust/test_worker.sh
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
pushd $(dirname "$0")
DIR=$(pwd)
RUNBOX="${DIR}/runbox"

echo $RUNBOX
# Remove RUNBOX
rm -rf $RUNBOX

# Create runbox
mkdir -p $RUNBOX

# Copy source to runbox
cp $DIR/script.rs $RUNBOX/script.rs
cp $DIR/run.stdin $RUNBOX/run.stdin

# Test Compile
docker run \
--cpus="1" \
--memory="100m" \
--ulimit nofile=64:64 \
--rm \
--read-only \
-v "$RUNBOX":/usr/src/runbox \
-v "$RUNBOX":/tmp \
-w /usr/src/runbox codingblocks/judge-worker-rust \
bash -c "/bin/compile.sh && /bin/run.sh"

ls -lh ${RUNBOX}

expected="Hello World"
actual="$(cat ${RUNBOX}/run.stdout)"
if [ "$expected" == "$actual" ] ;then
:
else
echo "MISMATCH: Expected = $expected; Actual = $actual"
exit 1
fi

# Delete runbox
rm -rf $RUNBOX

0 comments on commit 4aa5813

Please sign in to comment.