lab1.py 626 B

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/env python
  2. from sandbox import Sandbox, SandboxConfig
  3. import sys
  4. from os import path
  5. importname = sys.argv[1]
  6. if importname.endswith('.py'):
  7. importname = importname[:len(importname)-3]
  8. else:
  9. print 'Filename did not end with .py for some reason...'
  10. sys.exit(2)
  11. sys.path.insert(0, path.expanduser('~/submissions'))
  12. sys.dont_write_bytecode = True
  13. def run():
  14. exec("import %s as submission" % importname)
  15. if submission.test() == 1:
  16. return 100
  17. else:
  18. return 0
  19. config = SandboxConfig()
  20. config.timeout = 5
  21. config.allowModule(importname, 'test')
  22. sandbox = Sandbox(config)
  23. score = sandbox.call(run)
  24. print score