Description:
Merge pull request #3 from nattee/master
Quick fix for grader crash problem
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r195:3eff00360356 - - 3 files changed: 9 inserted, 7 deleted
@@ -358,7 +358,7 | |||||
|
358 | begin |
|
358 | begin |
|
359 | submission = Submission.find(sub_id.to_i) |
|
359 | submission = Submission.find(sub_id.to_i) |
|
360 | rescue ActiveRecord::RecordNotFound |
|
360 | rescue ActiveRecord::RecordNotFound |
|
361 |
- puts " |
|
361 | + puts "Submission #{sub_id} not found" |
|
362 | submission = nil |
|
362 | submission = nil |
|
363 | end |
|
363 | end |
|
364 |
|
364 |
@@ -36,10 +36,11 | |||||
|
36 | user = submission.user |
|
36 | user = submission.user |
|
37 | problem = submission.problem |
|
37 | problem = submission.problem |
|
38 |
|
38 | ||
|
|
39 | + begin | ||
|
39 | # TODO: will have to create real exception for this |
|
40 | # TODO: will have to create real exception for this |
|
40 | if user==nil or problem == nil |
|
41 | if user==nil or problem == nil |
|
41 | @reporter.report_error(submission,"Grading error: problem with submission") |
|
42 | @reporter.report_error(submission,"Grading error: problem with submission") |
|
42 |
- |
|
43 | + raise "engine: user or problem is nil" |
|
43 | end |
|
44 | end |
|
44 |
|
45 | ||
|
45 | # TODO: this is another hack so that output only task can be judged |
|
46 | # TODO: this is another hack so that output only task can be judged |
@@ -64,7 +65,6 | |||||
|
64 | source_name = "source.#{lang_ext}" |
|
65 | source_name = "source.#{lang_ext}" |
|
65 | end |
|
66 | end |
|
66 |
|
67 | ||
|
67 | - begin |
|
||
|
68 | grading_dir = @room_maker.produce_grading_room(submission) |
|
68 | grading_dir = @room_maker.produce_grading_room(submission) |
|
69 | @room_maker.save_source(submission,source_name) |
|
69 | @room_maker.save_source(submission,source_name) |
|
70 | problem_home = @room_maker.find_problem_home(submission) |
|
70 | problem_home = @room_maker.find_problem_home(submission) |
@@ -73,7 +73,8 | |||||
|
73 | # puts "PROBLEM DIR: #{problem_home}" |
|
73 | # puts "PROBLEM DIR: #{problem_home}" |
|
74 |
|
74 | ||
|
75 | if !FileTest.exist?(problem_home) |
|
75 | if !FileTest.exist?(problem_home) |
|
76 | - raise "No test data." |
|
76 | + puts "PROBLEM DIR: #{problem_home}" |
|
|
77 | + raise "engine: No test data." | ||
|
77 | end |
|
78 | end |
|
78 |
|
79 | ||
|
79 | dinit = DirInit::Manager.new(problem_home) |
|
80 | dinit = DirInit::Manager.new(problem_home) |
@@ -95,6 +96,7 | |||||
|
95 |
|
96 | ||
|
96 | rescue RuntimeError => msg |
|
97 | rescue RuntimeError => msg |
|
97 | @reporter.report_error(submission, msg) |
|
98 | @reporter.report_error(submission, msg) |
|
|
99 | + puts "ERROR: #{msg}" | ||
|
98 |
|
100 | ||
|
99 | ensure |
|
101 | ensure |
|
100 | @room_maker.clean_up(submission) |
|
102 | @room_maker.clean_up(submission) |
@@ -129,7 +131,7 | |||||
|
129 | script_dir = "#{problem_home}/script" |
|
131 | script_dir = "#{problem_home}/script" |
|
130 | std_script_dir = get_std_script_dir |
|
132 | std_script_dir = get_std_script_dir |
|
131 |
|
133 | ||
|
132 | - 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) |
|
133 |
|
135 | ||
|
134 | scripts = Dir[std_script_dir + '/*'] |
|
136 | scripts = Dir[std_script_dir + '/*'] |
|
135 |
|
137 |
@@ -11,14 +11,14 | |||||
|
11 | # |
|
11 | # |
|
12 | ############################## |
|
12 | ############################## |
|
13 |
|
13 | ||
|
14 |
- def talk( |
|
14 | + def talk(str='') |
|
15 | if ENV['TALKATIVE']!=nil |
|
15 | if ENV['TALKATIVE']!=nil |
|
16 | puts str |
|
16 | puts str |
|
17 | end |
|
17 | end |
|
18 | if ENV['GRADER_LOGGING']!=nil |
|
18 | if ENV['GRADER_LOGGING']!=nil |
|
19 | log_fname = ENV['GRADER_LOGGING'] |
|
19 | log_fname = ENV['GRADER_LOGGING'] |
|
20 | fp = File.open(log_fname,"a") |
|
20 | fp = File.open(log_fname,"a") |
|
21 |
- fp.puts("run: #{Time.new.strftime("%H:%M")} #{ |
|
21 | + fp.puts("run: #{Time.new.strftime("%H:%M")} #{str}") |
|
22 | fp.close |
|
22 | fp.close |
|
23 | end |
|
23 | end |
|
24 | end |
|
24 | end |
You need to be logged in to leave comments.
Login now