Show More
Commit Description:
add option -A <opt> to box. This options allow more argument to be explicitly passed to the program...
Commit Description:
add option -A <opt> to box. This options allow more argument to be explicitly passed to the program We have to use this because if the argument we wish to pass to the program is option (in -? format), box will intepret it as its option and failed accordingly. be noted that, by the definition of getopt, these options will be put after original argument (check the code for more info)
References:
File last commit:
Show/Diff file:
Action:
templates/check_wrapper | 48 lines | 1.2 KiB | text/plain | TextLexer |
#!/usr/bin/ruby
#
# This is a check script wrapper. It read all required information
# and call a real check script call REAL_CHECK_SCRIPT in directory
# [problem_home]/script
#
REAL_CHECK_SCRIPT = "<%= script_name %>"
# The REAL_CHECK_SCRIPT is called with:
#
# (script) <lang> <test-num> <in-file> <out-file> <ans-file> <full-score>
#
# and REAL_CHECK_SCRIPT's output to standard out is redirected to
# 'check_result' as required by normal check script.
problem_home = ENV['PROBLEM_HOME']
require "#{problem_home}/script/test_dsl.rb"
if ARGV.length < 2
puts "Usage: check <language> <test-number> [<output-file>]"
exit(0)
end
language = ARGV[0]
test_num = ARGV[1].to_i
if ARGV.length >= 3
output_file_name = ARGV[2]
else
output_file_name = "output.txt"
end
load "#{problem_home}/test_cases/all_tests.cfg"
problem = Problem.get_instance
answer_file_name = "#{problem_home}/test_cases/#{test_num}/answer-#{test_num}.txt"
input_file_name = "#{problem_home}/test_cases/#{test_num}/input-#{test_num}.txt"
score = problem.get_score(test_num)
cmd = "#{problem_home}/script/#{REAL_CHECK_SCRIPT} " +
"#{language} #{test_num} #{input_file_name} #{output_file_name} " +
"#{answer_file_name} #{score} > check_result"
#puts "wrapper-CMD: #{cmd}"
system(cmd)