#!/usr/bin/python import autograde import os, os.path assignment_name = 'PA1' release = 1 class MultiStringTests(autograde.StringTests): def make_test(self, prog, arg, ref): return self.Test(cmd=[prog] + arg.split(), ref=ref) assignment = autograde.MultiProject( MultiStringTests.Project('gcd', weight=3), autograde.StringTests.Project('rot13', weight=3), autograde.StringTests.Project('rle', weight=3), ) if __name__ == '__main__': autograde.set_asan_symbolizer() autograde.main(assignment_name, assignment, release)
#!/usr/bin/env python3 import autograde name = 'PA1' release = 2 assignment = autograde.MultiProject( autograde.StringTests.Project('roman', weight=0.625), autograde.StringTests.Project('palindrome', weight=0.625), autograde.StringTests.Project('rle', weight=0.625), autograde.StdinFileTests.Project('list', weight=2), autograde.FileTests.Project('mexp', weight=2), autograde.Project('bst', autograde.StdinFileTests(id='1', weight=1.5), autograde.StdinFileTests(id='2', weight=1.5))) if __name__ == '__main__': autograde.main(name, assignment, release)
ref_file=ref) assignment = autograde.MultiProject( autograde.StdinFileTests.Project("llist", weight=4), autograde.FileTests.Project("mexp", weight=4), autograde.StdinFileTests.Project("stddev", weight=4), autograde.Project("bst", autograde.StdinFileTests(id="1", weight=4), autograde.StdinFileTests(id="2", weight=2), ), LifeTests.Project("life", weight=2), autograde.Project("queens", autograde.FileTests(id="1", weight=4), autograde.FileTests(id="2", weight=4, make_cmd=lambda prog,arg: [prog, "+2", arg]), autograde.FileTests(id="3", category=autograde.EXTRA, make_cmd=lambda prog,arg: [prog, "-w", arg]), autograde.FileTests(id="4", name="3", category=autograde.EXTRA, make_cmd=lambda prog,arg: [prog, "+2", "-w", arg]), autograde.FileTests(id="1", category=autograde.USER), autograde.FileTests(id="2", category=autograde.USER, make_cmd=lambda prog,arg: [prog, "+2", arg]), autograde.FileTests(id="3", category=autograde.USER, make_cmd=lambda prog,arg: [prog, "-w", arg]), autograde.FileTests(id="4", category=autograde.USER, make_cmd=lambda prog,arg: [prog, "+2", "-w", arg]), ), ) if __name__ == '__main__': autograde.set_asan_symbolizer()
test_file = os.path.join(data_dir, self.file) if not os.path.exists(test_file): autograde.logger.warning('Test file not found: %r', test_file) return autograde.logger.debug('Opening tests file: %r', test_file) with open(test_file) as lines: args = [prog] for line in lines: line = line.strip() if line.startswith('@'): args.append(line[1:]) else: yield self.Test(cmd=args, ref=line) args = [prog] assignment = autograde.MultiProject( FactorTests.Project('factor'), StanzaTests.Project('warble'), StanzaTests.Project('rle'), autograde.StdinFileTests.Project('list'), autograde.FileTests.Project('mexp'), autograde.Project('bst', autograde.StdinFileTests(id='1', weight=1.5), autograde.StdinFileTests(id='2', weight=1.5)), autograde.StdinFileTests.Project('cell', weight=2)) if __name__ == '__main__': autograde.set_asan_symbolizer() autograde.main(assignment_name, assignment, release)