Show More
Commit Description:
handle the case when problem id or submission id is null. Grader will simply skip such request. Add more report on console (for command line grading)...
Commit Description:
handle the case when problem id or submission id is null. Grader will simply skip such request. Add more report on console (for command line grading)
(mercurial grafted from d233105d3965c5368c9b33125f390e39b25f910e)
References:
File last commit:
Show/Diff file:
Action:
test/runner_spec.rb
| 65 lines
| 1.9 KiB
| text/x-ruby
| RubyLexer
|
|
r23 | require File.join(File.dirname(__FILE__),'spec_helper') | ||
require File.join(File.dirname(__FILE__),'engine_spec_helper') | ||||
describe "A grader runner, when grade task" do | ||||
include GraderEngineHelperMethods | ||||
before(:each) do | ||||
@config = Grader::Configuration.get_instance | ||||
@problem_test_normal = stub(Problem, | ||||
:id => 1, :name => 'test_normal', | ||||
:full_score => 135) | ||||
@user_user1 = stub(User, | ||||
:id => 1, :login => 'user1') | ||||
@engine = Grader::Engine.new | ||||
@runner = Grader::Runner.new(@engine) | ||||
init_sandbox | ||||
end | ||||
it "should just return nil when there is no submission" do | ||||
Task.should_receive(:get_inqueue_and_change_status).and_return(nil) | ||||
@runner.grade_oldest_task.should be_nil | ||||
end | ||||
it "should grade oldest task in queue" do | ||||
submission = create_normal_submission_mock_from_file("test1_correct.c") | ||||
submission.should_receive(:graded_at=) | ||||
submission.should_receive(:points=).with(135) | ||||
|
r77 | submission.should_receive(:grader_comment=).with("[PP][PPPPP][PPP]") | ||
|
r23 | submission.should_receive(:compiler_message=).with('') | ||
submission.should_receive(:save) | ||||
# mock task | ||||
task = stub(Task,:id => 1, :submission_id => submission.id) | ||||
Task.should_receive(:get_inqueue_and_change_status).and_return(task) | ||||
task.should_receive(:status_complete!) | ||||
# mock Submission | ||||
Submission.should_receive(:find). | ||||
with(task.submission_id). | ||||
and_return(submission) | ||||
@runner.grade_oldest_task | ||||
end | ||||
# to be converted | ||||
def test_grade_oldest_task_with_grader_process | ||||
grader_process = stub | ||||
grader_process.expects(:report_active) | ||||
@runner = Grader::Runner.new(@engine,grader_process) | ||||
test_grade_oldest_task | ||||
end | ||||
protected | ||||
def create_normal_submission_mock_from_file(source_fname) | ||||
create_submission_from_file(1, @user_user1, @problem_test_normal, source_fname) | ||||
end | ||||
end | ||||