зеркало из https://github.com/mozilla/gecko-dev.git
2f62d8c857
This patch introduces a new system for building IPDL unit tests, which is roughly inspired by the old cxx unit test design, however designed to work with gtest. It re-uses the existing IPDLUnitTest process type, using static constructors only present in xul-gtest to register child actor constructors and ProcessChild implementations to avoid bloating xul. The IPDLUnitTest actor is used as a backchannel to communicate test failures from the child process back to the parent process, and manage the test's async lifecycle more reliably. The IPDLUnitTest process also needed to have various properties about how it was initialized adjusted: * The IPDLUnitTest process should now always load xul-gtest when running gtests, by using the "Self" process type and adding a DYLD_LIBRARY_PATH override on macOS where the "Self" process type cannot be used. * The IPDLUnitTest process now initializes minimal XPCOM, and runs a frankeneventloop to allow it to use XPCOM event loop structures such as SpinEventLoopUntil in tests. * Support for creating IPDLUnitTest processes on Android was added, as these tests had never run on android before. Differential Revision: https://phabricator.services.mozilla.com/D137170 |
||
---|---|---|
.. | ||
base | ||
build | ||
components | ||
docs | ||
ds | ||
geckoprocesstypes_generator | ||
glue | ||
idl-parser | ||
io | ||
libxpt/xptcall | ||
reflect | ||
rust | ||
string | ||
system | ||
tests | ||
threads | ||
windbgdlg | ||
xpidl | ||
moz.build | ||
xpcom-config.h.in |