Przeglądaj źródła

Add runtime library.

master
Ben Kurtovic 8 lat temu
rodzic
commit
9923f261a3
1 zmienionych plików z 31 dodań i 0 usunięć
  1. +31
    -0
      lib/kgrader/runtime.rb

+ 31
- 0
lib/kgrader/runtime.rb Wyświetl plik

@@ -0,0 +1,31 @@
require 'timeout'

module KGrader
module Runtime
MAX_COLS = 79

def testcase(options)
puts " running test: #{$0} ".center MAX_COLS, '='
begin
Timeout::timeout options[:alarm] { yield }
rescue Timeout::Error
comment "timeout"
grade 0
end
puts " done ".center MAX_COLS, '-'
end

def grade(score)
IO.new(3).write score
exit
end

def comment(text)
IO.new(4).write text + "\n"
end

def shake
ARGV[0]
end
end
end

Ładowanie…
Anuluj
Zapisz