aboutsummaryrefslogtreecommitdiff
path: root/doc/problemexamples
diff options
context:
space:
mode:
Diffstat (limited to 'doc/problemexamples')
-rwxr-xr-xdoc/problemexamples/problemtemplate/tests/cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/problemexamples/problemtemplate/tests/cpp b/doc/problemexamples/problemtemplate/tests/cpp
new file mode 100755
index 0000000..d3f7273
--- /dev/null
+++ b/doc/problemexamples/problemtemplate/tests/cpp
@@ -0,0 +1,42 @@
+#!/bin/bash
+#
+# This file performs a test of the autojudge system. It can run whatever you feel important to test the autojudge
+# and the script files that are included in the problem package
+
+mkdir -p testdir
+cd testdir
+
+cat > test.cpp <<EOF
+#include<stdio.h>
+
+using namespace std;
+int main() {
+ char s[100];
+ scanf("%s", s);
+ printf("%s\n",s);
+ return 0;
+}
+EOF
+cat > test.in <<EOF
+inputdata
+EOF
+
+TL=2
+REP=10
+chmod 755 ../../compile/cpp
+../../compile/cpp test.cpp test.exe $TL
+chmod 755 ../../run/cpp
+../../run/cpp test.exe test.in $TL $REP
+if [ -r stdout0 ]; then
+ output=`cat stdout0`
+ if [ "$output" != "inputdata" ]; then
+ echo "ERROR"
+ exit 1
+ fi
+else
+ echo "ERROR"
+ exit 1
+fi
+echo "TEST PASSED"
+cd ..
+exit 0