diff --git a/all_tests.cfg.erb b/all_tests.cfg.erb new file mode 100755 --- /dev/null +++ b/all_tests.cfg.erb @@ -0,0 +1,13 @@ +problem do + num_tests <%= num_testcases %> + full_score <%= num_testcases*10 %> + time_limit_each <%= options[:time_limit] %> + mem_limit_each <%= options[:mem_limit] %> + score_each 10 + +<% 1.upto(num_testcase) do |i| %> + run <%= i %> + tests <%= i %> + end +<% end %> +end diff --git a/grader b/grader --- a/grader +++ b/grader @@ -98,12 +98,14 @@ current_dir = `pwd` talk 'Grader queue' -task = Task.find(:first, :order => 'created_at') -if task!=nil - grade(task.submission_id) - task.destroy -else - puts "No job" +while true + task = Task.find(:first, :order => 'created_at') + if task!=nil + grade(task.submission_id) + task.destroy + else + sleep(1) + end end diff --git a/import_problem b/import_problem --- a/import_problem +++ b/import_problem @@ -70,19 +70,10 @@ # generating all_tests.cfg puts "generating testcase config file" -template = %q{ -problem do - num_tests <%= num_testcases %> - full_score <%= num_testcases*10 %> - time_limit_each <%= options[:time_limit] %> - mem_limit_each <%= options[:mem_limit] %> - score_each 10 -end -} - +template = File.open("all_tests.cfg.erb").readlines all_test_cfg = ERB.new(template) -cfg_file = File.open("#{problem}/test_cases/all_test.cfg","w") +cfg_file = File.open("#{problem}/test_cases/all_tests.cfg","w") cfg_file.puts all_test_cfg.result cfg_file.close diff --git a/std-script/judge b/std-script/judge --- a/std-script/judge +++ b/std-script/judge @@ -71,7 +71,7 @@ compile_message = `cat compiler_message` compile_message.strip! execute("mv compiler_message #{test_result_dir}", "Cannot move the compiler message to #{test_result_dir}.") -if compile_message != "" +if !FileTest.exist?("a.out") puts "Cannot compile the source code. See message in #{test_result_dir}/compile_message" exit(127) else