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

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

Issue 93120: Changed the ASSERT's in the cctest's to CHECK's (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 8 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/test-api.cc ('k') | test/cctest/test-decls.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 2007-2008 the V8 project authors. All rights reserved. 1 // Copyright 2007-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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 // Column not specified set script break point on line. 225 // Column not specified set script break point on line.
226 OS::SNPrintF(buffer, 226 OS::SNPrintF(buffer,
227 "debug.Debug.setScriptBreakPointById(%d,%d)", 227 "debug.Debug.setScriptBreakPointById(%d,%d)",
228 script_id, line); 228 script_id, line);
229 } 229 }
230 buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0'; 230 buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
231 { 231 {
232 v8::TryCatch try_catch; 232 v8::TryCatch try_catch;
233 v8::Handle<v8::String> str = v8::String::New(buffer.start()); 233 v8::Handle<v8::String> str = v8::String::New(buffer.start());
234 v8::Handle<v8::Value> value = v8::Script::Compile(str)->Run(); 234 v8::Handle<v8::Value> value = v8::Script::Compile(str)->Run();
235 ASSERT(!try_catch.HasCaught()); 235 CHECK(!try_catch.HasCaught());
236 return value->Int32Value(); 236 return value->Int32Value();
237 } 237 }
238 } 238 }
239 239
240 240
241 // Set a break point in a script identified by name using the global Debug 241 // Set a break point in a script identified by name using the global Debug
242 // object. 242 // object.
243 static int SetScriptBreakPointByNameFromJS(const char* script_name, 243 static int SetScriptBreakPointByNameFromJS(const char* script_name,
244 int line, int column) { 244 int line, int column) {
245 EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer; 245 EmbeddedVector<char, SMALL_STRING_BUFFER_SIZE> buffer;
246 if (column >= 0) { 246 if (column >= 0) {
247 // Column specified set script break point on precise location. 247 // Column specified set script break point on precise location.
248 OS::SNPrintF(buffer, 248 OS::SNPrintF(buffer,
249 "debug.Debug.setScriptBreakPointByName(\"%s\",%d,%d)", 249 "debug.Debug.setScriptBreakPointByName(\"%s\",%d,%d)",
250 script_name, line, column); 250 script_name, line, column);
251 } else { 251 } else {
252 // Column not specified set script break point on line. 252 // Column not specified set script break point on line.
253 OS::SNPrintF(buffer, 253 OS::SNPrintF(buffer,
254 "debug.Debug.setScriptBreakPointByName(\"%s\",%d)", 254 "debug.Debug.setScriptBreakPointByName(\"%s\",%d)",
255 script_name, line); 255 script_name, line);
256 } 256 }
257 buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0'; 257 buffer[SMALL_STRING_BUFFER_SIZE - 1] = '\0';
258 { 258 {
259 v8::TryCatch try_catch; 259 v8::TryCatch try_catch;
260 v8::Handle<v8::String> str = v8::String::New(buffer.start()); 260 v8::Handle<v8::String> str = v8::String::New(buffer.start());
261 v8::Handle<v8::Value> value = v8::Script::Compile(str)->Run(); 261 v8::Handle<v8::Value> value = v8::Script::Compile(str)->Run();
262 ASSERT(!try_catch.HasCaught()); 262 CHECK(!try_catch.HasCaught());
263 return value->Int32Value(); 263 return value->Int32Value();
264 } 264 }
265 } 265 }
266 266
267 267
268 // Clear a break point. 268 // Clear a break point.
269 static void ClearBreakPoint(int break_point) { 269 static void ClearBreakPoint(int break_point) {
270 Debug::ClearBreakPoint( 270 Debug::ClearBreakPoint(
271 Handle<Object>(v8::internal::Smi::FromInt(break_point))); 271 Handle<Object>(v8::internal::Smi::FromInt(break_point)));
272 } 272 }
(...skipping 2665 matching lines...) Expand 10 before | Expand all | Expand 10 after
2938 // Get rid of the debug event listener. 2938 // Get rid of the debug event listener.
2939 v8::Debug::SetDebugEventListener(NULL); 2939 v8::Debug::SetDebugEventListener(NULL);
2940 CheckDebuggerUnloaded(); 2940 CheckDebuggerUnloaded();
2941 } 2941 }
2942 2942
2943 2943
2944 TEST(DebugBreak) { 2944 TEST(DebugBreak) {
2945 v8::HandleScope scope; 2945 v8::HandleScope scope;
2946 DebugLocalContext env; 2946 DebugLocalContext env;
2947 2947
2948 // This test should be run with option --verify-heap. This is an ASSERT and 2948 // This test should be run with option --verify-heap. As --verify-heap is
2949 // not a CHECK as --verify-heap is only available in debug mode. 2949 // only available in debug mode only check for it in that case.
2950 ASSERT(v8::internal::FLAG_verify_heap); 2950 #ifdef DEBUG
2951 CHECK(v8::internal::FLAG_verify_heap);
2952 #endif
2951 2953
2952 // Register a debug event listener which sets the break flag and counts. 2954 // Register a debug event listener which sets the break flag and counts.
2953 v8::Debug::SetDebugEventListener(DebugEventBreak); 2955 v8::Debug::SetDebugEventListener(DebugEventBreak);
2954 2956
2955 // Create a function for testing stepping. 2957 // Create a function for testing stepping.
2956 const char* src = "function f0() {}" 2958 const char* src = "function f0() {}"
2957 "function f1(x1) {}" 2959 "function f1(x1) {}"
2958 "function f2(x1,x2) {}" 2960 "function f2(x1,x2) {}"
2959 "function f3(x1,x2,x3) {}"; 2961 "function f3(x1,x2,x3) {}";
2960 v8::Local<v8::Function> f0 = CompileFunction(&env, src, "f0"); 2962 v8::Local<v8::Function> f0 = CompileFunction(&env, src, "f0");
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
3354 // Do not call, due to race condition with Wait(). 3356 // Do not call, due to race condition with Wait().
3355 // Could be resolved with Pthread condition variables. 3357 // Could be resolved with Pthread condition variables.
3356 ThreadBarrier::~ThreadBarrier() { 3358 ThreadBarrier::~ThreadBarrier() {
3357 lock_->Lock(); 3359 lock_->Lock();
3358 delete lock_; 3360 delete lock_;
3359 delete sem_; 3361 delete sem_;
3360 } 3362 }
3361 3363
3362 void ThreadBarrier::Wait() { 3364 void ThreadBarrier::Wait() {
3363 lock_->Lock(); 3365 lock_->Lock();
3364 ASSERT(!invalid_); 3366 CHECK(!invalid_);
3365 if (num_blocked_ == num_threads_ - 1) { 3367 if (num_blocked_ == num_threads_ - 1) {
3366 // Signal and unblock all waiting threads. 3368 // Signal and unblock all waiting threads.
3367 for (int i = 0; i < num_threads_ - 1; ++i) { 3369 for (int i = 0; i < num_threads_ - 1; ++i) {
3368 sem_->Signal(); 3370 sem_->Signal();
3369 } 3371 }
3370 invalid_ = true; 3372 invalid_ = true;
3371 printf("BARRIER\n\n"); 3373 printf("BARRIER\n\n");
3372 fflush(stdout); 3374 fflush(stdout);
3373 lock_->Unlock(); 3375 lock_->Unlock();
3374 } else { // Wait for the semaphore. 3376 } else { // Wait for the semaphore.
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
3559 TEST(MessageQueueExpandAndDestroy) { 3561 TEST(MessageQueueExpandAndDestroy) {
3560 TestClientData::ResetCounters(); 3562 TestClientData::ResetCounters();
3561 { // Create a scope for the queue. 3563 { // Create a scope for the queue.
3562 CommandMessageQueue queue(1); 3564 CommandMessageQueue queue(1);
3563 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3565 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3564 new TestClientData())); 3566 new TestClientData()));
3565 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3567 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3566 new TestClientData())); 3568 new TestClientData()));
3567 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3569 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3568 new TestClientData())); 3570 new TestClientData()));
3569 ASSERT_EQ(0, TestClientData::destructor_call_counter); 3571 CHECK_EQ(0, TestClientData::destructor_call_counter);
3570 queue.Get().Dispose(); 3572 queue.Get().Dispose();
3571 ASSERT_EQ(1, TestClientData::destructor_call_counter); 3573 CHECK_EQ(1, TestClientData::destructor_call_counter);
3572 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3574 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3573 new TestClientData())); 3575 new TestClientData()));
3574 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3576 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3575 new TestClientData())); 3577 new TestClientData()));
3576 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3578 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3577 new TestClientData())); 3579 new TestClientData()));
3578 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3580 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3579 new TestClientData())); 3581 new TestClientData()));
3580 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(), 3582 queue.Put(CommandMessage::New(Vector<uint16_t>::empty(),
3581 new TestClientData())); 3583 new TestClientData()));
3582 ASSERT_EQ(1, TestClientData::destructor_call_counter); 3584 CHECK_EQ(1, TestClientData::destructor_call_counter);
3583 queue.Get().Dispose(); 3585 queue.Get().Dispose();
3584 ASSERT_EQ(2, TestClientData::destructor_call_counter); 3586 CHECK_EQ(2, TestClientData::destructor_call_counter);
3585 } 3587 }
3586 // All the client data should be destroyed when the queue is destroyed. 3588 // All the client data should be destroyed when the queue is destroyed.
3587 ASSERT_EQ(TestClientData::destructor_call_counter, 3589 CHECK_EQ(TestClientData::destructor_call_counter,
3588 TestClientData::destructor_call_counter); 3590 TestClientData::destructor_call_counter);
3589 } 3591 }
3590 3592
3591 3593
3592 static int handled_client_data_instances_count = 0; 3594 static int handled_client_data_instances_count = 0;
3593 static void MessageHandlerCountingClientData( 3595 static void MessageHandlerCountingClientData(
3594 const uint16_t* message, 3596 const uint16_t* message,
3595 int length, 3597 int length,
3596 v8::Debug::ClientData* client_data) { 3598 v8::Debug::ClientData* client_data) {
3597 if (client_data) { 3599 if (client_data) {
3598 handled_client_data_instances_count++; 3600 handled_client_data_instances_count++;
(...skipping 29 matching lines...) Expand all
3628 3630
3629 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_1, buffer), 3631 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_1, buffer),
3630 new TestClientData()); 3632 new TestClientData());
3631 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_2, buffer), NULL); 3633 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_2, buffer), NULL);
3632 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_2, buffer), 3634 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_2, buffer),
3633 new TestClientData()); 3635 new TestClientData());
3634 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_2, buffer), 3636 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_2, buffer),
3635 new TestClientData()); 3637 new TestClientData());
3636 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_continue, buffer)); 3638 v8::Debug::SendCommand(buffer, AsciiToUtf16(command_continue, buffer));
3637 CompileRun(source_1); 3639 CompileRun(source_1);
3638 ASSERT_EQ(3, TestClientData::constructor_call_counter); 3640 CHECK_EQ(3, TestClientData::constructor_call_counter);
3639 ASSERT_EQ(TestClientData::constructor_call_counter, 3641 CHECK_EQ(TestClientData::constructor_call_counter,
3640 handled_client_data_instances_count); 3642 handled_client_data_instances_count);
3641 ASSERT_EQ(TestClientData::constructor_call_counter, 3643 CHECK_EQ(TestClientData::constructor_call_counter,
3642 TestClientData::destructor_call_counter); 3644 TestClientData::destructor_call_counter);
3643 } 3645 }
3644 3646
3645 3647
3646 /* Test ThreadedDebugging */ 3648 /* Test ThreadedDebugging */
3647 /* This test interrupts a running infinite loop that is 3649 /* This test interrupts a running infinite loop that is
3648 * occupying the v8 thread by a break command from the 3650 * occupying the v8 thread by a break command from the
3649 * debugger thread. It then changes the value of a 3651 * debugger thread. It then changes the value of a
3650 * global object, to make the loop terminate. 3652 * global object, to make the loop terminate.
3651 */ 3653 */
3652 3654
(...skipping 916 matching lines...) Expand 10 before | Expand all | Expand 10 after
4569 v8::ScriptOrigin origin2 = v8::ScriptOrigin(v8::String::New("new name")); 4571 v8::ScriptOrigin origin2 = v8::ScriptOrigin(v8::String::New("new name"));
4570 v8::Handle<v8::Script> script2 = v8::Script::Compile(script, &origin2); 4572 v8::Handle<v8::Script> script2 = v8::Script::Compile(script, &origin2);
4571 script2->Run(); 4573 script2->Run();
4572 script2->SetData(data_obj); 4574 script2->SetData(data_obj);
4573 f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f"))); 4575 f = v8::Local<v8::Function>::Cast(env->Global()->Get(v8::String::New("f")));
4574 f->Call(env->Global(), 0, NULL); 4576 f->Call(env->Global(), 0, NULL);
4575 CHECK_EQ(2, break_point_hit_count); 4577 CHECK_EQ(2, break_point_hit_count);
4576 CHECK_EQ("new name", last_script_name_hit); 4578 CHECK_EQ("new name", last_script_name_hit);
4577 CHECK_EQ("abc 123", last_script_data_hit); 4579 CHECK_EQ("abc 123", last_script_data_hit);
4578 } 4580 }
OLDNEW
« no previous file with comments | « test/cctest/test-api.cc ('k') | test/cctest/test-decls.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698