/** * @dataProvider provider */ public function testSubmission ($a, $b, $c) { $cwd = realpath(getcwd()); $sub = SubmissionTable::get_submission ($a); if (is_file ($sub->getXmlFile())) $oldResult = file_get_contents ($sub->getXmlFile ()); else $oldResult = ""; SubmissionTable::set_score($a, 23); $sp = new SubmissionProcessor(); $sp->process ($a); $db = contestDB::get_zend_db (); $res = $db->select()->from("submissionqueue")->where("id=$a")->query(); $row = $res->fetch(); $this->assertEquals (array ($b, $c), array ($row->score, $row->state)); $sub = SubmissionTable::get_submission ($a); $this->assertNotEquals ($oldResult, file_get_contents ($sub->getXmlFile ())); $sub->validateResultXML (); }
/** * @dataProvider provider */ public function testUpload ($user, $prob, $lang, $source, $owner, $score, $result) { ob_start (); $a = UploadSubmission::upload ($user, $prob, $lang, $source, $owner); ob_end_clean (); $this->assertGreaterThan (0, $a); $b = $score; ob_start (); $sp = new SubmissionProcessor(); $sp->process ($a); ob_end_clean (); $db = contestDB::get_zend_db (); $res = $db->select()->from("submissionqueue")->where("id=$a")->query(); $row = $res->fetch(); $this->assertEquals (array($b, $result), array($row->score, $row->state)); $sub = SubmissionTable::get_submission ($a); $this->assertNotEquals ($sub, NULL); $this->assertTrue ($sub->validateResultXML ()); }
* This processes command line input to compile and * run code and produces XMLised output of the submission * result. */ chdir(dirname($argv[0])); require_once "../config.inc"; require_once "lib/db.inc"; require_once "lib/submissions.inc"; require_once "lib/problems.inc"; require_once "submissions-processor.inc"; if (empty(config::$results_directory)) { die("Please specify a results directory in config.inc or" . " local_config.inc "); } if ($argc < 2) { echo "Usage: " . $argv[0] . " <submissioncode> \n"; echo "Not meant to be called directly\n"; exit(1); } if ($argc > 2 && $argv[2] == "--debug") { $debug = true; define(DEBUG, 1); } else { $debug = false; } /* * Submission ID */ $sub_id = $argv[1]; $sp = new SubmissionProcessor(); $sp->process($sub_id, $debug);