diff --git a/test/cctest/node_test_fixture.cc b/test/cctest/node_test_fixture.cc index e4675c5db3c9f9..3e5a112240f6d3 100644 --- a/test/cctest/node_test_fixture.cc +++ b/test/cctest/node_test_fixture.cc @@ -3,4 +3,5 @@ uv_loop_t NodeTestFixture::current_loop; std::unique_ptr NodeTestFixture::platform; std::unique_ptr NodeTestFixture::allocator; +std::unique_ptr NodeTestFixture::tracing_controller; v8::Isolate::CreateParams NodeTestFixture::params; diff --git a/test/cctest/node_test_fixture.h b/test/cctest/node_test_fixture.h index 583530c65ebe9e..660111c5a90c6f 100644 --- a/test/cctest/node_test_fixture.h +++ b/test/cctest/node_test_fixture.h @@ -55,13 +55,9 @@ struct Argv { class NodeTestFixture : public ::testing::Test { - public: - static uv_loop_t* CurrentLoop() { return ¤t_loop; } - - node::MultiIsolatePlatform* Platform() const { return platform.get(); } - protected: static std::unique_ptr allocator; + static std::unique_ptr tracing_controller; static std::unique_ptr platform; static v8::Isolate::CreateParams params; static uv_loop_t current_loop; @@ -69,18 +65,14 @@ class NodeTestFixture : public ::testing::Test { static void SetUpTestCase() { platform.reset(new node::NodePlatform(4, nullptr)); + tracing_controller.reset(new v8::TracingController()); allocator.reset(v8::ArrayBuffer::Allocator::NewDefaultAllocator()); params.array_buffer_allocator = allocator.get(); + node::tracing::TraceEventHelper::SetTracingController( + tracing_controller.get()); CHECK_EQ(0, uv_loop_init(¤t_loop)); v8::V8::InitializePlatform(platform.get()); v8::V8::Initialize(); - - // As the TracingController is stored globally, we only need to create it - // one time for all tests. - if (node::tracing::TraceEventHelper::GetTracingController() == nullptr) { - node::tracing::TraceEventHelper::SetTracingController( - new v8::TracingController()); - } } static void TearDownTestCase() { @@ -108,17 +100,15 @@ class EnvironmentTestFixture : public NodeTestFixture { public: class Env { public: - Env(const v8::HandleScope& handle_scope, - const Argv& argv, - NodeTestFixture* test_fixture) { + Env(const v8::HandleScope& handle_scope, const Argv& argv) { auto isolate = handle_scope.GetIsolate(); context_ = node::NewContext(isolate); CHECK(!context_.IsEmpty()); context_->Enter(); isolate_data_ = node::CreateIsolateData(isolate, - NodeTestFixture::CurrentLoop(), - test_fixture->Platform()); + &NodeTestFixture::current_loop, + platform.get()); CHECK_NE(nullptr, isolate_data_); environment_ = node::CreateEnvironment(isolate_data_, context_, diff --git a/test/cctest/test_environment.cc b/test/cctest/test_environment.cc index 352fed1fb62ed9..4575d3b65ae318 100644 --- a/test/cctest/test_environment.cc +++ b/test/cctest/test_environment.cc @@ -32,7 +32,7 @@ class EnvironmentTest : public EnvironmentTestFixture { TEST_F(EnvironmentTest, AtExitWithEnvironment) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env {handle_scope, argv, this}; + Env env {handle_scope, argv}; AtExit(*env, at_exit_callback1); RunAtExit(*env); @@ -42,7 +42,7 @@ TEST_F(EnvironmentTest, AtExitWithEnvironment) { TEST_F(EnvironmentTest, AtExitWithArgument) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env {handle_scope, argv, this}; + Env env {handle_scope, argv}; std::string arg{"some args"}; AtExit(*env, at_exit_callback1, static_cast(&arg)); @@ -53,8 +53,8 @@ TEST_F(EnvironmentTest, AtExitWithArgument) { TEST_F(EnvironmentTest, MultipleEnvironmentsPerIsolate) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env1 {handle_scope, argv, this}; - Env env2 {handle_scope, argv, this}; + Env env1 {handle_scope, argv}; + Env env2 {handle_scope, argv}; AtExit(*env1, at_exit_callback1); AtExit(*env2, at_exit_callback2); diff --git a/test/cctest/test_node_postmortem_metadata.cc b/test/cctest/test_node_postmortem_metadata.cc index e46cb69432d8bf..e901d97668f5ff 100644 --- a/test/cctest/test_node_postmortem_metadata.cc +++ b/test/cctest/test_node_postmortem_metadata.cc @@ -70,7 +70,7 @@ TEST_F(DebugSymbolsTest, ExternalStringDataOffset) { TEST_F(DebugSymbolsTest, BaseObjectPersistentHandle) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env{handle_scope, argv, this}; + Env env{handle_scope, argv}; v8::Local object = v8::Object::New(isolate_); node::BaseObject obj(*env, object); @@ -87,7 +87,7 @@ TEST_F(DebugSymbolsTest, BaseObjectPersistentHandle) { TEST_F(DebugSymbolsTest, EnvironmentHandleWrapQueue) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env{handle_scope, argv, this}; + Env env{handle_scope, argv}; auto expected = reinterpret_cast((*env)->handle_wrap_queue()); auto calculated = reinterpret_cast(*env) + @@ -98,7 +98,7 @@ TEST_F(DebugSymbolsTest, EnvironmentHandleWrapQueue) { TEST_F(DebugSymbolsTest, EnvironmentReqWrapQueue) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env{handle_scope, argv, this}; + Env env{handle_scope, argv}; auto expected = reinterpret_cast((*env)->req_wrap_queue()); auto calculated = reinterpret_cast(*env) + @@ -109,7 +109,7 @@ TEST_F(DebugSymbolsTest, EnvironmentReqWrapQueue) { TEST_F(DebugSymbolsTest, HandleWrapList) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env{handle_scope, argv, this}; + Env env{handle_scope, argv}; uv_tcp_t handle; @@ -138,7 +138,7 @@ TEST_F(DebugSymbolsTest, HandleWrapList) { TEST_F(DebugSymbolsTest, ReqWrapList) { const v8::HandleScope handle_scope(isolate_); const Argv argv; - Env env{handle_scope, argv, this}; + Env env{handle_scope, argv}; auto obj_template = v8::FunctionTemplate::New(isolate_); obj_template->InstanceTemplate()->SetInternalFieldCount(1);