| Index: test/cctest/test-trace-event.cc
|
| diff --git a/test/cctest/test-trace-event.cc b/test/cctest/test-trace-event.cc
|
| index a889e088f667dcdcd5907b8e2c48a5459920c920..4fb3ad067e03f63dc8ec1a4c14644838ac045c8f 100644
|
| --- a/test/cctest/test-trace-event.cc
|
| +++ b/test/cctest/test-trace-event.cc
|
| @@ -72,8 +72,8 @@ class MockTracingPlatform : public v8::Platform {
|
| void PerformDelayedTask() {}
|
|
|
| uint64_t AddTraceEvent(char phase, const uint8_t* category_enabled_flag,
|
| - const char* name, uint64_t id, uint64_t bind_id,
|
| - int num_args, const char** arg_names,
|
| + const char* name, const char* scope, uint64_t id,
|
| + uint64_t bind_id, int num_args, const char** arg_names,
|
| const uint8_t* arg_types, const uint64_t* arg_values,
|
| unsigned int flags) override {
|
| MockTraceObject* to = new MockTraceObject(phase, std::string(name), id,
|
| @@ -82,6 +82,15 @@ class MockTracingPlatform : public v8::Platform {
|
| return 0;
|
| }
|
|
|
| + // TODO(fmeawad): Remove once all embedders implement the scope version.
|
| + uint64_t AddTraceEvent(char phase, const uint8_t* category_enabled_flag,
|
| + const char* name, uint64_t id, uint64_t bind_id,
|
| + int num_args, const char** arg_names,
|
| + const uint8_t* arg_types, const uint64_t* arg_values,
|
| + unsigned int flags) override {
|
| + return 0;
|
| + }
|
| +
|
| void UpdateTraceEventDuration(const uint8_t* category_enabled_flag,
|
| const char* name, uint64_t handle) override {}
|
|
|
| @@ -256,3 +265,27 @@ TEST(TestEventWithId) {
|
|
|
| i::V8::SetPlatformForTesting(old_platform);
|
| }
|
| +
|
| +TEST(TestEventInContext) {
|
| + v8::Platform* old_platform = i::V8::GetCurrentPlatform();
|
| + MockTracingPlatform platform(old_platform);
|
| + i::V8::SetPlatformForTesting(&platform);
|
| +
|
| + static uint64_t isolate_id = 0x20151021;
|
| + {
|
| + TRACE_EVENT_SCOPED_CONTEXT("v8-cat", "Isolate", isolate_id);
|
| + TRACE_EVENT0("v8-cat", "e");
|
| + }
|
| +
|
| + CHECK_EQ(3, GET_TRACE_OBJECTS_LIST->length());
|
| + CHECK_EQ(TRACE_EVENT_PHASE_ENTER_CONTEXT, GET_TRACE_OBJECT(0)->phase);
|
| + CHECK_EQ("Isolate", GET_TRACE_OBJECT(0)->name);
|
| + CHECK_EQ(isolate_id, GET_TRACE_OBJECT(0)->id);
|
| + CHECK_EQ(TRACE_EVENT_PHASE_COMPLETE, GET_TRACE_OBJECT(1)->phase);
|
| + CHECK_EQ("e", GET_TRACE_OBJECT(1)->name);
|
| + CHECK_EQ(TRACE_EVENT_PHASE_LEAVE_CONTEXT, GET_TRACE_OBJECT(2)->phase);
|
| + CHECK_EQ("Isolate", GET_TRACE_OBJECT(2)->name);
|
| + CHECK_EQ(isolate_id, GET_TRACE_OBJECT(2)->id);
|
| +
|
| + i::V8::SetPlatformForTesting(old_platform);
|
| +}
|
|
|