Commit f54f60c5 authored by Sigurdur Asgeirsson's avatar Sigurdur Asgeirsson Committed by Commit Bot

PM: Add death tests for safe downcast.

Bug: 969764
Change-Id: I78592474edd3ee7c69700940baa148349b4c9830
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1764967Reviewed-by: default avatarSébastien Marchand <sebmarchand@chromium.org>
Commit-Queue: Sigurður Ásgeirsson <siggi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#689505}
parent 4405d8d5
......@@ -48,6 +48,15 @@ TEST_F(FrameNodeImplTest, SafeDowncast) {
EXPECT_EQ(static_cast<Node*>(node), base->ToNode());
}
using FrameNodeImplDeathTest = FrameNodeImplTest;
TEST_F(FrameNodeImplDeathTest, SafeDowncast) {
auto process = CreateNode<ProcessNodeImpl>();
auto page = CreateNode<PageNodeImpl>();
auto frame = CreateNode<FrameNodeImpl>(process.get(), page.get());
ASSERT_DEATH(PageNodeImpl::FromNodeBase(frame.get()), "Check failed: .*");
}
TEST_F(FrameNodeImplTest, AddFrameHierarchyBasic) {
auto process = CreateNode<ProcessNodeImpl>();
auto page = CreateNode<PageNodeImpl>();
......
......@@ -50,6 +50,13 @@ TEST_F(PageNodeImplTest, SafeDowncast) {
EXPECT_EQ(static_cast<Node*>(node), base->ToNode());
}
using PageNodeImplDeathTest = PageNodeImplTest;
TEST_F(PageNodeImplDeathTest, SafeDowncast) {
auto page = CreateNode<PageNodeImpl>();
ASSERT_DEATH(FrameNodeImpl::FromNodeBase(page.get()), "Check failed: .*");
}
TEST_F(PageNodeImplTest, AddFrameBasic) {
auto process_node = CreateNode<ProcessNodeImpl>();
auto page_node = CreateNode<PageNodeImpl>();
......
......@@ -29,6 +29,13 @@ TEST_F(ProcessNodeImplTest, SafeDowncast) {
EXPECT_EQ(static_cast<Node*>(node), base->ToNode());
}
using ProcessNodeImplDeathTest = ProcessNodeImplTest;
TEST_F(ProcessNodeImplDeathTest, SafeDowncast) {
auto process = CreateNode<ProcessNodeImpl>();
ASSERT_DEATH(FrameNodeImpl::FromNodeBase(process.get()), "Check failed: .*");
}
TEST_F(ProcessNodeImplTest, MeasureCPUUsage) {
auto process_node = CreateNode<ProcessNodeImpl>();
process_node->SetCPUUsage(1.0);
......
......@@ -58,6 +58,13 @@ TEST_F(SystemNodeImplTest, SafeDowncast) {
EXPECT_EQ(static_cast<Node*>(node), base->ToNode());
}
using SystemNodeImplDeathTest = SystemNodeImplTest;
TEST_F(SystemNodeImplDeathTest, SafeDowncast) {
auto system = CreateNode<SystemNodeImpl>();
ASSERT_DEATH(PageNodeImpl::FromNodeBase(system.get()), "Check failed: .*");
}
namespace {
class LenientMockObserver : public SystemNodeImpl::Observer {
......
......@@ -26,7 +26,6 @@ class WorkerNodeImplTest : public GraphTestHarness {
TEST_F(WorkerNodeImplTest, SafeDowncast) {
auto process = CreateNode<ProcessNodeImpl>();
auto page = CreateNode<PageNodeImpl>();
auto worker = CreateNode<WorkerNodeImpl>(WorkerNode::WorkerType::kDedicated,
process.get());
WorkerNode* node = worker.get();
......@@ -36,6 +35,15 @@ TEST_F(WorkerNodeImplTest, SafeDowncast) {
EXPECT_EQ(static_cast<Node*>(node), base->ToNode());
}
using WorkerNodeImplDeathTest = WorkerNodeImplTest;
TEST_F(WorkerNodeImplDeathTest, SafeDowncast) {
auto process = CreateNode<ProcessNodeImpl>();
auto worker = CreateNode<WorkerNodeImpl>(WorkerNode::WorkerType::kDedicated,
process.get());
ASSERT_DEATH(FrameNodeImpl::FromNodeBase(worker.get()), "Check failed: .*");
}
// Create a worker of each type and register the frame as a client of each.
TEST_F(WorkerNodeImplTest, AddWorkerNodes) {
auto process = CreateNode<ProcessNodeImpl>();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment