Skip to content

Commit

Permalink
perl support (#25)
Browse files Browse the repository at this point in the history
  • Loading branch information
vibhorgupta-gh authored and championswimmer committed Aug 2, 2018
1 parent 4b2c82a commit bdde0e6
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 0 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Currently we have following images -
- [java8](containers/java8)
- [nodejs6](containers/nodejs6)
- [nodejs](containers/nodejs8)
- [perl](containers/perl)
- [py2](containers/py2)
- [py3](containers/py3)
- [ruby](containers/ruby)
Expand Down
9 changes: 9 additions & 0 deletions containers/perl/Dockerfile
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#!/usr/bin/env bash
3 changes: 3 additions & 0 deletions containers/perl/run.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

perl script.pl < run.stdin 1> run.stdout 2> run.stderr
4 changes: 4 additions & 0 deletions test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
bash tests/nodejs8/test_worker.sh
}

@test "test perl" {
bash tests/perl/test_worker.sh
}

@test "test py2" {
bash tests/py2/test_worker.sh
}
Expand Down
1 change: 1 addition & 0 deletions tests/perl/run.stdin
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
World
2 changes: 2 additions & 0 deletions tests/perl/script.pl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
$input = <STDIN>;
print "Hello ${input}";
41 changes: 41 additions & 0 deletions tests/perl/test_worker.sh
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit bdde0e6

Please sign in to comment.