185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#!/usr/bin/perl
285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#  ********************************************************************
385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#  * COPYRIGHT:
485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#  * Copyright (c) 2008, International Business Machines Corporation and
585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#  * others. All Rights Reserved.
685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#  ********************************************************************
785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#use strict;
985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire House lib '../perldriver';
1185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
1285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Horequire "../perldriver/Common.pl";
1385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
1485bf2e2fbc60a9f938064abc8127d61da7d19882Claire House PerfFramework;
1585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
1685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $options = {
1785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "title"=>"Collation performanceregression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")",
1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho           "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion,
1985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "operationIs"=>"unicode String",
2085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "passes"=>"1",
2185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "time"=>"2",
2285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       #"outputType"=>"HTML",
2385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "dataDir"=>$CollationDataPath,
2485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho           "outputDir"=>"../results"
2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	      };
2685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
2785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho# programs
2885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho# tests will be done for all the programs. Results will be stored and connected
2985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $p1, $p2;
3085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
3185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoif ($OnWindows) {
3285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p1 = $ICUPathPrevious."/collperf/$WindowsPlatform/Release/collperf.exe";
3385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p2 = $ICUPathLatest."/collperf/$WindowsPlatform/Release/collperf.exe";
3485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} else {
3585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p1 = $ICUPathPrevious."/collperf/collperf";
3685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p2 = $ICUPathLatest."/collperf/collperf";
3785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}
3885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
3985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
4085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $tests = {
4185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Key Gen ICU null",  ["$p1 TestIcu_KeyGen_null", "$p2 TestIcu_KeyGen_null"],
4285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Key Gen ICU len",  ["$p1 TestIcu_KeyGen_len", "$p2 TestIcu_KeyGen_len"],
4385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration icu forward null",  ["$p1 TestIcu_ForwardIter_null", "$p2 TestIcu_ForwardIter_null"],
4485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration icu forward len",  ["$p1 TestIcu_ForwardIter_len", "$p2 TestIcu_ForwardIter_len"],
4585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration icu backward null",  ["$p1 TestIcu_BackwardIter_null", "$p2 TestIcu_BackwardIter_null"],
4685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration icu backward len",  ["$p1 TestIcu_BackwardIter_len", "$p2 TestIcu_BackwardIter_len"],
4785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration/all icu forward null",  ["$p1 TestIcu_ForwardIter_all_null", "$p2 TestIcu_ForwardIter_all_null"],
4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration/all icu forward len",  ["$p1 TestIcu_ForwardIter_all_len", "$p2 TestIcu_ForwardIter_all_len"],
4985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration/all icu backward null",  ["$p1 TestIcu_BackwardIter_all_null", "$p2 TestIcu_BackwardIter_all_null"],
5085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Iteration/all icu backward len",  ["$p1 TestIcu_BackwardIter_all_len", "$p2 TestIcu_BackwardIter_all_len"],
5185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "qsort icu strcoll null",  ["$p1 TestIcu_qsort_strcoll_null", "$p2 TestIcu_qsort_strcoll_null"],
5285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "qsort icu strcoll len",  ["$p1 TestIcu_qsort_strcoll_len", "$p2 TestIcu_qsort_strcoll_len"],
5385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "qsort icu use key",  ["$p1 TestIcu_qsort_usekey", "$p2 TestIcu_qsort_usekey"],
5485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Binary Search icu strcoll null",  ["$p1 TestIcu_BinarySearch_strcoll_null", "$p2 TestIcu_BinarySearch_strcoll_null"],
5585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Binary Search icu strcoll len",  ["$p1 TestIcu_BinarySearch_strcoll_len", "$p2 TestIcu_BinarySearch_strcoll_len"],
5685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Binary Search icu use key",  ["$p1 TestIcu_BinarySearch_usekey", "$p2 TestIcu_BinarySearch_usekey"],
5785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Binary Search icu u_strcmp",  ["$p1 TestIcu_BinarySearch_strcmp", "$p2 TestIcu_BinarySearch_strcmp"],
5885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	     "Binary Search icu cmpCPO",  ["$p1 TestIcu_BinarySearch_cmpCPO", "$p2 TestIcu_BinarySearch_cmpCPO"],
5985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	    };
6085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
6185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $dataFiles = {
6285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		 "",
6385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		 [
6485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Asian.txt",
6585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Chinese.txt",
6685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Japanese.txt",
6785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Japanese_h.txt",
6885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Japanese_k.txt",
6985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Korean.txt",
7085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Latin.txt",
7185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "Testnames_Russian.txt",
7285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_SerbianSH.txt",
7385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_SerbianSR.txt",
7485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Simplified_Chinese.txt",
7585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		  "TestNames_Thai.txt"
7685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		 ]
7785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho		};
7885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
7985bf2e2fbc60a9f938064abc8127d61da7d19882Claire HorunTests($options, $tests, $dataFiles);
80