Show More
Commit Description:
[grader] import script now support raw with testruns...
Commit Description:
[grader] import script now support raw with testruns git-svn-id: http://theory.cpe.ku.ac.th/grader/judge/trunk/scripts@267 6386c4cd-e34a-4fa8-8920-d93eb39b512e
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(/^PASSED/)
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