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

Side by Side Diff: test/cctest/cctest.cc

Issue 148573005: A64: Synchronize with r16249. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « test/cctest/cctest.h ('k') | test/cctest/test-api.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2008 the V8 project authors. All rights reserved. 1 // Copyright 2008 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 99
100 100
101 class CcTestArrayBufferAllocator : public v8::ArrayBuffer::Allocator { 101 class CcTestArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
102 virtual void* Allocate(size_t length) { return malloc(length); } 102 virtual void* Allocate(size_t length) { return malloc(length); }
103 virtual void Free(void* data, size_t length) { free(data); } 103 virtual void Free(void* data, size_t length) { free(data); }
104 // TODO(dslomov): Remove when v8:2823 is fixed. 104 // TODO(dslomov): Remove when v8:2823 is fixed.
105 virtual void Free(void* data) { UNREACHABLE(); } 105 virtual void Free(void* data) { UNREACHABLE(); }
106 }; 106 };
107 107
108 108
109 static void SuggestTestHarness(int tests) {
110 if (tests == 0) return;
111 printf("Running multiple tests in sequence is deprecated and may cause "
112 "bogus failure. Consider using tools/run-tests.py instead.\n");
113 }
114
115
109 int main(int argc, char* argv[]) { 116 int main(int argc, char* argv[]) {
110 v8::internal::FlagList::SetFlagsFromCommandLine(&argc, argv, true); 117 v8::internal::FlagList::SetFlagsFromCommandLine(&argc, argv, true);
111 v8::internal::FLAG_harmony_array_buffer = true;
112 v8::internal::FLAG_harmony_typed_arrays = true;
113 118
114 CcTestArrayBufferAllocator array_buffer_allocator; 119 CcTestArrayBufferAllocator array_buffer_allocator;
115 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator); 120 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator);
116 121
117 CcTest::set_default_isolate(v8::Isolate::GetCurrent()); 122 CcTest::set_default_isolate(v8::Isolate::GetCurrent());
118 CHECK(CcTest::default_isolate() != NULL); 123 CHECK(CcTest::default_isolate() != NULL);
119 int tests_run = 0; 124 int tests_run = 0;
120 bool print_run_count = true; 125 bool print_run_count = true;
121 for (int i = 1; i < argc; i++) { 126 for (int i = 1; i < argc; i++) {
122 char* arg = argv[i]; 127 char* arg = argv[i];
123 if (strcmp(arg, "--list") == 0) { 128 if (strcmp(arg, "--list") == 0) {
124 PrintTestList(CcTest::last()); 129 PrintTestList(CcTest::last());
125 print_run_count = false; 130 print_run_count = false;
126 131
127 } else { 132 } else {
128 char* arg_copy = v8::internal::StrDup(arg); 133 char* arg_copy = v8::internal::StrDup(arg);
129 char* testname = strchr(arg_copy, '/'); 134 char* testname = strchr(arg_copy, '/');
130 if (testname) { 135 if (testname) {
131 // Split the string in two by nulling the slash and then run 136 // Split the string in two by nulling the slash and then run
132 // exact matches. 137 // exact matches.
133 *testname = 0; 138 *testname = 0;
134 char* file = arg_copy; 139 char* file = arg_copy;
135 char* name = testname + 1; 140 char* name = testname + 1;
136 CcTest* test = CcTest::last(); 141 CcTest* test = CcTest::last();
137 while (test != NULL) { 142 while (test != NULL) {
138 if (test->enabled() 143 if (test->enabled()
139 && strcmp(test->file(), file) == 0 144 && strcmp(test->file(), file) == 0
140 && strcmp(test->name(), name) == 0) { 145 && strcmp(test->name(), name) == 0) {
146 SuggestTestHarness(tests_run++);
141 test->Run(); 147 test->Run();
142 tests_run++;
143 } 148 }
144 test = test->prev(); 149 test = test->prev();
145 } 150 }
146 151
147 } else { 152 } else {
148 // Run all tests with the specified file or test name. 153 // Run all tests with the specified file or test name.
149 char* file_or_name = arg_copy; 154 char* file_or_name = arg_copy;
150 CcTest* test = CcTest::last(); 155 CcTest* test = CcTest::last();
151 while (test != NULL) { 156 while (test != NULL) {
152 if (test->enabled() 157 if (test->enabled()
153 && (strcmp(test->file(), file_or_name) == 0 158 && (strcmp(test->file(), file_or_name) == 0
154 || strcmp(test->name(), file_or_name) == 0)) { 159 || strcmp(test->name(), file_or_name) == 0)) {
160 SuggestTestHarness(tests_run++);
155 test->Run(); 161 test->Run();
156 tests_run++;
157 } 162 }
158 test = test->prev(); 163 test = test->prev();
159 } 164 }
160 } 165 }
161 v8::internal::DeleteArray<char>(arg_copy); 166 v8::internal::DeleteArray<char>(arg_copy);
162 } 167 }
163 } 168 }
164 if (print_run_count && tests_run != 1) 169 if (print_run_count && tests_run != 1)
165 printf("Ran %i tests.\n", tests_run); 170 printf("Ran %i tests.\n", tests_run);
166 v8::V8::Dispose(); 171 v8::V8::Dispose();
167 return 0; 172 return 0;
168 } 173 }
169 174
170 RegisterThreadedTest *RegisterThreadedTest::first_ = NULL; 175 RegisterThreadedTest *RegisterThreadedTest::first_ = NULL;
171 int RegisterThreadedTest::count_ = 0; 176 int RegisterThreadedTest::count_ = 0;
OLDNEW
« no previous file with comments | « test/cctest/cctest.h ('k') | test/cctest/test-api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698