Description:
fix test run scoring bug git-svn-id: http://theory.cpe.ku.ac.th/grader/judge/trunk/scripts@126 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

r32:f9158ac7d119 - - 3 files changed: 35 inserted, 0 deleted

@@ -0,0 +1,13
1 + #include <stdio.h>
2 +
3 + int main()
4 + {
5 + int a,b;
6 + scanf("%d %d",&a,&b);
7 + if((a==1) && (b==1))
8 + printf("100\n");
9 + else
10 + printf("%d\n",a+b);
11 + return 0;
12 + }
13 +
@@ -59,23 +59,37
59 59 run_score = run_score + result_file_lines[1].to_i
60 60 run_comment += result_file_lines[0]
61 61 run_comment_short += char_comment(result_file_lines[0])
62 62 result_file.close
63 63 end
64 64 end
65 +
66 + # find total score for this run
67 + run_total_score = 0
68 + problem = Problem.get_instance
69 + run.tests.each { |test_num| run_total_score += problem.get_score(test_num) }
70 +
71 + if run_total_score!=run_score # fail in some test cases, fail the run
72 + run_score = 0
73 + end
65 74
66 75 run_result_file = File.new("result-#{k}", "w")
67 76 run_result_file.write run_score
68 77 run_result_file.write "\n"
69 78 run_result_file.close
70 79
71 80 run_comment_file = File.new("comment-#{k}", "w")
72 81 run_comment_file.write "#{run_comment}\n"
73 82 run_comment_file.close
74 83
75 84 all_score = all_score + run_score
85 +
86 + # append comment for test run with many test cases
87 + if run.tests.length > 1
88 + run_comment_short = '[' + run_comment_short + ']'
89 + end
76 90 all_comment += run_comment_short
77 91 end
78 92
79 93 result_file = File.new("result", "w")
80 94 result_file.write all_score
81 95 result_file.write "\n"
@@ -78,12 +78,20
78 78 :on => @problem_test_memory,
79 79 :and_report => {
80 80 :score => 10,
81 81 :comment => /FAILED: [^P]P/})
82 82 end
83 83
84 + it "should score test runs correctly when submission fails in some test case" do
85 + grader_should(:grade => "add_fail_test_case_1.c",
86 + :on => @problem_test_normal,
87 + :and_report => {
88 + :score => 105,
89 + :comment => /^FAILED:/})
90 + end
91 +
84 92 it "should fail submission with non-zero exit status" do
85 93 violated("has not been implemented")
86 94 end
87 95
88 96 def grader_should(args)
89 97 @user1 = stub(User,
You need to be logged in to leave comments. Login now