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

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

Issue 23067008: Add warning to cctest when running multiple tests in sequence. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: addressed comment. Created 7 years, 4 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 | « no previous file | no next file » | 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; 118 v8::internal::FLAG_harmony_array_buffer = true;
112 v8::internal::FLAG_harmony_typed_arrays = true; 119 v8::internal::FLAG_harmony_typed_arrays = true;
113 120
114 CcTestArrayBufferAllocator array_buffer_allocator; 121 CcTestArrayBufferAllocator array_buffer_allocator;
115 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator); 122 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator);
116 123
117 CcTest::set_default_isolate(v8::Isolate::GetCurrent()); 124 CcTest::set_default_isolate(v8::Isolate::GetCurrent());
118 CHECK(CcTest::default_isolate() != NULL); 125 CHECK(CcTest::default_isolate() != NULL);
(...skipping 12 matching lines...) Expand all
131 // Split the string in two by nulling the slash and then run 138 // Split the string in two by nulling the slash and then run
132 // exact matches. 139 // exact matches.
133 *testname = 0; 140 *testname = 0;
134 char* file = arg_copy; 141 char* file = arg_copy;
135 char* name = testname + 1; 142 char* name = testname + 1;
136 CcTest* test = CcTest::last(); 143 CcTest* test = CcTest::last();
137 while (test != NULL) { 144 while (test != NULL) {
138 if (test->enabled() 145 if (test->enabled()
139 && strcmp(test->file(), file) == 0 146 && strcmp(test->file(), file) == 0
140 && strcmp(test->name(), name) == 0) { 147 && strcmp(test->name(), name) == 0) {
148 SuggestTestHarness(tests_run++);
141 test->Run(); 149 test->Run();
142 tests_run++;
143 } 150 }
144 test = test->prev(); 151 test = test->prev();
145 } 152 }
146 153
147 } else { 154 } else {
148 // Run all tests with the specified file or test name. 155 // Run all tests with the specified file or test name.
149 char* file_or_name = arg_copy; 156 char* file_or_name = arg_copy;
150 CcTest* test = CcTest::last(); 157 CcTest* test = CcTest::last();
151 while (test != NULL) { 158 while (test != NULL) {
152 if (test->enabled() 159 if (test->enabled()
153 && (strcmp(test->file(), file_or_name) == 0 160 && (strcmp(test->file(), file_or_name) == 0
154 || strcmp(test->name(), file_or_name) == 0)) { 161 || strcmp(test->name(), file_or_name) == 0)) {
162 SuggestTestHarness(tests_run++);
155 test->Run(); 163 test->Run();
156 tests_run++;
157 } 164 }
158 test = test->prev(); 165 test = test->prev();
159 } 166 }
160 } 167 }
161 v8::internal::DeleteArray<char>(arg_copy); 168 v8::internal::DeleteArray<char>(arg_copy);
162 } 169 }
163 } 170 }
164 if (print_run_count && tests_run != 1) 171 if (print_run_count && tests_run != 1)
165 printf("Ran %i tests.\n", tests_run); 172 printf("Ran %i tests.\n", tests_run);
166 v8::V8::Dispose(); 173 v8::V8::Dispose();
167 return 0; 174 return 0;
168 } 175 }
169 176
170 RegisterThreadedTest *RegisterThreadedTest::first_ = NULL; 177 RegisterThreadedTest *RegisterThreadedTest::first_ = NULL;
171 int RegisterThreadedTest::count_ = 0; 178 int RegisterThreadedTest::count_ = 0;
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698