Пример #1
0
            print_msg(sprintf('missing dependency %s', $dependency), $verbose, __FILE__, __LINE__, TRUE);
        }
        exit(1);
    } else {
        if (!BlockStorageTest::validateFio($options)) {
            print_msg(sprintf('fio version 2.* is required'), $verbose, __FILE__, __LINE__, TRUE);
            exit(1);
        }
    }
}
print_msg(sprintf('Starting block storage tests [%s] using targets [%s] and %ds timeout', implode(', ', $options['test']), implode(', ', $options['target']), $options['timeout']), $verbose, __FILE__, __LINE__);
ini_set('max_execution_time', $options['timeout']);
$exitCode = 0;
$controllers = array();
foreach ($options['test'] as $test) {
    if ($controller =& BlockStorageTest::getTestController($test, $options)) {
        print_msg(sprintf('Starting %s block storage test', strtoupper($test)), $verbose, __FILE__, __LINE__);
        // purge targets
        if (isset($options['nopurge']) && $options['nopurge']) {
            print_msg(sprintf('Target purge skipped due to use of --nopurge'), $verbose, __FILE__, __LINE__);
        } else {
            if (!$controller->purge()) {
                $exitCode = 1;
                print_msg(sprintf('Testing aborted because test targets could not be purged and --nopurge argument was not specified'), $verbose, __FILE__, __LINE__, TRUE);
                break;
            } else {
                print_msg(sprintf('Target purge successful - continuing testing'), $verbose, __FILE__, __LINE__);
            }
        }
        // workload independent pre-conditioning
        $controller->start();