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);
 }