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` does not get notified of the death of the `VideoBridgeChild` (resulting in a 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 process and a utility process, respectively. Perhaps we can uncover the underlying issue by adding this configuration to our tests.
Bug 1878607 Comment 0 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
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 process and a utility process, respectively. Perhaps we can uncover the underlying issue by adding this configuration to our tests.
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.