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 | 358 | begin |
|
359 | 359 | submission = Submission.find(sub_id.to_i) |
|
360 | 360 | rescue ActiveRecord::RecordNotFound |
|
361 |
- puts " |
|
|
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 |
- |
|
|
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) |
@@ -73,7 +73,8 | |||
|
73 | 73 | # puts "PROBLEM DIR: #{problem_home}" |
|
74 | 74 | |
|
75 | 75 | if !FileTest.exist?(problem_home) |
|
76 | - raise "No test data." | |
|
76 | + puts "PROBLEM DIR: #{problem_home}" | |
|
77 | + raise "engine: No test data." | |
|
77 | 78 | end |
|
78 | 79 | |
|
79 | 80 | dinit = DirInit::Manager.new(problem_home) |
@@ -95,6 +96,7 | |||
|
95 | 96 | |
|
96 | 97 | rescue RuntimeError => msg |
|
97 | 98 | @reporter.report_error(submission, msg) |
|
99 | + puts "ERROR: #{msg}" | |
|
98 | 100 | |
|
99 | 101 | ensure |
|
100 | 102 | @room_maker.clean_up(submission) |
@@ -129,7 +131,7 | |||
|
129 | 131 | script_dir = "#{problem_home}/script" |
|
130 | 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 | 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 | 15 | if ENV['TALKATIVE']!=nil |
|
16 | 16 | puts str |
|
17 | 17 | end |
|
18 | 18 | if ENV['GRADER_LOGGING']!=nil |
|
19 | 19 | log_fname = ENV['GRADER_LOGGING'] |
|
20 | 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 | 22 | fp.close |
|
23 | 23 | end |
|
24 | 24 | end |
You need to be logged in to leave comments.
Login now