本文整理汇总了PHP中pts_client::pts_set_environment_variable方法的典型用法代码示例。如果您正苦于以下问题:PHP pts_client::pts_set_environment_variable方法的具体用法?PHP pts_client::pts_set_environment_variable怎么用?PHP pts_client::pts_set_environment_variable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pts_client
的用法示例。
在下文中一共展示了pts_client::pts_set_environment_variable方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: run
public static function run($r)
{
// Make sure you're debugging the latest test script...
pts_test_installer::standard_install($r);
// For debugging, usually running just once is sufficient, unless FORCE_TIMES_TO_RUN is preset
pts_client::pts_set_environment_variable('FORCE_TIMES_TO_RUN', 1);
// Run the test(s) in debug mode
pts_test_run_manager::standard_run($r, pts_c::debug_mode);
}
示例2: run
public static function run($r)
{
pts_client::$display->generic_heading('Random Test Execution');
$allow_new_tests_to_be_installed = pts_user_io::prompt_bool_input('Allow new tests to be installed', true);
$allow_new_dependencies_to_be_installed = $allow_new_tests_to_be_installed ? pts_user_io::prompt_bool_input('Allow new test external dependencies to be installed', false) : false;
$limit_test_subsystem = pts_user_io::prompt_bool_input('Limit tests to a given subsystem', false);
$limit_test_subsystem = $limit_test_subsystem ? pts_user_io::prompt_text_menu('Select subsystem(s) to test', pts_types::subsystem_targets(), true) : false;
$upload_to_openbenchmarking = pts_user_io::prompt_bool_input('Auto-upload test results to OpenBenchmarking.org', true);
while (1) {
$to_test = array();
if ($limit_test_subsystem) {
foreach (explode(',', $limit_test_subsystem) as $test_type) {
$tests = pts_openbenchmarking_client::popular_tests(-1, $test_type);
$to_test = array_merge($to_test, $tests);
}
if (empty($to_test)) {
pts_client::$display->generic_sub_heading('No tests could be found to run.');
return false;
}
shuffle($to_test);
$to_test = array_slice($to_test, 0, rand(1, 12));
} else {
if (rand(1, 6) == 2) {
$ob_ids = pts_openbenchmarking_client::popular_openbenchmarking_results();
$ob_type = rand(0, 1) == 1 ? 'recent_popular_results' : 'recent_results';
if (isset($ob_ids[$ob_type]) && !empty($ob_ids[$ob_type])) {
shuffle($ob_ids[$ob_type]);
$to_test = array(array_pop($ob_ids[$ob_type]));
}
}
}
if (empty($to_test)) {
// Randomly pick some installed tests
$installed_tests = pts_tests::installed_tests();
if ($installed_tests > 3) {
shuffle($installed_tests);
$to_test = array_slice($installed_tests, 0, rand(1, 8));
}
if (!isset($to_test[2]) && $allow_new_tests_to_be_installed) {
$available_tests = pts_openbenchmarking::available_tests();
shuffle($available_tests);
$to_test = array_merge($to_test, array_slice($available_tests, 0, rand(1, 10)));
}
}
if (empty($to_test)) {
pts_client::$display->generic_sub_heading('No tests could be found to run.');
return false;
}
echo PHP_EOL;
pts_client::$display->generic_sub_heading('Tests To Run: ' . implode(', ', $to_test));
// QUERY FROM OB
$random_titles = array(phodevi::read_property('cpu', 'model') . ' Benchmarks', phodevi::read_property('system', 'operating-system') . ' Benchmarks', phodevi::read_property('system', 'operating-system') . ' Performance', phodevi::read_property('cpu', 'model') . ' Performance', phodevi::read_property('cpu', 'model') . ' + ' . phodevi::read_property('gpu', 'model') . ' + ' . phodevi::read_property('motherboard', 'identifier'), phodevi::read_property('motherboard', 'identifier') . ' On ' . phodevi::read_property('system', 'operating-system'), phodevi::read_property('cpu', 'model') . ' On ' . phodevi::read_property('system', 'operating-system'), phodevi::read_property('system', 'kernel') . ' + ' . phodevi::read_property('system', 'operating-system') . ' Tests');
shuffle($random_titles);
$title = array_pop($random_titles);
if ($limit_test_subsystem) {
$subsystems_to_test = explode(',', $limit_test_subsystem);
$subsystems_to_avoid = array_diff(pts_types::subsystem_targets(), $subsystems_to_test);
pts_client::pts_set_environment_variable('SKIP_TESTING_SUBSYSTEMS', implode(',', $subsystems_to_avoid));
}
if ($allow_new_tests_to_be_installed) {
pts_test_installer::standard_install($to_test, false, true, $allow_new_dependencies_to_be_installed);
}
$batch_mode_settings = array('UploadResults' => false, 'SaveResults' => true, 'PromptForTestDescription' => false, 'RunAllTestCombinations' => false, 'PromptSaveName' => false, 'PromptForTestIdentifier' => false, 'OpenBrowser' => false);
if ($upload_to_openbenchmarking) {
$batch_mode_settings['UploadResults'] = true;
pts_openbenchmarking_client::override_client_setting('UploadSystemLogsByDefault', true);
}
pts_test_run_manager::set_batch_mode($batch_mode_settings);
$test_run_manager = new pts_test_run_manager($batch_mode_settings, 2);
if ($test_run_manager->initial_checks($to_test) != false) {
if ($test_run_manager->load_tests_to_run($to_test)) {
// SETUP
$test_run_manager->auto_save_results($title, null, 'Various open-source benchmarks by the ' . pts_core::program_title(true) . '.', true);
$test_run_manager->auto_generate_results_identifier();
echo PHP_EOL;
pts_client::$display->generic_sub_heading('Result File: ' . $test_run_manager->get_file_name());
pts_client::$display->generic_sub_heading('Result Identifier: ' . $test_run_manager->get_results_identifier());
// BENCHMARK
$test_run_manager->pre_execution_process();
$test_run_manager->call_test_runs();
$test_run_manager->post_execution_process();
pts_client::remove_saved_result_file($test_run_manager->get_file_name());
}
}
echo PHP_EOL;
sleep(30);
}
}
示例3: run
public static function run($r)
{
if (pts_openbenchmarking_client::user_name() == false) {
echo PHP_EOL . 'You must first be logged into an OpenBenchmarking.org account.' . PHP_EOL;
echo PHP_EOL . 'Create An Account: http://openbenchmarking.org/';
echo PHP_EOL . 'Log-In Command: phoronix-test-suite openbenchmarking-setup' . PHP_EOL . PHP_EOL;
return false;
}
ini_set('memory_limit', '2048M');
foreach (pts_types::identifiers_to_test_profile_objects($r, false, true) as $test_profile) {
$qualified_identifier = $test_profile->get_identifier();
// First make sure the test profile is already in the OpenBenchmarking.org database...
$json = pts_openbenchmarking::make_openbenchmarking_request('is_test_profile', array('i' => $qualified_identifier));
$json = json_decode($json, true);
if (!isset($json['openbenchmarking']['test']['valid']) || $json['openbenchmarking']['test']['valid'] != 'TRUE') {
echo PHP_EOL . $qualified_identifier . ' must first be uploaded to OpenBenchmarking.org.' . PHP_EOL;
// break;
}
// Set some other things...
pts_client::pts_set_environment_variable('FORCE_TIMES_TO_RUN', 1);
pts_client::pts_set_environment_variable('TEST_RESULTS_NAME', $test_profile->get_title() . ' Testing ' . date('Y-m-d'));
pts_client::pts_set_environment_variable('TEST_RESULTS_IDENTIFIER', 'Sample Run');
pts_client::pts_set_environment_variable('TEST_RESULTS_DESCRIPTION', 1);
pts_openbenchmarking_client::override_client_setting('AutoUploadResults', true);
pts_openbenchmarking_client::override_client_setting('UploadSystemLogsByDefault', true);
// Take screenshots
pts_client::pts_set_environment_variable('SCREENSHOT_INTERVAL', 9);
pts_module_manager::attach_module('timed_screenshot');
$force_ss = true;
$reference_ss_file = pts_module_manager::module_call('timed_screenshot', 'take_screenshot', $force_ss);
sleep(2);
$apitrace = pts_file_io::glob('/usr/local/lib/*/apitrace/wrappers/glxtrace.so');
if (!empty($apitrace) && pts_client::executable_in_path('apitrace')) {
$apitrace = array_shift($apitrace);
putenv('LD_PRELOAD=' . $apitrace);
} else {
$apitrace = false;
}
// So for any compiling tasks they will try to use the most aggressive instructions possible
putenv('CFLAGS=-march=native -O3');
putenv('CXXFLAGS=-march=native -O3');
pts_test_installer::standard_install($qualified_identifier, true);
$run_manager = new pts_test_run_manager(false, 2);
$run_manager->standard_run($qualified_identifier);
if ($apitrace) {
putenv('LD_PRELOAD=');
}
if ($reference_ss_file) {
$reference_ss = pts_image::image_file_to_gd($reference_ss_file);
unlink($reference_ss_file);
$screenshots_gd = array();
$screenshots = pts_module_manager::module_call('timed_screenshot', 'get_screenshots');
var_dump($screenshots);
foreach ($screenshots as $ss_file) {
$screenshots_gd[$ss_file] = pts_image::image_file_to_gd($ss_file);
if ($screenshots_gd[$ss_file] == false) {
continue;
}
$ss_delta = pts_image::gd_image_delta_composite($reference_ss, $screenshots_gd[$ss_file], true);
if (count($ss_delta) < floor(imagesx($reference_ss) * 0.5600000000000001) || filesize($ss_file) > 2097152) {
// If less than 56% of the pixels are changing on X, then likely not much to show off... (CLI only likely)
// Or if filesize of image is beyond 2MB
//echo 'dropping' . $ss_file . PHP_EOL;
unset($screenshots_gd[$ss_file]);
pts_file_io::unlink($ss_file);
}
}
$ss_files = array_keys($screenshots_gd);
shuffle($ss_files);
// Don't upload more than 4MB worth of screenshots
while (pts_file_io::array_filesize($ss_files) > 1048576 * 2) {
$f = array_pop($ss_files);
unlink($f);
}
if (count($ss_files) > 0) {
$c = 1;
foreach ($ss_files as $i => $file) {
$new_file = dirname($file) . '/screenshot-' . $c . '.png';
rename($file, $new_file);
$ss_files[$i] = $new_file;
$c++;
}
$ss_zip_file = PTS_OPENBENCHMARKING_SCRATCH_PATH . 'screenshots-' . $test_profile->get_identifier_base_name() . '-' . $test_profile->get_test_profile_version() . '.zip';
$zip_created = pts_compression::zip_archive_create($ss_zip_file, $ss_files);
if ($zip_created) {
echo count($ss_files) . ' screenshots captured for use.';
//'tp_sha1' => sha1_file($zip_file),
//'tp_zip' => base64_encode(file_get_contents($zip_file)),
}
foreach ($ss_files as $file) {
// pts_file_io::unlink($file);
}
}
}
$test_binary = self::locate_test_profile_lead_binary($test_profile);
$shared_library_dependencies = array();
$instruction_usage = array();
$gl_calls = null;
if (is_executable($test_binary)) {
if ($apitrace) {
//.........这里部分代码省略.........