Description:
Merge branch 'master' of gitorious.org:cafe-grader/cafe-grader-judge-scripts into win-local
Commit status:
[Not Reviewed]
References:
merge default
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r113:c3fb576034e2 - - 1 file changed: 4 inserted, 1 deleted

@@ -137,49 +137,52
137 137 save_result(test_request,read_result(test_result_dir))
138 138 end
139 139
140 140 def report_error(test_request, msg)
141 141 save_result(test_request, {:running_stat => {
142 142 :msg => "#{msg}",
143 143 :running_time => nil,
144 144 :exit_status => "Some error occured. Program did not run",
145 145 :memory_usage => nil
146 146 }})
147 147 end
148 148
149 149 protected
150 150 def read_result(test_result_dir)
151 151 # TODO:
152 152 cmp_msg_fname = "#{test_result_dir}/compiler_message"
153 153 cmp_file = File.open(cmp_msg_fname)
154 154 cmp_msg = cmp_file.read
155 155 cmp_file.close
156 156
157 157 result_file_name = "#{test_result_dir}/1/result"
158 158
159 159 if File.exists?(result_file_name)
160 160 output_file_name = "#{test_result_dir}/1/output.txt"
161 - results = File.open("#{test_result_dir}/1/result").readlines
161 + results = []
162 + File.open("#{test_result_dir}/1/result") do |f|
163 + results = f.readlines
164 + end
162 165 stat = extract_running_stat(results)
163 166
164 167 return {
165 168 :output_file_name => output_file_name,
166 169 :running_stat => stat,
167 170 :comment => "",
168 171 :cmp_msg => cmp_msg}
169 172 else
170 173 return {
171 174 :running_stat => nil,
172 175 :comment => "Compilation error",
173 176 :cmp_msg => cmp_msg}
174 177 end
175 178 end
176 179
177 180 def extract_running_stat(results)
178 181 running_stat_line = results[-1]
179 182
180 183 # extract exit status line
181 184 run_stat = ""
182 185 if !(/[Cc]orrect/.match(results[0]))
183 186 run_stat = results[0].chomp
184 187 else
185 188 run_stat = 'Program exited normally'
You need to be logged in to leave comments. Login now