Description:
[grader] +grade submission git-svn-id: http://theory.cpe.ku.ac.th/grader/judge/trunk/scripts@264 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r61:3dcc15f24294 - - 3 files changed: 34 inserted, 0 deleted

@@ -179,6 +179,29
179 end
179 end
180 end
180 end
181
181
182 + when "sub"
183 + engine = Grader::Engine.new
184 + runner = Grader::Runner.new(engine, grader_proc)
185 +
186 + grader_proc.report_active if grader_proc!=nil
187 +
188 + ARGV.shift
189 + ARGV.shift
190 +
191 + ARGV.each do |sub_id|
192 + puts "Grading #{sub_id}"
193 + begin
194 + submission = Submission.find(sub_id.to_i)
195 + rescue ActiveRecord::RecordNotFound
196 + puts "Record not found"
197 + submission = nil
198 + end
199 +
200 + if submission!=nil
201 + runner.grade_submission(submission)
202 + end
203 + end
204 +
182 else
205 else
183 display_manual
206 display_manual
184 exit(0)
207 exit(0)
@@ -38,6 +38,11
38 end
38 end
39 end
39 end
40
40
41 + def grade_submission(submission)
42 + puts "Submission: #{submission.id} by #{submission.user.full_name}"
43 + @engine.grade(submission)
44 + end
45 +
41 def grade_oldest_test_request
46 def grade_oldest_test_request
42 test_request = TestRequest.get_inqueue_and_change_status(Task::STATUS_GRADING)
47 test_request = TestRequest.get_inqueue_and_change_status(Task::STATUS_GRADING)
43 if test_request!=nil
48 if test_request!=nil
@@ -103,6 +103,10
103
103
104 # Doing the testing.
104 # Doing the testing.
105 (1..(problem.num_tests)).each do |test_num|
105 (1..(problem.num_tests)).each do |test_num|
106 +
107 + $stdout.print "[#{test_num}]"
108 + $stdout.flush
109 +
106 log "Test number: #{test_num}"
110 log "Test number: #{test_num}"
107 execute("cp #{test_result_dir}/a.out #{sandbox_dir}", "Cannot copy the compiled program into #{sandbox_dir}")
111 execute("cp #{test_result_dir}/a.out #{sandbox_dir}", "Cannot copy the compiled program into #{sandbox_dir}")
108 begin
112 begin
@@ -117,6 +121,8
117 execute("rm -Rf #{sandbox_dir}/*", "Cannot clear #{sandbox_dir}")
121 execute("rm -Rf #{sandbox_dir}/*", "Cannot clear #{sandbox_dir}")
118 end
122 end
119
123
124 + $stdout.print "[done]\n"
125 +
120 # Grade
126 # Grade
121 log
127 log
122 log "Grading..."
128 log "Grading..."
You need to be logged in to leave comments. Login now