Skip to content
Snippets Groups Projects
Commit 9f388bbb authored by 13518104 Kevin Austin Stefano's avatar 13518104 Kevin Austin Stefano
Browse files

Add grader

parent 884cfd27
Branches
No related merge requests found
#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Usage: ./autograde.sh 13518056 13518104"
exit
fi
rm -rf $2/*
rm -rf ./tmp
mkdir ./tmp
mkdir ./tmp/testcases
if ! python3 ./python_script/get_testcase.py $1; then
exit
fi
testcases_names=()
readarray -d '' testcases_names < <(find ./tmp/testcases -type f -print0)
for tc in ${testcases_names[@]}; do
./openmp-script.sh $tc
done
if ! python3 ./python_script/check_openmp.py $1 $2; then
exit
fi
zip -r $1.zip .
if ! python3 ./python_script/submit_file.py $1 $1.zip; then
exit
fi
echo "Thank you for using our service!"
#!/bin/bash
if [ "$#" -ne 2 ]; then
echo "Usage: ./autograde.sh 13518056 13518104"
exit
fi
rm -rf $2/*
rm -rf ./tmp
mkdir ./tmp
mkdir ./tmp/testcases
if ! python3 ./python_script/get_testcase.py $1; then
exit
fi
testcases_names=()
readarray -d '' testcases_names < <(find ./tmp/testcases -type f -print0)
for tc in ${testcases_names[@]}; do
./openmpi-script.sh $tc
done
if ! python3 ./python_script/check_openmpi.py $1 $2; then
exit
fi
zip -r $1.zip .
if ! python3 ./python_script/submit_file.py $1 $1.zip then
exit
fi
echo "Thank you for using our service!"
import os
import sys
import requests
from os import walk
nim = sys.argv[1]
openmp_dir = sys.argv[2]
url = 'http://100.25.13.77/api/v1/check'
body = {
'nim': nim,
'is_openmp': True,
'answers': [],
}
_, _, openmp_files = next(walk(openmp_dir))
for file in openmp_files:
total_node = file.split('_')[0]
testcase_id = file.split('_')[1]
f = open(os.path.join(openmp_dir, file), 'r')
content = f.read()
f.close()
answer = {
'total_node': int(total_node),
'testcase_id': int(testcase_id),
'answer': content,
}
body['answers'].append(answer)
response = requests.post(url = url, json = body)
print('OpenMP Status Code:', response.status_code)
if response.status_code != 200:
sys.exit(-1)
else:
data = response.json()
results = data['results']
for result in results:
print('Total Node:', result['total_node'])
print('Correct:', result['is_accepted'])
import os
import sys
import requests
from os import walk
nim = sys.argv[1]
openmpi_dir = sys.argv[2]
url = 'http://100.25.13.77/api/v1/check'
body = {
'nim': nim,
'is_openmp': False,
'answers': [],
}
_, _, openmpi_files = next(walk(openmpi_dir))
for file in openmpi_files:
total_node = file.split('_')[0]
testcase_id = file.split('_')[1]
f = open(os.path.join(openmpi_dir, file), 'r')
content = f.read()
f.close()
answer = {
'total_node': int(total_node),
'testcase_id': int(testcase_id),
'answer': content,
}
body['answers'].append(answer)
response = requests.post(url = url, json = body)
print('OpenMPI Status Code:', response.status_code)
if response.status_code != 200:
sys.exit(-1)
else:
data = response.json()
results = data['results']
for result in results:
print('Total Node:', result['total_node'])
print('Correct:', result['is_accepted'])
import os
import sys
import requests
nim = sys.argv[1]
url = 'http://100.25.13.77/api/v1/testcase'
params = {
'nim': nim,
}
response = requests.get(url = url, params = params)
data = response.json()
for tc in data['set']:
total_node = tc['total_node']
tc_id = tc['testcase_id']
content = tc['question']
filename = str(total_node) + '_' + str(tc_id)
f = open(os.path.join('tmp', 'testcases', filename), 'w')
f.write(content)
f.close()
import os
import sys
import requests
from os import walk
nim = sys.argv[1]
filename = sys.argv[2]
url = 'http://100.25.13.77/api/v1/submit?nim={nim}'.format(nim = nim)
files = {
'file': open(filename, 'rb')
}
response = requests.post(url = url, files = files)
print('Submission Status Code: {statusCode}'.format(statusCode = response.status_code))
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment