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)
File last commit:
Show/Diff file:
Action:
test/runner_spec.rb | 65 lines | 1.9 KiB | text/x-ruby | RubyLexer |
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)
submission.should_receive(:grader_comment=).with("[PP][PPPPP][PPP]")
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