Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Unified Diff: source/test/perf/howExpensiveIs/howExpensiveIs.cpp

Issue 2435373002: Delete source/test (Closed)
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/test/perf/howExpensiveIs/Makefile.in ('k') | source/test/perf/howExpensiveIs/readme.txt » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/test/perf/howExpensiveIs/howExpensiveIs.cpp
diff --git a/source/test/perf/howExpensiveIs/howExpensiveIs.cpp b/source/test/perf/howExpensiveIs/howExpensiveIs.cpp
deleted file mode 100644
index be59fc301088f4cf51f7669249f37e8aa066b462..0000000000000000000000000000000000000000
--- a/source/test/perf/howExpensiveIs/howExpensiveIs.cpp
+++ /dev/null
@@ -1,866 +0,0 @@
-/*
- **********************************************************************
- * Copyright (c) 2011-2014,International Business Machines
- * Corporation and others. All Rights Reserved.
- **********************************************************************
- */
-#include <stdio.h>
-#include <string.h>
-
-#include "sieve.h"
-#include "unicode/utimer.h"
-#include "udbgutil.h"
-#include "unicode/ustring.h"
-#include "unicode/decimfmt.h"
-#include "unicode/udat.h"
-U_NAMESPACE_USE
-
-#if U_PLATFORM_IMPLEMENTS_POSIX
-#include <unistd.h>
-
-static void usage(const char *prog) {
- fprintf(stderr, "Usage: %s [ -f outfile.xml ] [ -t 'TestName' ]\n", prog);
-}
-#endif
-
-void runTests(void);
-
-#ifndef ITERATIONS
-#define ITERATIONS 5
-#endif
-
-#ifndef TEST_LOCALE
-#define TEST_LOCALE "en_US"
-#endif
-
-FILE *out = NULL;
-UErrorCode setupStatus = U_ZERO_ERROR;
-const char *outName = NULL;
-int listmode = 0;
-const char *testName = NULL;
-const char *progname = NULL;
-int errflg = 0;
-int testhit = 0;
-
-int testMatch(const char *aName) {
- if(testName==NULL) return 1;
- int len = strlen(testName);
- if(testName[len-1]=='*') {
- return strncmp(testName,aName,len-1);
- } else {
- return strcmp(testName,aName);
- }
-}
-
-int main(int argc, char * const * argv){
-#if U_DEBUG
- fprintf(stderr,"%s: warning: U_DEBUG is on.\n", argv[0]);
-#endif
-#if U_DEBUG
- {
- double m;
- double s = uprv_getSieveTime(&m);
- fprintf(stderr, "** Standard sieve time: %.9fs +/- %.9fs (%d iterations)\n", s,m, (int)U_LOTS_OF_TIMES);
- }
-#endif
-
-#if U_PLATFORM_IMPLEMENTS_POSIX
- int c;
- //extern int optind;
- extern char *optarg;
- while((c=getopt(argc,argv,"lf:t:")) != EOF) {
- switch(c) {
- case 'f':
- outName = optarg;
- break;
- case 'l':
- listmode++;
- break;
- case 't':
- testName = optarg;
- break;
- case '?':
- errflg++;
- }
- if(errflg) {
- usage(progname);
- return 0;
- }
- }
- /* for ( ; optind < argc; optind++) { ... argv[optind] } */
-#else
- if(argc==2) {
- outName = argv[1];
- } else if(argc>2) {
- fprintf(stderr, "Err: usage: %s [ output-file.xml ]\n", argv[0]);
- }
-#endif
-
- if(listmode && outName != NULL ) {
- fprintf(stderr, "Warning: no output when list mode\n");
- outName=NULL;
- }
-
- if(outName != NULL) {
-
-
- out=fopen(outName,"w");
- if(out==NULL) {
- fprintf(stderr,"Err: can't open %s for writing.\n", outName);
- return 1;
- } else {
- fprintf(stderr, "# writing results to %s\n", outName);
- }
- fprintf(out, "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
- fprintf(out, "<tests icu=\"%s\">\n", U_ICU_VERSION);
- fprintf(out, "<!-- %s -->\n", U_COPYRIGHT_STRING);
- } else {
- fprintf(stderr, "# (no output)\n");
- }
-
- if(listmode && testName!=NULL) {
- fprintf(stderr, "ERR: no -l mode when specific test with -t\n");
- usage(progname);
- return 1;
- }
-
-
- runTests();
-
-
- if(out!=NULL) {
-#ifndef SKIP_INFO
- udbg_writeIcuInfo(out);
-#endif
- fprintf(out, "</tests>\n");
- fclose(out);
- }
-
- if(U_FAILURE(setupStatus)) {
- fprintf(stderr, "Error in tests: %s\n", u_errorName(setupStatus));
- return 1;
- }
-
- return 0;
-}
-
-class HowExpensiveTest {
-public:
- virtual ~HowExpensiveTest(){}
-protected:
- HowExpensiveTest(const char *name, const char *file, int32_t line) : fName(name), fFile(file), fLine(line) {}
-protected:
- /**
- * @return number of iterations
- */
- virtual int32_t run() = 0;
- virtual void warmup() { run(); }
-public:
- virtual const char *getName() { return fName; }
-public:
- virtual int32_t runTest(double *subTime) {
- UTimer a,b;
- utimer_getTime(&a);
- int32_t iter = run();
- utimer_getTime(&b);
- *subTime = utimer_getDeltaSeconds(&a,&b);
- return iter;
- }
-
- virtual int32_t runTests(double *subTime, double *marginOfError) {
- warmup(); /* warmup */
- double times[ITERATIONS];
- int subIterations = 0;
- for(int i=0;i<ITERATIONS;i++) {
- subIterations = runTest(&times[i]);
-#if U_DEBUG
- fprintf(stderr, "trial: %d/%d = %.9fs\n", i, ITERATIONS,times[i]);
- fflush(stderr);
-#endif
- }
- uint32_t iterations = ITERATIONS;
- *subTime = uprv_getMeanTime(times,&iterations,marginOfError);
- return subIterations;
- }
-public:
- const char *fName;
- const char *fFile;
- int32_t fLine;
- int32_t fIterations;
-};
-
-void runTestOn(HowExpensiveTest &t) {
- if(U_FAILURE(setupStatus)) return; // silently
- const char *tn = t.getName();
- if(testName!=NULL && testMatch(tn)) return; // skipped.
- if(listmode) {
- fprintf(stderr, "%s:%d:\t%s\n", t.fFile, t.fLine, t.getName());
- testhit++;
- return;
- } else {
- fprintf(stderr, "%s:%d: Running: %s\n", t.fFile, t.fLine, t.getName());
- testhit++;
- }
- double sieveTime = uprv_getSieveTime(NULL);
- double st;
- double me;
-
- fflush(stdout);
- fflush(stderr);
- int32_t iter = t.runTests(&st,&me);
- if(U_FAILURE(setupStatus)) {
- fprintf(stderr, "Error in tests: %s\n", u_errorName(setupStatus));
- return;
- }
- fflush(stdout);
- fflush(stderr);
-
- double stn = st/sieveTime;
-
- printf("%s\t%.9f\t%.9f +/- %.9f, @ %d iter\n", t.getName(),stn,st,me,iter);
-
- if(out!=NULL) {
- fprintf(out, " <test name=\"%s\" standardizedTime=\"%f\" realDuration=\"%f\" marginOfError=\"%f\" iterations=\"%d\" />\n",
- tn,stn,st,me,iter);
- fflush(out);
- }
-}
-
-/* ------------------- test code here --------------------- */
-
-class SieveTest : public HowExpensiveTest {
-public:
- virtual ~SieveTest(){}
- SieveTest():HowExpensiveTest("SieveTest",__FILE__,__LINE__){}
- virtual int32_t run(){return 0;} // dummy
- int32_t runTest(double *subTime) {
- *subTime = uprv_getSieveTime(NULL);
- return U_LOTS_OF_TIMES;
- }
- virtual int32_t runTests(double *subTime, double *marginOfError) {
- *subTime = uprv_getSieveTime(marginOfError);
- return U_LOTS_OF_TIMES;
- }
-};
-
-
-/* ------- NumParseTest ------------- */
-#include "unicode/unum.h"
-/* open and close tests */
-#define OCName(svc,ub,testn,suffix,n) testn ## svc ## ub ## suffix ## n
-#define OCStr(svc,ub,suffix,n) "Test_" # svc # ub # suffix # n
-#define OCRun(svc,ub,suffix) svc ## ub ## suffix
-// TODO: run away screaming
-#define OpenCloseTest(n, svc,suffix,c,a,d) class OCName(svc,_,Test_,suffix,n) : public HowExpensiveTest { public: OCName(svc,_,Test_,suffix,n)():HowExpensiveTest(OCStr(svc,_,suffix,n),__FILE__,__LINE__) c int32_t run() { int32_t i; for(i=0;i<U_LOTS_OF_TIMES;i++){ OCRun(svc,_,close) ( OCRun(svc,_,suffix) a ); } return i; } void warmup() { OCRun(svc,_,close) ( OCRun(svc,_,suffix) a); } virtual ~ OCName(svc,_,Test_,suffix,n) () d };
-#define QuickTest(n,c,r,d) class n : public HowExpensiveTest { public: n():HowExpensiveTest(#n,__FILE__,__LINE__) c int32_t run() r virtual ~n () d };
-
-class NumTest : public HowExpensiveTest {
-private:
- double fExpect;
- UNumberFormat *fFmt;
- UnicodeString fPat;
- UnicodeString fString;
- const UChar *fStr;
- int32_t fLen;
- const char *fFile;
- int fLine;
- const char *fCPat;
- const char *fCStr;
- char name[100];
-public:
- virtual const char *getName() {
- if(name[0]==0) {
- sprintf(name,"%s:p=|%s|,str=|%s|",getClassName(),fCPat,fCStr);
- }
- return name;
- }
-protected:
- virtual UNumberFormat* initFmt() {
- return unum_open(UNUM_PATTERN_DECIMAL, fPat.getTerminatedBuffer(), -1, TEST_LOCALE, 0, &setupStatus);
- }
- virtual const char *getClassName() {
- return "NumTest";
- }
-public:
- NumTest(const char *pat, const char *num, double expect, const char *FILE, int LINE)
- : HowExpensiveTest("(n/a)",FILE, LINE),
- fExpect(expect),
- fFmt(0),
- fPat(pat, -1, US_INV),
- fString(num,-1,US_INV),
- fStr(fString.getTerminatedBuffer()),
- fLen(u_strlen(fStr)),
- fFile(FILE),
- fLine(LINE),
- fCPat(pat),
- fCStr(num)
- {
- name[0]=0;
- }
- void warmup() {
- fFmt = initFmt();
- if(U_SUCCESS(setupStatus)) {
- double trial = unum_parseDouble(fFmt,fStr,fLen, NULL, &setupStatus);
- if(U_SUCCESS(setupStatus) && trial!=fExpect) {
- setupStatus = U_INTERNAL_PROGRAM_ERROR;
- printf("%s:%d: warmup() %s got %.8f expected %.8f\n",
- fFile,fLine,getName(),trial,fExpect);
- }
- }
- }
- int32_t run() {
- double trial=0.0;
- int i;
- for(i=0;i<U_LOTS_OF_TIMES;i++){
- trial = unum_parse(fFmt,fStr,fLen, NULL, &setupStatus);
- }
- return i;
- }
- virtual ~NumTest(){}
-};
-
-#define DO_NumTest(p,n,x) { NumTest t(p,n,x,__FILE__,__LINE__); runTestOn(t); }
-
-
-class AttrNumTest : public NumTest
-{
-private:
- UNumberFormatAttribute fAttr;
- int32_t fAttrValue;
- char name2[100];
-protected:
- virtual const char *getClassName() {
- sprintf(name2,"AttrNumTest:%d=%d", fAttr,fAttrValue);
- return name2;
- }
-public:
- AttrNumTest(const char *pat, const char *num, double expect, const char *FILE, int LINE, UNumberFormatAttribute attr, int32_t newValue)
- : NumTest(pat,num,expect,FILE,LINE),
- fAttr(attr),
- fAttrValue(newValue)
- {
- }
- virtual UNumberFormat* initFmt() {
- UNumberFormat *fmt = NumTest::initFmt();
- unum_setAttribute(fmt, fAttr,fAttrValue);
- return fmt;
- }
-};
-
-#define DO_AttrNumTest(p,n,x,a,v) { AttrNumTest t(p,n,x,__FILE__,__LINE__,a,v); runTestOn(t); }
-
-
-class NOXNumTest : public NumTest
-{
-private:
- UNumberFormatAttribute fAttr;
- int32_t fAttrValue;
- char name2[100];
-protected:
- virtual const char *getClassName() {
- sprintf(name2,"NOXNumTest:%d=%d", fAttr,fAttrValue);
- return name2;
- }
-public:
- NOXNumTest(const char *pat, const char *num, double expect, const char *FILE, int LINE /*, UNumberFormatAttribute attr, int32_t newValue */)
- : NumTest(pat,num,expect,FILE,LINE) /* ,
- fAttr(attr),
- fAttrValue(newValue) */
- {
- }
- virtual UNumberFormat* initFmt() {
- UNumberFormat *fmt = NumTest::initFmt();
- //unum_setAttribute(fmt, fAttr,fAttrValue);
- return fmt;
- }
-};
-
-#define DO_NOXNumTest(p,n,x) { NOXNumTest t(p,n,x,__FILE__,__LINE__); runTestOn(t); }
-
-#define DO_TripleNumTest(p,n,x) DO_AttrNumTest(p,n,x,UNUM_PARSE_ALL_INPUT,UNUM_YES) \
- DO_AttrNumTest(p,n,x,UNUM_PARSE_ALL_INPUT,UNUM_NO) \
- DO_AttrNumTest(p,n,x,UNUM_PARSE_ALL_INPUT,UNUM_MAYBE)
-
-
-class NumFmtTest : public HowExpensiveTest {
-private:
- double fExpect;
- UNumberFormat *fFmt;
- UnicodeString fPat;
- UnicodeString fString;
- const UChar *fStr;
- int32_t fLen;
- const char *fFile;
- int fLine;
- const char *fCPat;
- const char *fCStr;
- char name[100];
-public:
- virtual const char *getName() {
- if(name[0]==0) {
- sprintf(name,"%s:p=|%s|,str=|%s|",getClassName(),fCPat,fCStr);
- }
- return name;
- }
-protected:
- virtual UNumberFormat* initFmt() {
- return unum_open(UNUM_PATTERN_DECIMAL, fPat.getTerminatedBuffer(), -1, TEST_LOCALE, 0, &setupStatus);
- }
- virtual const char *getClassName() {
- return "NumFmtTest";
- }
-public:
- NumFmtTest(const char *pat, const char *num, double expect, const char *FILE, int LINE)
- : HowExpensiveTest("(n/a)",FILE, LINE),
- fExpect(expect),
- fFmt(0),
- fPat(pat, -1, US_INV),
- fString(num,-1,US_INV),
- fStr(fString.getTerminatedBuffer()),
- fLen(u_strlen(fStr)),
- fFile(FILE),
- fLine(LINE),
- fCPat(pat),
- fCStr(num)
- {
- name[0]=0;
- }
- void warmup() {
- fFmt = initFmt();
- UChar buf[100];
- if(U_SUCCESS(setupStatus)) {
- int32_t trial = unum_formatDouble(fFmt,fExpect, buf, 100, NULL, &setupStatus);
- if(!U_SUCCESS(setupStatus)
- || trial!=fLen
- ||trial<=0
- || u_strncmp(fStr,buf,trial) ) {
- char strBuf[200];
- u_strToUTF8(strBuf,200,NULL,buf,trial+1,&setupStatus);
- printf("%s:%d: warmup() %s got %s expected %s, err %s\n",
- fFile,fLine,getName(),strBuf,fCStr, u_errorName(setupStatus));
- setupStatus = U_INTERNAL_PROGRAM_ERROR;
- }
- }
- }
- int32_t run() {
- int32_t trial;
- int i;
- UChar buf[100];
- if(U_SUCCESS(setupStatus)) {
- for(i=0;i<U_LOTS_OF_TIMES;i++){
- trial = unum_formatDouble(fFmt,fExpect, buf, 100, NULL, &setupStatus);
- }
- }
- return i;
- }
- virtual ~NumFmtTest(){}
-};
-
-#define DO_NumFmtTest(p,n,x) { NumFmtTest t(p,n,x,__FILE__,__LINE__); runTestOn(t); }
-
-class NumFmtInt64Test : public HowExpensiveTest {
-public:
- enum EMode {
- kDefault,
- kPattern,
- kApplyPattern,
- kGroupOff,
- kApplyGroupOff
- };
-private:
- EMode fMode;
- int64_t fExpect;
- UNumberFormat *fFmt;
- UnicodeString fPat;
- UnicodeString fString;
- const UChar *fStr;
- int32_t fLen;
- const char *fFile;
- int fLine;
- const char *fCPat;
- const char *fCStr;
- char name[100];
-public:
- virtual const char *getName() {
- if(name[0]==0) {
- sprintf(name,"%s:p=|%s|,str=|%s|",getClassName(),fCPat,fCStr);
- }
- return name;
- }
-protected:
- virtual UNumberFormat* initFmt() {
- switch(fMode) {
- case kPattern:
- return unum_open(UNUM_PATTERN_DECIMAL, fPat.getTerminatedBuffer(), -1, TEST_LOCALE, 0, &setupStatus);
- case kApplyPattern:
- {
- UNumberFormat *fmt = unum_open(UNUM_DECIMAL, NULL, -1, TEST_LOCALE, 0, &setupStatus);
- unum_applyPattern(fmt, FALSE, fPat.getTerminatedBuffer(), -1, NULL, &setupStatus);
- return fmt;
- }
- case kGroupOff:
- {
- UNumberFormat *fmt = unum_open(UNUM_PATTERN_DECIMAL, fPat.getTerminatedBuffer(), -1, TEST_LOCALE, 0, &setupStatus);
- unum_setAttribute(fmt, UNUM_GROUPING_USED, UNUM_NO);
- return fmt;
- }
- case kApplyGroupOff:
- {
- UNumberFormat *fmt = unum_open(UNUM_DECIMAL, NULL, -1, TEST_LOCALE, 0, &setupStatus);
- unum_applyPattern(fmt, FALSE, fPat.getTerminatedBuffer(), -1, NULL, &setupStatus);
- unum_setAttribute(fmt, UNUM_GROUPING_USED, UNUM_NO);
- return fmt;
- }
- default:
- case kDefault:
- return unum_open(UNUM_DEFAULT, NULL, -1, TEST_LOCALE, 0, &setupStatus);
- }
- }
- virtual const char *getClassName() {
- switch(fMode) {
- case EMode::kDefault:
- return "NumFmtInt64Test (default)";
- case EMode::kPattern:
- return "NumFmtInt64Test (pattern)";
- case EMode::kApplyPattern:
- return "NumFmtInt64Test (applypattern)";
- case EMode::kGroupOff:
- return "NumFmtInt64Test (pattern, group=off)";
- case EMode::kApplyGroupOff:
- return "NumFmtInt64Test (applypattern, group=off)";
- default:
- return "NumFmtInt64Test (? ? ?)";
- }
- }
-public:
- NumFmtInt64Test(const char *pat, const char *num, int64_t expect, const char *FILE, int LINE, EMode mode)
- : HowExpensiveTest("(n/a)",FILE, LINE),
- fMode(mode),
- fExpect(expect),
- fFmt(0),
- fPat(pat, -1, US_INV),
- fString(num,-1,US_INV),
- fStr(fString.getTerminatedBuffer()),
- fLen(u_strlen(fStr)),
- fFile(FILE),
- fLine(LINE),
- fCPat(pat),
- fCStr(num)
- {
- name[0]=0;
- }
- void warmup() {
- fFmt = initFmt();
- UChar buf[100];
- if(U_SUCCESS(setupStatus)) {
- int32_t trial = unum_formatInt64(fFmt,fExpect, buf, 100, NULL, &setupStatus);
- if(!U_SUCCESS(setupStatus)
- || trial!=fLen
- ||trial<=0
- || u_strncmp(fStr,buf,trial) ) {
- char strBuf[200];
- u_strToUTF8(strBuf,200,NULL,buf,trial+1,&setupStatus);
- printf("%s:%d: warmup() %s got %s (len %d) expected %s (len %d), err %s\n",
- fFile,fLine,getName(),strBuf,trial,fCStr,fLen, u_errorName(setupStatus));
- setupStatus = U_INTERNAL_PROGRAM_ERROR;
- }
- }
- }
- int32_t run() {
- int32_t trial;
- int i;
- UChar buf[100];
- if(U_SUCCESS(setupStatus)) {
- for(i=0;i<U_LOTS_OF_TIMES;i++){
- trial = unum_formatInt64(fFmt,fExpect, buf, 100, NULL, &setupStatus);
- }
- }
- return i;
- }
- virtual ~NumFmtInt64Test(){}
-};
-
-/**
- * unum_open .. with pattern, == new DecimalFormat(pattern)
- */
-#define DO_NumFmtInt64Test(p,n,x) { NumFmtInt64Test t(p,n,x,__FILE__,__LINE__,NumFmtInt64Test::EMode::kPattern); runTestOn(t); }
-/**
- * unum_open(UNUM_DECIMAL), then
- */
-#define DO_NumFmtInt64Test_apply(p,n,x) { NumFmtInt64Test t(p,n,x,__FILE__,__LINE__,NumFmtInt64Test::EMode::kApplyPattern); runTestOn(t); }
-
-#define DO_NumFmtInt64Test_default(p,n,x) { NumFmtInt64Test t(p,n,x,__FILE__,__LINE__,NumFmtInt64Test::EMode::kDefault); runTestOn(t); }
-#define DO_NumFmtInt64Test_gr0(p,n,x) { NumFmtInt64Test t(p,n,x,__FILE__,__LINE__,NumFmtInt64Test::EMode::kGroupOff); runTestOn(t); }
-#define DO_NumFmtInt64Test_applygr0(p,n,x) { NumFmtInt64Test t(p,n,x,__FILE__,__LINE__,NumFmtInt64Test::EMode::kApplyGroupOff); runTestOn(t); }
-
-
-class NumFmtStringPieceTest : public HowExpensiveTest {
-private:
- const StringPiece &fExpect;
- UNumberFormat *fFmt;
- UnicodeString fPat;
- UnicodeString fString;
- const UChar *fStr;
- int32_t fLen;
- const char *fFile;
- int fLine;
- const char *fCPat;
- const char *fCStr;
- char name[100];
-public:
- virtual const char *getName() {
- if(name[0]==0) {
- sprintf(name,"%s:p=|%s|,str=|%s|,sp=|%s|",getClassName(),fCPat,fCStr, fExpect.data());
- }
- return name;
- }
-protected:
- virtual UNumberFormat* initFmt() {
- DecimalFormat *d = new DecimalFormat(setupStatus);
- UParseError pe;
- d->applyPattern(fPat, pe, setupStatus);
- return (UNumberFormat*) d;
- }
- virtual const char *getClassName() {
- return "NumFmtStringPieceTest";
- }
-public:
- NumFmtStringPieceTest(const char *pat, const char *num, const StringPiece& expect, const char *FILE, int LINE)
- : HowExpensiveTest("(n/a)",FILE, LINE),
- fExpect(expect),
- fFmt(0),
- fPat(pat, -1, US_INV),
- fString(num,-1,US_INV),
- fStr(fString.getTerminatedBuffer()),
- fLen(u_strlen(fStr)),
- fFile(FILE),
- fLine(LINE),
- fCPat(pat),
- fCStr(num)
- {
- name[0]=0;
- }
- void warmup() {
- fFmt = initFmt();
- UnicodeString buf;
- if(U_SUCCESS(setupStatus)) {
- buf.remove();
- ((const DecimalFormat*)fFmt)->format(fExpect, buf, NULL, setupStatus);
- if(!U_SUCCESS(setupStatus)
- || fString!=buf
- ) {
- char strBuf[200];
- u_strToUTF8(strBuf,200,NULL,buf.getTerminatedBuffer(),buf.length()+1,&setupStatus);
- printf("%s:%d: warmup() %s got %s (len %d) expected %s (len %d), err %s\n",
- fFile,fLine,getName(),strBuf,buf.length(),fCStr,fLen, u_errorName(setupStatus));
- setupStatus = U_INTERNAL_PROGRAM_ERROR;
- }
- }
- }
-
- int32_t run() {
-#if U_DEBUG
- int32_t trial;
-#endif
- int i=0;
- UnicodeString buf;
- if(U_SUCCESS(setupStatus)) {
- for(i=0;i<U_LOTS_OF_TIMES;i++){
- buf.remove();
- ((const DecimalFormat*)fFmt)->format(fExpect, buf, NULL, setupStatus);
- }
- }
- return i;
- }
- virtual ~NumFmtStringPieceTest(){}
-};
-
-#define DO_NumFmtStringPieceTest(p,n,x) { NumFmtStringPieceTest t(p,n,x,__FILE__,__LINE__); runTestOn(t); }
-
-// TODO: move, scope.
-static UChar pattern[] = { 0x23 }; // '#'
-static UChar strdot[] = { '2', '.', '0', 0 };
-static UChar strspc[] = { '2', ' ', 0 };
-static UChar strgrp[] = {'2',',','2','2','2', 0 };
-static UChar strbeng[] = {0x09E8,0x09E8,0x09E8,0x09E8, 0 };
-
-UNumberFormat *NumParseTest_fmt;
-
-// TODO: de-uglify.
-QuickTest(NumParseTest,{ static UChar pattern[] = { 0x23 }; NumParseTest_fmt = unum_open(UNUM_PATTERN_DECIMAL, pattern, 1, TEST_LOCALE, 0, &setupStatus); },{ int32_t i; static UChar str[] = { 0x31 };double val; for(i=0;i<U_LOTS_OF_TIMES;i++) { val=unum_parse(NumParseTest_fmt,str,1,NULL,&setupStatus); } return i; },{unum_close(NumParseTest_fmt);})
-
-QuickTest(NumParseTestdot,{ static UChar pattern[] = { 0x23 }; NumParseTest_fmt = unum_open(UNUM_PATTERN_DECIMAL, pattern, 1, TEST_LOCALE, 0, &setupStatus); },{ int32_t i; double val; for(i=0;i<U_LOTS_OF_TIMES;i++) { val=unum_parse(NumParseTest_fmt,strdot,1,NULL,&setupStatus); } return i; },{unum_close(NumParseTest_fmt);})
-QuickTest(NumParseTestspc,{ static UChar pattern[] = { 0x23 }; NumParseTest_fmt = unum_open(UNUM_PATTERN_DECIMAL, pattern, 1, TEST_LOCALE, 0, &setupStatus); },{ int32_t i; double val; for(i=0;i<U_LOTS_OF_TIMES;i++) { val=unum_parse(NumParseTest_fmt,strspc,1,NULL,&setupStatus); } return i; },{unum_close(NumParseTest_fmt);})
-QuickTest(NumParseTestgrp,{ static UChar pattern[] = { 0x23 }; NumParseTest_fmt = unum_open(UNUM_PATTERN_DECIMAL, pattern, 1, TEST_LOCALE, 0, &setupStatus); },{ int32_t i; double val; for(i=0;i<U_LOTS_OF_TIMES;i++) { val=unum_parse(NumParseTest_fmt,strgrp,-1,NULL,&setupStatus); } return i; },{unum_close(NumParseTest_fmt);})
-
-QuickTest(NumParseTestbeng,{ static UChar pattern[] = { 0x23 }; NumParseTest_fmt = unum_open(UNUM_PATTERN_DECIMAL, pattern, 1, TEST_LOCALE, 0, &setupStatus); },{ int32_t i; double val; for(i=0;i<U_LOTS_OF_TIMES;i++) { val=unum_parse(NumParseTest_fmt,strbeng,-1,NULL,&setupStatus); } return i; },{unum_close(NumParseTest_fmt);})
-
-UDateFormat *DateFormatTest_fmt = NULL;
-UDate sometime = 100000000.0;
-UChar onekbuf[1024];
-const int32_t onekbuf_len = sizeof(onekbuf)/sizeof(onekbuf[0]);
-
-
-QuickTest(DateFormatTestBasic, \
- { \
- DateFormatTest_fmt = udat_open(UDAT_DEFAULT, UDAT_DEFAULT, NULL, NULL, -1, NULL, -1, &setupStatus); \
- }, \
- { \
- int i; \
- for(i=0;i<U_LOTS_OF_TIMES;i++) \
- { \
- udat_format(DateFormatTest_fmt, sometime, onekbuf, onekbuf_len, NULL, &setupStatus); \
- } \
- return i; \
- }, \
- { \
- udat_close(DateFormatTest_fmt); \
- } \
- )
-
-
-QuickTest(NullTest,{},{int j=U_LOTS_OF_TIMES;while(--j);return U_LOTS_OF_TIMES;},{})
-
-#if 0
-#include <time.h>
-
-QuickTest(RandomTest,{},{timespec ts; ts.tv_sec=rand()%4; int j=U_LOTS_OF_TIMES;while(--j) { ts.tv_nsec=100000+(rand()%10000)*1000000; nanosleep(&ts,NULL); return j;} return U_LOTS_OF_TIMES;},{})
-#endif
-
-OpenCloseTest(pattern,unum,open,{},(UNUM_PATTERN_DECIMAL,pattern,1,TEST_LOCALE,0,&setupStatus),{})
-OpenCloseTest(default,unum,open,{},(UNUM_DEFAULT,NULL,-1,TEST_LOCALE,0,&setupStatus),{})
-#if !UCONFIG_NO_CONVERSION
-#include "unicode/ucnv.h"
-OpenCloseTest(gb18030,ucnv,open,{},("gb18030",&setupStatus),{})
-#endif
-#include "unicode/ures.h"
-OpenCloseTest(root,ures,open,{},(NULL,"root",&setupStatus),{})
-
-void runTests() {
- {
- SieveTest t;
- runTestOn(t);
- }
-#if 0
- {
- RandomTest t;
- runTestOn(t);
- }
-#endif
- {
- NullTest t;
- runTestOn(t);
- }
-
-#ifndef SKIP_DATEFMT_TESTS
- {
- DateFormatTestBasic t;
- runTestOn(t);
- }
-#endif
-
-#ifndef SKIP_NUMPARSE_TESTS
- {
- // parse tests
-
- DO_NumTest("#","0",0.0);
- DO_NumTest("#","2.0",2.0);
- DO_NumTest("#","2 ",2);
- DO_NumTest("#","-2 ",-2);
- DO_NumTest("+#","+2",2);
- DO_NumTest("#,###.0","2222.0",2222.0);
- DO_NumTest("#.0","1.000000000000000000000000000000000000000000000000000000000000000000000000000000",1.0);
- DO_NumTest("#","123456",123456);
-
- // attr
-#ifdef HAVE_UNUM_MAYBE
- DO_AttrNumTest("#","0",0.0,UNUM_PARSE_ALL_INPUT,UNUM_YES);
- DO_AttrNumTest("#","0",0.0,UNUM_PARSE_ALL_INPUT,UNUM_NO);
- DO_AttrNumTest("#","0",0.0,UNUM_PARSE_ALL_INPUT,UNUM_MAYBE);
- DO_TripleNumTest("#","2.0",2.0);
- DO_AttrNumTest("#.0","1.000000000000000000000000000000000000000000000000000000000000000000000000000000",1.0,UNUM_PARSE_ALL_INPUT,UNUM_NO);
-#endif
-
-
- // { NumParseTestgrp t; runTestOn(t); }
- { NumParseTestbeng t; runTestOn(t); }
-
- }
-#endif
-
-#ifndef SKIP_NUMFORMAT_TESTS
- // format tests
- {
-
- DO_NumFmtInt64Test("0000","0001",1);
- DO_NumFmtInt64Test("0000","0000",0);
- StringPiece sp3456("3456");
- DO_NumFmtStringPieceTest("0000","3456",sp3456);
- DO_NumFmtStringPieceTest("#","3456",sp3456);
- StringPiece sp3("3");
- DO_NumFmtStringPieceTest("0000","0003",sp3);
- DO_NumFmtStringPieceTest("#","3",sp3);
- StringPiece spn3("-3");
- DO_NumFmtStringPieceTest("0000","-0003",spn3);
- DO_NumFmtStringPieceTest("#","-3",spn3);
- StringPiece spPI("123.456");
- DO_NumFmtStringPieceTest("#.0000","123.4560",spPI);
- DO_NumFmtStringPieceTest("#.00","123.46",spPI);
-
- DO_NumFmtTest("#","0",0.0);
- DO_NumFmtTest("#","12345",12345);
- DO_NumFmtTest("#","-2",-2);
- DO_NumFmtTest("+#","+2",2);
-
- DO_NumFmtInt64Test("#","-682",-682);
- DO_NumFmtInt64Test("#","0",0);
- DO_NumFmtInt64Test("#","12345",12345);
- DO_NumFmtInt64Test("#,###","12,345",12345);
- DO_NumFmtInt64Test("#","1234",1234);
- DO_NumFmtInt64Test("#","123",123);
- DO_NumFmtInt64Test("#,###","123",123);
- DO_NumFmtInt64Test_apply("#","123",123);
- DO_NumFmtInt64Test_apply("#","12345",12345);
- DO_NumFmtInt64Test_apply("#,###","123",123);
- DO_NumFmtInt64Test_apply("#,###","12,345",12345);
- DO_NumFmtInt64Test_default("","123",123);
- DO_NumFmtInt64Test_default("","12,345",12345);
- DO_NumFmtInt64Test_applygr0("#","123",123);
- DO_NumFmtInt64Test_applygr0("#","12345",12345);
- DO_NumFmtInt64Test_applygr0("#,###","123",123);
- DO_NumFmtInt64Test_applygr0("#,###","12345",12345);
- DO_NumFmtInt64Test_gr0("#","123",123);
- DO_NumFmtInt64Test_gr0("#","12345",12345);
- DO_NumFmtInt64Test_gr0("#,###","123",123);
- DO_NumFmtInt64Test_gr0("#,###","12345",12345);
- DO_NumFmtInt64Test("#","-2",-2);
- DO_NumFmtInt64Test("+#","+2",2);
- }
-
-#ifndef SKIP_NUM_OPEN_TEST
- {
- Test_unum_opendefault t;
- runTestOn(t);
- }
- {
- Test_unum_openpattern t;
- runTestOn(t);
- }
-#endif
-
-#endif /* skip numformat tests */
-#if !UCONFIG_NO_CONVERSION
- {
- Test_ucnv_opengb18030 t;
- runTestOn(t);
- }
-#endif
- {
- Test_ures_openroot t;
- runTestOn(t);
- }
-
- if(testhit==0) {
- fprintf(stderr, "ERROR: no tests matched.\n");
- }
-}
« no previous file with comments | « source/test/perf/howExpensiveIs/Makefile.in ('k') | source/test/perf/howExpensiveIs/readme.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698