16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#!/usr/bin/perl
26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#  ********************************************************************
36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#  * COPYRIGHT:
46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#  * Copyright (c) 2002-2013, International Business Machines
56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#  * Corporation and others. All Rights Reserved.
66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#  ********************************************************************
76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#use strict;
96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgrequire "../perldriver/Common.pl";
116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orguse lib '../perldriver';
136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orguse PerfFramework;
156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $options = {
176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "title"=>"Character property performance regression: ICU (".$ICUPreviousVersion." and ".$ICULatestVersion.")",
186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "headers"=>"ICU".$ICUPreviousVersion." ICU".$ICULatestVersion,
196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "operationIs"=>"code point",
206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "timePerOperationIs"=>"Time per code point",
216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "passes"=>"10",
226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "time"=>"5",
236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    #"outputType"=>"HTML",
246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "dataDir"=>"Not Using Data Files",
256f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "outputDir"=>"../results"
266f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org};
276f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
286f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org# programs
296f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
306f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $p1; # Previous
316f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $p2; # Latest
326f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgif ($OnWindows) {
336f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    $p1 = "cd ".$ICUPrevious."/bin && ".$ICUPathPrevious."/charperf/$WindowsPlatform/Release/charperf.exe";
346f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    $p2 = "cd ".$ICULatest."/bin && ".$ICUPathLatest."/charperf/$WindowsPlatform/Release/charperf.exe";
356f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org} else {
366f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    $p1 = "LD_LIBRARY_PATH=".$ICUPrevious."/source/lib:".$ICUPrevious."/source/tools/ctestfw ".$ICUPathPrevious."/charperf/charperf";
376f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    $p2 = "LD_LIBRARY_PATH=".$ICULatest."/source/lib:".$ICULatest."/source/tools/ctestfw ".$ICUPathLatest."/charperf/charperf";
386f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org}
396f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
406f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $dataFiles = "";
416f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
426f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgmy $tests = {
436f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isAlpha",        ["$p1 TestIsAlpha"        , "$p2 TestIsAlpha"        ],
446f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isUpper",        ["$p1 TestIsUpper"        , "$p2 TestIsUpper"        ],
456f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isLower",        ["$p1 TestIsLower"        , "$p2 TestIsLower"        ],
466f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isDigit",        ["$p1 TestIsDigit"        , "$p2 TestIsDigit"        ],
476f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isSpace",        ["$p1 TestIsSpace"        , "$p2 TestIsSpace"        ],
486f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isAlphaNumeric", ["$p1 TestIsAlphaNumeric" , "$p2 TestIsAlphaNumeric" ],
496f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isPrint",        ["$p1 TestIsPrint"        , "$p2 TestIsPrint"        ],
506f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isControl",      ["$p1 TestIsControl"      , "$p2 TestIsControl"      ],
516f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "toLower",        ["$p1 TestToLower"        , "$p2 TestToLower"        ],
526f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "toUpper",        ["$p1 TestToUpper"        , "$p2 TestToUpper"        ],
536f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org    "isWhiteSpace",   ["$p1 TestIsWhiteSpace"   , "$p2 TestIsWhiteSpace"   ],
546f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org};
556f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
566f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.orgrunTests($options, $tests, $dataFiles);
576f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
586f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
59