Class: PrologTestHook
- Inherits:
-
Mumukit::Templates::FileHook
- Object
- Mumukit::Templates::FileHook
- PrologTestHook
- Defined in:
- lib/test_hook.rb
Instance Method Summary collapse
- #command_line(filename) ⇒ Object
- #compile_file_content(request) ⇒ Object
- #format_code(code) ⇒ Object
- #post_process_file(file, result, status) ⇒ Object
Instance Method Details
#command_line(filename) ⇒ Object
14 15 16 |
# File 'lib/test_hook.rb', line 14 def command_line(filename) "swipl -f #{filename} --quiet -t run_tests 2>&1" end |
#compile_file_content(request) ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/test_hook.rb', line 22 def compile_file_content(request) ":- begin_tests(mumuki_submission_test, []).\n\#{request.test}\n\#{request.content.strip}\n\#{request.extra}\n:- end_tests(mumuki_submission_test).\n" end |
#format_code(code) ⇒ Object
18 19 20 |
# File 'lib/test_hook.rb', line 18 def format_code(code) "```\n#{code}\n```" end |
#post_process_file(file, result, status) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/test_hook.rb', line 4 def post_process_file(file, result, status) if /ERROR: #{file.path}:.*: Syntax error: .*/ =~ result [format_code(result), :failed] elsif /Caught signal 24 \(xcpu\)/ =~ result [format_code(I18n.t(:time_exceeded)), :failed] else [format_code(result), status] end end |