pts-cor: Few fixes
This commit is contained in:
@@ -36,6 +36,8 @@ class remove_results_from_result_file implements pts_option_interface
|
||||
$result_file = new pts_result_file($r[0]);
|
||||
|
||||
$remove_query = pts_user_io::prompt_user_input('Enter the title / arguments to search for to remove from this result file');
|
||||
$select_results_only = false;
|
||||
//$select_results_only = pts_user_io::prompt_user_input('Limit result removal to only select runs');
|
||||
$remove_count = 0;
|
||||
$table = array();
|
||||
foreach($result_file->get_result_objects() as $id => $result)
|
||||
@@ -43,7 +45,26 @@ class remove_results_from_result_file implements pts_option_interface
|
||||
if(stripos($result->test_profile->get_title(), $remove_query) !== false || stripos($result->test_profile->get_result_scale(), $remove_query) !== false || stripos($result->get_arguments_description(), $remove_query) !== false)
|
||||
{
|
||||
$table[] = array($result->test_profile->get_title(), $result->get_arguments_description(), $result->test_profile->get_result_scale());
|
||||
$result_file->remove_result_object_by_id($id);
|
||||
if($select_results_only && !empty($select_results_only))
|
||||
{
|
||||
foreach($result->test_result_buffer as &$buffers)
|
||||
{
|
||||
if(empty($buffers))
|
||||
continue;
|
||||
|
||||
foreach($buffers as &$buffer_item)
|
||||
{
|
||||
if(stripos($buffer_item->get_result_identifier(), $select_results_only) !== false)
|
||||
{
|
||||
$result->test_result_buffer->remove($buffer_item->get_result_identifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$result_file->remove_result_object_by_id($id);
|
||||
}
|
||||
$remove_count++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -796,6 +796,12 @@ class phodevi_cpu extends phodevi_device_interface
|
||||
case '0xd13':
|
||||
$new_info .= ' Cortex-R52';
|
||||
break;
|
||||
case '0xd14':
|
||||
$new_info .= ' Cortex-R82AE';
|
||||
break;
|
||||
case '0xd15':
|
||||
$new_info .= ' Cortex-R82';
|
||||
break;
|
||||
case '0xd20':
|
||||
$new_info .= ' Cortex-M23';
|
||||
break;
|
||||
@@ -871,6 +877,9 @@ class phodevi_cpu extends phodevi_device_interface
|
||||
case '0x001':
|
||||
$new_info .= ' A64FX';
|
||||
break;
|
||||
case '0x003':
|
||||
$new_info .= ' MONAKA';
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if($implementer == '0x48')
|
||||
|
||||
@@ -229,21 +229,36 @@ class cpu_power extends phodevi_sensor
|
||||
$watts = 0;
|
||||
if(pts_client::executable_in_path('powermetrics'))
|
||||
{
|
||||
// Unfortunately needs sudo so for most uses /etc/sudoers :
|
||||
// username ALL = (ALL) NOPASSWD: /usr/bin/powermetrics
|
||||
$powermetrics = shell_exec("sudo -n powermetrics -n 1 -i 1 --samplers cpu_power 2>&1");
|
||||
if(($x = strpos($powermetrics, 'Combined Power ')) !== false)
|
||||
{
|
||||
$powermetrics = substr($powermetrics, $x);
|
||||
$powermetrics = substr($powermetrics, strpos($powermetrics, ': ') + 2);
|
||||
if(($x = strpos($powermetrics, ' mW')) !== false)
|
||||
{
|
||||
$powermetrics = substr($powermetrics, 0, $x);
|
||||
|
||||
if(($x = strpos($powermetrics, 'Package Power: ')) !== false)
|
||||
{
|
||||
$powermetrics = substr($powermetrics, $x + strlen('Package Power: '));
|
||||
if(($x = strpos($powermetrics, ' mW')) !== false)
|
||||
{
|
||||
$powermetrics = substr($powermetrics, 0, $x);
|
||||
if(is_numeric($powermetrics) && $powermetrics > 0)
|
||||
{
|
||||
$watts = $powermetrics / 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(($x = strpos($powermetrics, 'Package Power: ')) !== false)
|
||||
{
|
||||
$powermetrics = substr($powermetrics, $x + strlen('Package Power: '));
|
||||
if(($x = strpos($powermetrics, ' mW')) !== false)
|
||||
{
|
||||
$powermetrics = substr($powermetrics, 0, $x);
|
||||
|
||||
if(is_numeric($powermetrics) && $powermetrics > 0)
|
||||
{
|
||||
$watts = $powermetrics / 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(is_numeric($powermetrics) && $powermetrics > 0)
|
||||
{
|
||||
$watts = $powermetrics / 1000;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $watts;
|
||||
|
||||
@@ -136,7 +136,7 @@ class pts_result_file_output
|
||||
{
|
||||
$csv_output = null;
|
||||
|
||||
$csv_output .= $result_file->get_title() . PHP_EOL . $result_file->get_description() . PHP_EOL . PHP_EOL;
|
||||
$csv_output .= $delimiter . $result_file->get_title() . $delimiter . PHP_EOL . PHP_EOL;
|
||||
|
||||
$columns = array();
|
||||
$hw = array();
|
||||
|
||||
@@ -969,7 +969,7 @@ class pts_result_viewer_embed
|
||||
if($system_count > 1)
|
||||
{
|
||||
$t .= '<div class="div_table_cell">Highlight<br />Result</div>
|
||||
<div class="div_table_cell">Hide<br />Result</div>';
|
||||
<div class="div_table_cell">Toggle/Hide<br />Result</div>';
|
||||
}
|
||||
|
||||
$t .= '<div class="div_table_cell">Result<br />Identifier</div>';
|
||||
@@ -991,9 +991,10 @@ class pts_result_viewer_embed
|
||||
$hgv = explode(',', $hgv);
|
||||
}
|
||||
$rmm = self::check_request_for_var($request, 'rmm');
|
||||
if(!is_array($rmm))
|
||||
$rmm_is_array = is_array($rmm);
|
||||
if(!$rmm_is_array)
|
||||
{
|
||||
$rmm = explode(',', $rmm);
|
||||
$rmm .= ',';
|
||||
}
|
||||
$start_of_year = strtotime(date('Y-01-01'));
|
||||
$test_run_times = $result_file->get_test_run_times();
|
||||
@@ -1009,7 +1010,7 @@ class pts_result_viewer_embed
|
||||
if($system_count > 1)
|
||||
{
|
||||
$t .= '<div class="div_table_cell"><input type="checkbox" name="hgv[]" value="' . $si . '"' . (is_array($hgv) && in_array($si, $hgv) ? ' checked="checked"' : null) . ' /></div>
|
||||
<div class="div_table_cell"><input type="checkbox" name="rmm[]" value="' . $si . '"' . (is_array($rmm) && in_array($si, $rmm) ? ' checked="checked"' : null) . ' /></div>';
|
||||
<div class="div_table_cell"><input type="checkbox" name="rmm[]" value="' . $si . '"' . (($rmm_is_array && in_array($si, $rmm)) || (!$rmm_is_array && strpos($rmm, $si . ',') !== false) ? ' checked="checked"' : null) . ' /></div>';
|
||||
}
|
||||
|
||||
$t .= '<div class="div_table_cell"><strong>' . $si . '</strong></div>';
|
||||
@@ -1041,8 +1042,8 @@ class pts_result_viewer_embed
|
||||
$t .= '
|
||||
<div class="div_table_row">
|
||||
<div class="div_table_cell"> </div>
|
||||
<div class="div_table_cell"><input type="checkbox" onclick="javascript:invert_hide_all_results_checkboxes();" /></div>
|
||||
<div class="div_table_cell"><em>Invert Hiding All Results Option</em></div>';
|
||||
<div class="div_table_cell"><input type="checkbox" name="rmmi" value="1"' . (self::check_request_for_var($request, 'rmmi') ? ' checked="checked"' : null) . ' /></div>
|
||||
<div class="div_table_cell"><em>Invert Behavior (Only Show Selected Data)</em></div>';
|
||||
|
||||
if($has_system_logs)
|
||||
{
|
||||
@@ -1574,14 +1575,33 @@ class pts_result_viewer_embed
|
||||
}
|
||||
if(($rmm = self::check_request_for_var($request, 'rmm')))
|
||||
{
|
||||
if(!is_array($rmm))
|
||||
if(self::check_request_for_var($request, 'rmmi'))
|
||||
{
|
||||
$rmm = explode(',', $rmm);
|
||||
}
|
||||
// Invert behavior
|
||||
$rmm_is_array = is_array($rmm);
|
||||
if(!$rmm_is_array)
|
||||
{
|
||||
$rmm .= ',';
|
||||
}
|
||||
|
||||
foreach($rmm as $rm)
|
||||
foreach($result_file->get_system_identifiers() as $si)
|
||||
{
|
||||
if(($rmm_is_array && !in_array($si, $rmm)) || (!$rmm_is_array && strpos($rmm, $si . ',') === false))
|
||||
{
|
||||
$result_file->remove_run($si);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$result_file->remove_run($rm);
|
||||
if(!is_array($rmm))
|
||||
{
|
||||
$rmm = explode(',', $rmm);
|
||||
}
|
||||
foreach($rmm as $rm)
|
||||
{
|
||||
$result_file->remove_run($rm);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(self::check_request_for_var($request, 'grs'))
|
||||
|
||||
Reference in New Issue
Block a user