コード例 #1
0
#!/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)
コード例 #2
0
ファイル: grader.py プロジェクト: ryanclove/CS211
#!/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)
コード例 #3
0
                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()
コード例 #4
0
ファイル: grader.py プロジェクト: n00rsy/CS211
        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)