function judge_all_unjudged() { while ($task = get_one_unjudged_task()) { verbose(cli_heading('TASK: ' . $task->id, true)); verbose('Judging...'); try { $task = onlinejudge_judge($task); verbose("Successfully judged: {$task->status}"); } catch (Exception $e) { $info = get_exception_info($e); $errmsg = "Judged inner level exception handler: " . $info->message . ' Debug: ' . $info->debuginfo . "\n" . format_backtrace($info->backtrace, true); cli_problem($errmsg); // Continue to get next unjudged task } } }
function triger_test($language, $files, $input, $output, $cpulimit, $memlimit, $expect) { global $DB; $judgeclass = 'judge_' . onlinejudge_judge_name($language); if (!$judgeclass::is_available()) { // skip unavailable judge return; } $options->input = $input; $options->output = $output; $options->cpulimit = $cpulimit; $options->memlimit = $memlimit; $options->var1 = ideoneuser; $options->var2 = ideonepass; $taskid = onlinejudge_submit_task(1, 1, $language, $files, 'simpletest', $options); $task = onlinejudge_judge($taskid); $this->assertEqual($task->status, $expect); }