mirror of https://github.com/BOINC/boinc.git
59 lines
1.9 KiB
PHP
59 lines
1.9 KiB
PHP
|
#! /usr/local/bin/php
|
||
|
<?php
|
||
|
//This tests the exponential backoff mechanism on the client in case of downloadURLs going down
|
||
|
//This test is not automated. It has to be run, and then client.out (in the host directory) must be looked at to examine wether everything is working correctly.
|
||
|
include_once("test.inc");
|
||
|
|
||
|
$project = new Project;
|
||
|
$user = new User();
|
||
|
$host = new Host($user);
|
||
|
|
||
|
$app = new App("upper_case");
|
||
|
$app_version = new App_Version($app);
|
||
|
|
||
|
// the following is optional (makes client web download possible)
|
||
|
$core_app = new App("core client");
|
||
|
$core_app_version = new App_Version($core_app);
|
||
|
$project->add_app($core_app);
|
||
|
$project->add_app_version($core_app_version);
|
||
|
|
||
|
$project->add_user($user);
|
||
|
$project->add_app($app);
|
||
|
$project->add_app_version($app_version);
|
||
|
|
||
|
$project->install(); // must install projects before adding to hosts
|
||
|
|
||
|
$host->log_flags = "log_flags.xml";
|
||
|
$host->add_project($project);
|
||
|
$host->install();
|
||
|
|
||
|
echo "adding work\n";
|
||
|
|
||
|
$work = new Work($app);
|
||
|
$work->wu_template = "uc_wu";
|
||
|
$work->result_template = "uc_result";
|
||
|
$work->nresults = 2;
|
||
|
$work->delay_bound = 10;
|
||
|
array_push($work->input_files, "input");
|
||
|
$work->install($project);
|
||
|
|
||
|
$project->start_feeder();
|
||
|
//delete the download_dir immediately
|
||
|
$project->remove_file_upload_handler()
|
||
|
$pid = $host->run_asynch("-exit_when_idle");
|
||
|
|
||
|
//reinstall download_dir after 100 seconds
|
||
|
$project->reinstall_file_upload_handler(20,null);
|
||
|
$status = 0;
|
||
|
//wait until the host has stopped running
|
||
|
pcntl_waitpid($pid,$status,0);
|
||
|
$project->stop();
|
||
|
|
||
|
$result->state = RESULT_STATE_DONE;
|
||
|
$result->stderr_out = "APP: upper_case: starting, argc 1";
|
||
|
$result->exit_status = 0;
|
||
|
$project->check_results(2, $result);
|
||
|
$project->compare_file("uc_wu_0_0", "uc_correct_output");
|
||
|
$project->compare_file("uc_wu_1_0", "uc_correct_output");
|
||
|
?>
|