require 'timeout' module TspRunner class Runner class InvalidError < StandardError; end attr_reader :cmd, :filename, :time_limit def self.usage puts "Usage: #{$0}