class PrologTestHook
Public Instance Methods
command_line(filename)
click to toggle source
# 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)
click to toggle source
# File lib/test_hook.rb, line 22 def compile_file_content(request) <<EOF :- begin_tests(mumuki_submission_test, []). #{request.test} #{request.content.strip} #{request.extra} :- end_tests(mumuki_submission_test). EOF end
format_code(code)
click to toggle source
# File lib/test_hook.rb, line 18 def format_code(code) "```\n#{code}\n```" end
post_process_file(file, result, status)
click to toggle source
# 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