Create additional configurations for gtest IPDLUnitTest
Categories
(Core :: IPC, task)
Tracking
()
People
(Reporter: yannis, Unassigned)
References
Details
Attachments
(2 files)
In ipc/ipdl/test/gtest
we define multiple pairs of parent and child actors for use in test scenarios. We then run these tests in two generic configurations, defined in ipc/ipdl/test/gtest/IPDLUnitTest.h
: CrossThread
and CrossProcess
. In the CrossThread
configuration, the parent and child will run in the same process. In the CrossProcess
configuration, the child will run in a subprocess. We can add two new useful configurations: a variant of CrossProcess
where the parent runs in a subprocess (but not the child); and another variant where both the parent and the child run in different subprocesses of the same process.
These new configurations will cover cases that are used in practice in our code base. In particular, in bug 1875095, there seems to be an issue where the VideoBridgeParent
sometimes does not get notified of the death of the VideoBridgeChild
(resulting in an intermittent shutdown hang). In this configuration the VideoBridgeParent
and the VideoBridgeChild
endpoints are created from the main process and then sent over IPDL and opened from the GPU and utility subprocesses, respectively. Perhaps we can uncover the underlying issue by adding the configuration with two subprocesses to our tests.
Reporter | ||
Comment 1•1 year ago
|
||
Reporter | ||
Comment 2•1 year ago
|
||
This patch adds a new TestCrash.cpp IPDL gtest which checks that if we
crash the subprocess where an IPDL actor (TestCrashParent) lives, its
peer actor (TestCrashChild) gets correctly notified. We expect to reach
TestCrashChild::ActorDestroy and close the connection, resulting in the
test ending.
Depends on D200613
Description
•