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

Unified Diff: test/cctest/test-debug.cc

Issue 2537313005: [debug] Revert debug API removal (Closed)
Patch Set: Created 4 years 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
Index: test/cctest/test-debug.cc
diff --git a/test/cctest/test-debug.cc b/test/cctest/test-debug.cc
index 63a0bf0ccb7af86610c6bae0ef44024e99162acb..cb9d5494228181e92f26b769abf538f9c092a0dc 100644
--- a/test/cctest/test-debug.cc
+++ b/test/cctest/test-debug.cc
@@ -4125,6 +4125,7 @@ TEST(DebugBreak) {
// Set the debug break flag.
v8::Debug::DebugBreak(env->GetIsolate());
+ CHECK(v8::Debug::CheckDebugBreak(env->GetIsolate()));
Yang 2016/12/01 09:04:33 Let's not restore tests.
// Call all functions with different argument count.
break_point_hit_count = 0;
@@ -4160,7 +4161,9 @@ TEST(DisableBreak) {
// Set, test and cancel debug break.
v8::Debug::DebugBreak(env->GetIsolate());
+ CHECK(v8::Debug::CheckDebugBreak(env->GetIsolate()));
v8::Debug::CancelDebugBreak(env->GetIsolate());
+ CHECK(!v8::Debug::CheckDebugBreak(env->GetIsolate()));
// Set the debug break flag.
v8::Debug::DebugBreak(env->GetIsolate());
@@ -5259,7 +5262,7 @@ TEST(ContextData) {
}
// Two times compile event and two times break event.
- CHECK_GT(event_listener_hit_count, 3);
+ CHECK_GT(event_listener_hit_count, 4);
v8::Debug::SetDebugEventListener(isolate, nullptr);
CheckDebuggerUnloaded(isolate);
@@ -5681,6 +5684,29 @@ TEST(NoDebugBreakInAfterCompileEventListener) {
CheckDebuggerUnloaded(env->GetIsolate());
}
+TEST(GetMirror) {
+ DebugLocalContext env;
+ v8::Isolate* isolate = env->GetIsolate();
+ v8::HandleScope scope(isolate);
+ v8::Local<v8::Context> context = env.context();
+ v8::Local<v8::Value> obj =
+ v8::Debug::GetMirror(context, v8_str(isolate, "hodja")).ToLocalChecked();
+ v8::ScriptCompiler::Source source(
+ v8_str("function runTest(mirror) {"
+ " return mirror.isString() && (mirror.length() == 5);"
+ "}"
+ ""
+ "runTest;"));
+ v8::Local<v8::Function> run_test = v8::Local<v8::Function>::Cast(
+ v8::ScriptCompiler::CompileUnboundScript(isolate, &source)
+ .ToLocalChecked()
+ ->BindToCurrentContext()
+ ->Run(context)
+ .ToLocalChecked());
+ v8::Local<v8::Value> result =
+ run_test->Call(context, env->Global(), 1, &obj).ToLocalChecked();
+ CHECK(result->IsTrue());
+}
// Test that the debug break flag works with function.apply.
TEST(DebugBreakFunctionApply) {
@@ -5820,6 +5846,41 @@ TEST(NoDebugContextWhenDebuggerDisabled) {
CHECK(context.IsEmpty());
}
+static void DebugEventCheckContext(
+ const v8::Debug::EventDetails& event_details) {
+ if (event_details.GetEvent() == v8::Break) {
+ v8::Isolate* isolate = event_details.GetIsolate();
+ CHECK(v8::Debug::GetDebuggedContext(isolate)
+ .ToLocalChecked()
+ ->Global()
+ ->Equals(isolate->GetCurrentContext(),
+ event_details.GetEventContext()->Global())
+ .FromJust());
+ }
+}
+
+static void CheckContext(const v8::FunctionCallbackInfo<v8::Value>& args) {
+ CHECK(v8::Debug::GetDebuggedContext(args.GetIsolate()).IsEmpty());
+}
+
+TEST(DebuggedContext) {
+ DebugLocalContext env;
+ v8::Isolate* isolate = env->GetIsolate();
+
+ v8::Debug::SetDebugEventListener(isolate, DebugEventCheckContext);
+
+ v8::Local<v8::Function> foo =
+ CompileFunction(&env, "function foo(){bar=0;}", "foo");
+
+ SetBreakPoint(foo, 0);
+ foo->Call(env.context(), env->Global(), 0, nullptr).ToLocalChecked();
+
+ v8::Local<v8::Function> fun = v8::FunctionTemplate::New(isolate, CheckContext)
+ ->GetFunction(env.context())
+ .ToLocalChecked();
+ fun->Call(env.context(), env->Global(), 0, nullptr).ToLocalChecked();
+}
+
static v8::Local<v8::Value> expected_callback_data;
static void DebugEventContextChecker(const v8::Debug::EventDetails& details) {
CHECK(details.GetEventContext() == expected_context);

Powered by Google App Engine
This is Rietveld 408576698