Best Phoronix-test-suite code snippet using compare_results_two_way
compare_results_two_way.php
Source:compare_results_two_way.php
...14 GNU General Public License for more details.15 You should have received a copy of the GNU General Public License16 along with this program. If not, see <http://www.gnu.org/licenses/>.17*/18class compare_results_two_way implements pts_option_interface19{20 const doc_section = 'Result Management';21 const doc_description = 'This option will allows you to specify a result file and from there to compare two individual runs within that result file for looking at wins/losses and other metrics in a head-to-head type comparison.';22 static $longest_identifier = 0;23 public static function argument_checks()24 {25 return array(26 new pts_argument_check(0, array('pts_types', 'is_result_file'), null),27 );28 }29 protected static function sort_two_way_data_desc($a, $b)30 {31 self::$longest_identifier = max(self::$longest_identifier, strlen($a[0]->test_profile->get_title()), strlen($b[0]->test_profile->get_title()), strlen($a[0]->get_arguments_description()), strlen($b[0]->get_arguments_description()));32 $a = $a[1];33 $b = $b[1];34 if($a == $b) return 0;35 return $a > $b ? -1 : 1;36 }37 protected static function sort_two_way_data_asc($a, $b)38 {39 $a = $a[1];40 $b = $b[1];41 if($a == $b) return 0;42 return $a < $b ? -1 : 1;43 }44 public static function run($r)45 {46 $result_file = new pts_result_file($r[0]);47 $result_file_identifiers = $result_file->get_system_identifiers();48 if(count($result_file_identifiers) < 2)49 {50 echo PHP_EOL . 'There must be at least two systems in the result file.' . PHP_EOL . PHP_EOL;51 return false;52 }53 $first_run = pts_user_io::prompt_text_menu('Select the first test run for head-to-head/two-way comparison', $result_file_identifiers, false);54 unset($result_file_identifiers[array_search($first_run, $result_file_identifiers)]);55 $second_run = pts_user_io::prompt_text_menu('Select the second test run for head-to-head/two-way comparison', $result_file_identifiers, false);56 $wins = array();57 $losses = array();58 $too_close = array();59 foreach($result_file->get_result_objects() as $ro)60 {61 $ro->set_result_precision(3);62 if($ro->normalize_buffer_values($first_run) == false)63 {64 continue;65 }66 $first_run_result = $ro->get_result_value_from_name($first_run);67 if(empty($first_run_result) || !is_numeric($first_run_result))68 {69 continue;70 }71 $second_run_result = $ro->get_result_value_from_name($second_run);72 if(empty($second_run_result) || !is_numeric($second_run_result))73 {74 continue;75 }76 if($second_run_result > 1.01)77 {78 $wins[] = array($ro, $second_run_result);79 }80 else if($second_run_result < 0.99)81 {82 $losses[] = array($ro, $second_run_result);83 }84 else85 {86 $too_close[] = array($ro, $second_run_result);87 }88 }89 usort($wins, array('compare_results_two_way', 'sort_two_way_data_desc'));90 usort($losses, array('compare_results_two_way', 'sort_two_way_data_desc'));91 // , $second_run . pts_client::cli_colored_text(' Draws', 'gray', true) => $too_close92 echo pts_client::cli_just_bold($second_run . ' vs. ' . $first_run . ' Baseline') . PHP_EOL . PHP_EOL;93 foreach(array(pts_client::cli_colored_text($second_run . ' Wins', 'green', true) => $wins, pts_client::cli_colored_text($second_run . ' Losses', 'red', 'true') => $losses) as $group => $data)94 {95 echo $group . PHP_EOL;96 foreach($data as $result_data)97 {98 echo pts_client::cli_just_bold($result_data[0]->test_profile->get_title()) . str_repeat(' ', self::$longest_identifier - strlen($result_data[0]->test_profile->get_title())) . ' ' . $result_data[1] . 'x' . PHP_EOL;99 if($result_data[0]->get_arguments_description() != null)100 {101 echo pts_client::cli_just_italic($result_data[0]->get_arguments_description()) . PHP_EOL;102 }103 }104 echo pts_client::cli_just_underline(count($data) . ' Results') . PHP_EOL . PHP_EOL;...
compare_results_two_way
Using AI Code Generation
1require_once('pts-core.php');2require_once('pts-core/pts-test-result.php');3require_once('pts-core/pts-test-result-merge.php');4require_once('pts-core/pts-test-results.php');5require_once('pts-core/pts-test-profile.php');6require_once('pts-core/pts-test-identifier.php');7require_once('pts-core/pts-test.php');8require_once('pts-core/pts-test-suite.php');9require_once('pts-core/pts-test-suite-objects.php');10require_once('pts-core/pts-test-run-request.php');11require_once('pts-core/pts-test-run-manager.php');12require_once('pts-core/pts-test-run-result.php');13require_once('pts-core/pts-test-run-request.php');14require_once('pts-core/pts-test-run-options.php');
compare_results_two_way
Using AI Code Generation
1require_once('/usr/share/phoronix-test-suite/pts-core/pts-core.php');2$test = new compare_results_two_way();3$test->set_identifier('Test1');4$test->set_identifier_two('Test2');5$test->set_result_scale('Default');6$test->set_result_proportion('Default');7$test->set_result_proportion('LINEAR');8$test->set_result_proportion('LOGARITHMIC');9$test->set_result_proportion('INVERSE');10$test->set_result_proportion('SQRT');11$test->set_result_proportion('SQUARE');12$test->set_result_proportion('CUBE');13$test->set_result_proportion('FOURTH');14$test->set_result_proportion('FIFTH');15$test->set_result_proportion('SIXTH');16$test->set_result_proportion('SEVENTH');17$test->set_result_proportion('EIGHTH');18$test->set_result_proportion('NINTH');19$test->set_result_proportion('TENTH');20$test->set_result_proportion('ELEVENTH');21$test->set_result_proportion('TWELFTH');22$test->set_result_proportion('THIRTEENTH');23$test->set_result_proportion('FOURTEENTH');24$test->set_result_proportion('FIFTEENTH');25$test->set_result_proportion('SIXTEENTH');26$test->set_result_proportion('SEVENTEENTH');27$test->set_result_proportion('EIGHTEENTH');28$test->set_result_proportion('NINETEENTH');29$test->set_result_proportion('TWENTIETH');30$test->set_result_proportion('TWENTY-FIRST');31$test->set_result_proportion('TWENTY-SECOND');32$test->set_result_proportion('TWENTY-THIRD');33$test->set_result_proportion('TWENTY-FOURTH');34$test->set_result_proportion('TWENTY-FIFTH');35$test->set_result_proportion('TWENTY-SIXTH');36$test->set_result_proportion('TWENTY-SEVENTH');37$test->set_result_proportion('TWENTY-EIGHTH');38$test->set_result_proportion('TWENTY-NINTH');
compare_results_two_way
Using AI Code Generation
1include_once "compare_results_two_way.php";2$obj = new CompareResultsTwoWay();3$obj->SetResultOneFile("case1.xml");4$obj->SetResultTwoFile("case2.xml");5$obj->SetResultOneName("case1");6$obj->SetResultTwoName("case2");7$obj->SetComparisonType("h");8$obj->SetComparisonOutputFile("comparison.html");9$obj->SetComparisonOutputType("html");10$obj->CompareResults();
compare_results_two_way
Using AI Code Generation
1function compare_results_two_way($result1, $result2)2{3$result = 0;4if (is_comparable($result1, $result2) == 0)5{6if (is_greater($result1, $result2) == 1)7{8$result = 1;9}10else if (is_greater($result2, $result1) == 1)11{12$result = -1;13}14else if (is_equal($result1, $result2) == 1)15{16$result = 0;17}18}19{20$result = 2;21}22return $result;23}24function is_comparable($result1, $result2)25{
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Trigger Selenium automation tests on a cloud-based Grid of 3000+ real browsers and operating systems.
Test now for FreeGet 100 minutes of automation test minutes FREE!!