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

Side by Side Diff: source/tools/ctestfw/unicode/uperf.h

Issue 845603002: Update ICU to 54.1 step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@master
Patch Set: remove unusued directories Created 5 years, 11 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 unified diff | Download patch
« no previous file with comments | « source/tools/ctestfw/tstdtmod.cpp ('k') | source/tools/dumpce/Makefile.in » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 ********************************************************************** 2 **********************************************************************
3 * Copyright (c) 2002-2011, International Business Machines 3 * Copyright (c) 2002-2014, International Business Machines
4 * Corporation and others. All Rights Reserved. 4 * Corporation and others. All Rights Reserved.
5 ********************************************************************** 5 **********************************************************************
6 */ 6 */
7 #ifndef _UPERF_H 7 #ifndef _UPERF_H
8 #define _UPERF_H 8 #define _UPERF_H
9 9
10 #include "unicode/utypes.h" 10 #include "unicode/utypes.h"
11 #include "unicode/unistr.h" 11 #include "unicode/unistr.h"
12 #include "unicode/ustring.h" 12 #include "unicode/ustring.h"
13 13
14 #include "unicode/testtype.h" 14 #include "unicode/testtype.h"
15 #include "unicode/utimer.h" 15 #include "unicode/utimer.h"
16 #include "ucbuf.h" 16 #include "ucbuf.h"
17 17
18 // Forward declarations from uoptions.h. 18 // Forward declarations from uoptions.h.
19 struct UOption; 19 struct UOption;
20 typedef struct UOption UOption; 20 typedef struct UOption UOption;
21 21
22 #if !UCONFIG_NO_CONVERSION 22 #if !UCONFIG_NO_CONVERSION
23 23
24 U_NAMESPACE_USE 24 U_NAMESPACE_USE
25 // Use the TESTCASE macro in subclasses of IntlTest. Define the 25 // Use the TESTCASE macro in subclasses of UPerfTest. Define the
26 // runIndexedTest method in this fashion: 26 // runIndexedTest method in this fashion:
27 // 27 //
28 //| void MyTest::runIndexedTest(int32_t index, UBool exec, 28 //| void MyTest::runIndexedTest(int32_t index, UBool exec,
29 //| const char* &name, char* /*par*/) { 29 //| const char* &name, char* /*par*/) {
30 //| switch (index) { 30 //| switch (index) {
31 //| TESTCASE(0,TestSomething); 31 //| TESTCASE(0,TestSomething);
32 //| TESTCASE(1,TestSomethingElse); 32 //| TESTCASE(1,TestSomethingElse);
33 //| TESTCASE(2,TestAnotherThing); 33 //| TESTCASE(2,TestAnotherThing);
34 //| default: 34 //| default:
35 //| name = ""; 35 //| name = "";
36 //| return NULL; 36 //| break;
37 //| } 37 //| }
38 //| return NULL;
38 //| } 39 //| }
39 #if 0
40 #define TESTCASE(id,test) \
41 case id: \
42 name = #test; \
43 if (exec) { \
44 fprintf(stdout,#test "---"); \
45 fprintf(stdout,"\n"); \
46 return test(); \
47 } \
48 break
49
50 #endif
51 #define TESTCASE(id,test) \ 40 #define TESTCASE(id,test) \
52 case id: \ 41 case id: \
53 name = #test; \ 42 name = #test; \
54 if (exec) { \ 43 if (exec) { \
55 return test(); \ 44 return test(); \
56 } \ 45 } \
57 break 46 break
58 47
48 // More convenient macros. These allow easy reordering of the test cases.
49 // Copied from intltest.h, and adjusted to not logln() but return a UPerfFunctio n.
50 //
51 //| void MyTest::runIndexedTest(int32_t index, UBool exec,
52 //| const char* &name, char* /*par*/) {
53 //| TESTCASE_AUTO_BEGIN;
54 //| TESTCASE_AUTO(TestSomething);
55 //| TESTCASE_AUTO(TestSomethingElse);
56 //| TESTCASE_AUTO(TestAnotherThing);
57 //| TESTCASE_AUTO_END;
58 //| return NULL;
59 //| }
60 #define TESTCASE_AUTO_BEGIN \
61 for(;;) { \
62 int32_t testCaseAutoNumber = 0
63
64 #define TESTCASE_AUTO(test) \
65 if (index == testCaseAutoNumber++) { \
66 name = #test; \
67 if (exec) { \
68 return test(); \
69 } \
70 break; \
71 }
72
73 #define TESTCASE_AUTO_END \
74 name = ""; \
75 break; \
76 }
77
59 /** 78 /**
60 * Subclasses of PerfTest will need to create subclasses of 79 * Subclasses of PerfTest will need to create subclasses of
61 * Function that define a call() method which contains the code to 80 * Function that define a call() method which contains the code to
62 * be timed. They then call setTestFunction() in their "Test..." 81 * be timed. They then call setTestFunction() in their "Test..."
63 * method to establish this as the current test functor. 82 * method to establish this as the current test functor.
64 */ 83 */
65 class T_CTEST_EXPORT_API UPerfFunction { 84 class T_CTEST_EXPORT_API UPerfFunction {
66 public: 85 public:
67 /** 86 /**
68 * destructor 87 * destructor
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 189
171 // static members 190 // static members
172 public: 191 public:
173 static UPerfTest* gTest; 192 static UPerfTest* gTest;
174 static const char gUsageString[]; 193 static const char gUsageString[];
175 }; 194 };
176 195
177 #endif 196 #endif
178 #endif 197 #endif
179 198
OLDNEW
« no previous file with comments | « source/tools/ctestfw/tstdtmod.cpp ('k') | source/tools/dumpce/Makefile.in » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698