diff options
author | Prabhu Ramachandran | 2013-07-03 04:26:40 -0700 |
---|---|---|
committer | Prabhu Ramachandran | 2013-07-03 04:26:40 -0700 |
commit | ee64cfe58c42540d0736cc32d3acd36ab7a6d31d (patch) | |
tree | 6104cea3d6682e8d101da7f44ad645e7e00fc4f1 /testapp/test_server.py | |
parent | fe868c043487af8ea390165325309ad29daacc8e (diff) | |
parent | 7b18a329a2692d3f85fbe71fa99ceee9838b85c8 (diff) | |
download | online_test-ee64cfe58c42540d0736cc32d3acd36ab7a6d31d.tar.gz online_test-ee64cfe58c42540d0736cc32d3acd36ab7a6d31d.tar.bz2 online_test-ee64cfe58c42540d0736cc32d3acd36ab7a6d31d.zip |
Merge pull request #12 from prathamesh920/fresh_C_Cpp
Fresh c cpp
Diffstat (limited to 'testapp/test_server.py')
-rw-r--r-- | testapp/test_server.py | 104 |
1 files changed, 94 insertions, 10 deletions
diff --git a/testapp/test_server.py b/testapp/test_server.py index 0790816..5c88d73 100644 --- a/testapp/test_server.py +++ b/testapp/test_server.py @@ -6,6 +6,7 @@ up the code server as:: """ from exam.xmlrpc_clients import code_server + def check_result(result, check='correct answer'): if check != 'correct answer': assert result[0] == False @@ -15,33 +16,115 @@ def check_result(result, check='correct answer'): assert result[0], result[1] assert check in result[1].lower(), result[1] + def test_python(): """Test if server runs Python code as expected.""" src = 'while True: pass' result = code_server.run_code(src, '', '/tmp', language="python") check_result(result, 'more than ') - src = 'x = 1' - result = code_server.run_code(src, 'assert x == 1', '/tmp', + result = code_server.run_code(src, 'assert x == 1', '/tmp', language="python") check_result(result, 'correct answer') - result = code_server.run_code(src, 'assert x == 0', '/tmp', + result = code_server.run_code(src, 'assert x == 0', '/tmp', language="python") check_result(result, 'assertionerror') src = 'abracadabra' - result = code_server.run_code(src, 'assert x == 0', '/tmp', + result = code_server.run_code(src, 'assert x == 0', '/tmp', language="python") check_result(result, 'nameerror') + +def test_c(): + """Test if server runs c code as expected.""" + src = """ + #include<stdiol.h> + int ad(int a, int b) + {return a+b;} + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C") + check_result(result, 'error') + + src = """ + int add(int a, int b) + {return a+b} + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C") + check_result(result, 'compilation error') + + src = """ + int add(int a, int b) + {while(1>0){} + return a+b;} + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C") + check_result(result, 'more than') + + src = """ + int add(int a, int b) + {return a+b;} + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C") + check_result(result, 'correct answer') + + src = """ + #include<stdio.h> + int add(int a, int b) + {printf("All Correct");} + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C") + check_result(result, 'incorrect') + + +def test_cpp(): + """Test if server runs c code as expected.""" + src = """ + int add(int a, int b) + { + return a+b + } + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C++") + check_result(result, 'compilation error') + + src = """ + int add(int a, int b) + { + return a+b; + } + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C++") + check_result(result, 'correct answer') + + src = """ + int dd(int a, int b) + { + return a+b; + } + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C++") + check_result(result, 'error') + + src = """ + int add(int a, int b) + { + while(0==0) + {} + return a+b; + } + """ + result = code_server.run_code(src, 'c_cpp_files/main.cpp', '/tmp', language="C++") + check_result(result, 'more than') + def test_bash(): """Test if server runs Bash code as expected.""" src = """ #!/bin/bash [[ $# -eq 2 ]] && echo $(( $1 + $2 )) && exit $(( $1 + $2 )) """ - result = code_server.run_code(src, + result = code_server.run_code(src, 'docs/sample.sh\ndocs/sample.args', '/tmp', language="bash") check_result(result) @@ -49,7 +132,7 @@ def test_bash(): #!/bin/bash [[ $# -eq 2 ]] && echo $(( $1 - $2 )) && exit $(( $1 - $2 )) """ - result = code_server.run_code(src, + result = code_server.run_code(src, 'docs/sample.sh\ndocs/sample.args', '/tmp', language="bash") check_result(result, 'error') @@ -57,7 +140,7 @@ def test_bash(): #!/bin/bash while [ 1 ] ; do echo "" > /dev/null ; done """ - result = code_server.run_code(src, + result = code_server.run_code(src, 'docs/sample.sh\ndocs/sample.args', '/tmp', language="bash") check_result(result, 'more than ') @@ -65,15 +148,15 @@ def test_bash(): #!/bin/bash while [ 1 ] ; do echo "" > /dev/null ''' - result = code_server.run_code(src, - 'docs/sample.sh\ndocs/sample.args', '/tmp', language="bash") + result = code_server.run_code(src, + 'docs/sample.sh\ndocs/sample.args', '/tmp', language="bash") check_result(result, 'error') src = '''# Enter your code here. #!/bin/bash while [ 1 ] ; do echo "" > /dev/null ''' - result = code_server.run_code(src, + result = code_server.run_code(src, 'docs/sample.sh\ndocs/sample.args', '/tmp', language="bash") check_result(result, 'oserror') @@ -81,3 +164,4 @@ if __name__ == '__main__': test_python() test_bash() test_c() + test_cpp() |