Browse Source

Safer runtime error handling.

master
Ben Kurtovic 8 years ago
parent
commit
86d3a534ce
2 changed files with 7 additions and 2 deletions
  1. +6
    -1
      lib/kgrader/runtime.rb
  2. +1
    -1
      spec/cs241h

+ 6
- 1
lib/kgrader/runtime.rb View File

@@ -7,17 +7,22 @@ module KGrader

def testcase(options)
puts " running test: #{File.basename $0} ".center MAX_COLS, '='

begin
Timeout::timeout options[:alarm] { yield }
rescue Timeout::Error
comment "timeout"
grade 0
end
puts " done ".center MAX_COLS, '-'

puts "no grade received?"
comment "autograde error (no grade reported); please contact staff"
grade 0
end

def grade(score)
IO.new(3).write score
puts " done ".center MAX_COLS, '-'
exit
end



+ 1
- 1
spec/cs241h

@@ -1 +1 @@
Subproject commit 514bd96d25d797ceb17f166f508e3195afb795f1
Subproject commit 22fd6cb688fcce712b4b68235533b59753aeaed7

Loading…
Cancel
Save