Beispiel #1
0
	/**
	 * @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 ();
	}
Beispiel #2
0
	/**
	 * @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 ());
	}
Beispiel #3
0
 * 
 * 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);