1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#!/usr/bin/perl
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#  ********************************************************************
3ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#  * COPYRIGHT:
485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#  * Copyright (c) 2002-2008, International Business Machines Corporation and
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#  * others. All Rights Reserved.
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#  ********************************************************************
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho#use strict;
985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
1085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Horequire "../perldriver/Common.pl";
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruuse lib '../perldriver';
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruuse PerfFramework;
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $options = {
1785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "title"=>"BreakIterator performance regression (ICU ".$ICUPrevious2Version.", ".$ICUPreviousVersion." and ".$ICULatestVersion.")",
1885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "headers"=>"ICU".$ICUPrevious2Version." ICU".$ICUPreviousVersion." ICU".$ICULatestVersion,
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru	       "operationIs"=>"code point",
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru	       "eventIs"=>"break",
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru	       "passes"=>"10",
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru	       "time"=>"5",
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru	       #"outputType"=>"HTML",
2485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	       "dataDir"=>$CollationDataPath,
2585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho           "outputDir"=>"../results"
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru	      };
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# programs
29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru# tests will be done for all the programs. Results will be stored and connected
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $m1 = "-- -m char";
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $m2 = "-- -m word";
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $m3 = "-- -m line";
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $m4 = "-- -m sentence";
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $m;
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruif(@_ >= 0) {
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru  $m = "-- -m ".shift;
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru} else {
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru  $m = $m1;
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
4385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $p1; # Before Previous
4485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $p2; # Previous
4585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Homy $p3; # Latest
4685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho
4785bf2e2fbc60a9f938064abc8127d61da7d19882Claire Hoif ($OnWindows) {
4885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p1 = $ICUPathPrevious2."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe";
4985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p2 = $ICUPathPrevious."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe";
5085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p3 = $ICUPathLatest."/ubrkperf/$WindowsPlatform/Release/ubrkperf.exe";
5185bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho} else {
5285bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p1 = $ICUPathPrevious2."/ubrkperf/ubrkperf";
5385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p2 = $ICUPathPrevious."/ubrkperf/ubrkperf";
5485bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho	$p3 = $ICUPathLatest."/ubrkperf/ubrkperf";
5585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho}
56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $dataFiles = {
58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"en", ["thesis.txt",
5985bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho       "2drvb10.txt",
6085bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho       "ulyss10.txt",
61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "nvsbl10.txt",
62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "vfear11a.txt",
63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Asian.txt",
64ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Chinese.txt",
65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Japanese.txt",
66ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Japanese_h.txt",
67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Japanese_k.txt",
68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Korean.txt",
69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Latin.txt",
70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_SerbianSH.txt",
71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_SerbianSR.txt",
72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "TestNames_Thai.txt",
73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru       "Testnames_Russian.txt",
74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru],
7585bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho"th", ["TestNames_Thai.txt", "th18057.txt"]
76ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
77ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
78ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
79ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Querumy $tests = {
80ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestForwardChar",      ["$p1 $m1 TestICUForward", "$p2 $m1 TestICUForward", "$p3 $m1 TestICUForward"],
81ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestForwardWord",      ["$p1 $m2 TestICUForward", "$p2 $m2 TestICUForward", "$p3 $m2 TestICUForward"],
82ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestForwardLine",      ["$p1 $m3 TestICUForward", "$p2 $m3 TestICUForward", "$p3 $m3 TestICUForward"],
83ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestForwardSentence",  ["$p1 $m4 TestICUForward", "$p2 $m4 TestICUForward", "$p3 $m4 TestICUForward"],
84ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
85ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestIsBoundChar",      ["$p1 $m1 TestICUIsBound", "$p2 $m1 TestICUIsBound", "$p3 $m1 TestICUIsBound"],
86ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestIsBoundWord",      ["$p1 $m2 TestICUIsBound", "$p2 $m2 TestICUIsBound", "$p3 $m2 TestICUIsBound"],
87ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestIsBoundLine",      ["$p1 $m3 TestICUIsBound", "$p2 $m3 TestICUIsBound", "$p3 $m3 TestICUIsBound"],
88ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru"TestIsBoundSentence",  ["$p1 $m4 TestICUIsBound", "$p2 $m4 TestICUIsBound", "$p3 $m4 TestICUIsBound"],
89ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
90ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru};
91ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
92ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QuerurunTests($options, $tests, $dataFiles);
93ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
94ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
95