Description:
fixed judge craching when some test case is not present git-svn-id: http://theory.cpe.ku.ac.th/grader/judge/trunk/scripts@367 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

r67:b65f81409564 - - 1 file changed: 8 inserted, 6 deleted

@@ -92,54 +92,56
92 92 def Problem.set_instance(prob)
93 93 @instance = prob
94 94 end
95 95
96 96 def Problem.get_instance
97 97 return @instance
98 98 end
99 99
100 100 def well_formed?
101 101 # Check if run 1 to run @runs.length are present.
102 102 (1..(@runs.length-1)).each do |i|
103 103 if @runs[i] == nil
104 104 puts "run #{i} is not present"
105 105 return false
106 106 end
107 107 end
108 108
109 109 # Check if all tests are in one and only one run.
110 110 test_present = []
111 111 (1..(@num_tests)).each do |i|
112 112 test_present[i] = false
113 113 end
114 114 (1..(@runs.length-1)).each do |j|
115 115 run = @runs[j]
116 - run.tests.each do |t|
117 - if test_present[t] == false
118 - test_present[t] = true
119 - else
120 - puts "test #{t} is present in more than one run"
121 - return false
116 + if run.tests!=nil
117 + run.tests.each do |t|
118 + if test_present[t] == false
119 + test_present[t] = true
120 + else
121 + puts "test #{t} is present in more than one run"
122 + return false
123 + end
122 124 end
123 125 end
124 126 end
125 127 (1..(@num_tests)).each do |i|
126 128 if test_present[i] == false
127 129 puts "test #{i} is not present"
128 130 return false
129 131 end
130 132 end
131 133
132 134 # Check if we can find the score, mem limit, and time limit for all tests.
133 135 (1..(@num_tests)).each do |i|
134 136 begin
135 137 get_score i
136 138 rescue
137 139 puts "cannot get score for test #{i}"
138 140 return false
139 141 end
140 142
141 143 begin
142 144 get_mem_limit i
143 145 rescue
144 146 puts "cannot get mem limit for test #{i}"
145 147 return false
You need to be logged in to leave comments. Login now