Skip to content

Instantly share code, notes, and snippets.

@WallyYang
Created February 4, 2019 16:03
Show Gist options
  • Save WallyYang/357c9bef259689a97ab9d4781e7f5164 to your computer and use it in GitHub Desktop.
Save WallyYang/357c9bef259689a97ab9d4781e7f5164 to your computer and use it in GitHub Desktop.
CSE 3341 Lab1 Test Script
from subprocess import call
from itertools import izip
from sys import argv
from sys import exit
def suffix(num):
return str(num) if num >= 10 else "0" + str(num)
if __name__ == '__main__':
if (len(argv) < 4):
print("Usage: language[cc, java, python, python3, scala] program data_folder")
exit()
script, lang, program, prefix = argv
for num in range(1, 11):
output = open("output", 'w')
data = prefix + "/test"
program = "./" + program
if lang == "cc":
print(data + suffix(num))
call([program, data + suffix(num)], stdout=output)
# call([program, data + suffix(num)])
else:
call([lang, program, data + suffix(num)], stdout=output)
# call([lang, program, data + suffix(num)])
output.close()
passed = True
for result, expected in izip(open("output"), open(data + suffix(num) + "expected-output")):
if result != expected:
print("Error in " + data + suffix(num))
print("Expected: " + expected + ", Got " + result)
passed = False
if passed:
print(data + suffix(num) + " passed")
else:
print(data + suffix(num) + " failed")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment