Description:
handle the case when problem id or submission id is null. Grader will simply skip such request. Add more report on console (for command line grading) (mercurial grafted from d233105d3965c5368c9b33125f390e39b25f910e)
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r181:5c6f0b732e70 - - 2 files changed: 6 inserted, 6 deleted

@@ -358,7 +358,7
358 358 begin
359 359 submission = Submission.find(sub_id.to_i)
360 360 rescue ActiveRecord::RecordNotFound
361 - puts "Record not found"
361 + puts "Submission #{sub_id} not found"
362 362 submission = nil
363 363 end
364 364
@@ -36,10 +36,11
36 36 user = submission.user
37 37 problem = submission.problem
38 38
39 + begin
39 40 # TODO: will have to create real exception for this
40 41 if user==nil or problem == nil
41 42 @reporter.report_error(submission,"Grading error: problem with submission")
42 - #raise "engine: user or problem is nil"
43 + raise "engine: user or problem is nil"
43 44 end
44 45
45 46 # TODO: this is another hack so that output only task can be judged
@@ -64,7 +65,6
64 65 source_name = "source.#{lang_ext}"
65 66 end
66 67
67 - begin
68 68 grading_dir = @room_maker.produce_grading_room(submission)
69 69 @room_maker.save_source(submission,source_name)
70 70 problem_home = @room_maker.find_problem_home(submission)
@@ -74,8 +74,7
74 74
75 75 if !FileTest.exist?(problem_home)
76 76 puts "PROBLEM DIR: #{problem_home}"
77 - puts "No test data. (check problem dir)"
78 - raise "No test data."
77 + raise "engine: No test data."
79 78 end
80 79
81 80 dinit = DirInit::Manager.new(problem_home)
@@ -97,6 +96,7
97 96
98 97 rescue RuntimeError => msg
99 98 @reporter.report_error(submission, msg)
99 + puts "ERROR: #{msg}"
100 100
101 101 ensure
102 102 @room_maker.clean_up(submission)
@@ -131,7 +131,7
131 131 script_dir = "#{problem_home}/script"
132 132 std_script_dir = get_std_script_dir
133 133
134 - raise "std-script directory not found" if !FileTest.exist?(std_script_dir)
134 + raise "engine: std-script directory not found" if !FileTest.exist?(std_script_dir)
135 135
136 136 scripts = Dir[std_script_dir + '/*']
137 137
You need to be logged in to leave comments. Login now