gecko-dev/xpcom
Nika Layzell 2f62d8c857 Bug 1751948 - Part 6: Add basic support for running IPDL unit tests during gtest, r=ipc-reviewers,andi,handyman
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
2022-02-28 21:01:49 +00:00
..
base Bug 1756504 - Remove cpp-virtual-final linter, a minor style check that doesn't diagnose real bugs. r=firefox-static-analysis-reviewers,sylvestre 2022-02-24 02:14:39 +00:00
build Bug 1708743 - Add javascript.options.wasm_simd_avx preference. r=jandem 2022-01-12 22:31:30 +00:00
components Bug 1751948 - Part 6: Add basic support for running IPDL unit tests during gtest, r=ipc-reviewers,andi,handyman 2022-02-28 21:01:49 +00:00
docs Bug 1754090 - update BulkWrite() documentation r=nika DONTBUILD 2022-02-09 16:54:04 +00:00
ds Bug 1756500 - Store OriginTrials in Document. r=smaug 2022-02-21 21:12:04 +00:00
geckoprocesstypes_generator Bug 1751948 - Part 6: Add basic support for running IPDL unit tests during gtest, r=ipc-reviewers,andi,handyman 2022-02-28 21:01:49 +00:00
glue Bug 1733308 - Fix non-unified builds errors in xpcom/build. r=xpcom-reviewers,mccr8 2021-10-01 01:49:17 +00:00
idl-parser Bug 1748718 - Part 2: Use the specified type for rust xpidl constants, r=emilio 2022-01-07 20:35:15 +00:00
io Bug 1751840 - Make nsLocalFileWin::Equals compare long names before trying 8.3 names. r=bobowen 2022-02-19 12:37:10 +00:00
libxpt/xptcall
reflect Bug 1754405 part 14 - Rename PropertyKey::fromNonIntAtom to PropertyKey::NonIntAtom. r=evilpie 2022-02-13 12:01:49 +00:00
rust Bug 1746533 - Part 2: Use the fallible Poll implementation in moz_task, r=emilio 2022-01-26 15:36:14 +00:00
string Bug 1749440 - Add nsTSubstring::Insert() that takes a mozilla::Span parameter. r=xpcom-reviewers,nika 2022-01-11 18:52:51 +00:00
system Bug 1750859: If not all decoders are remoted, you're disqualified from win32k r=bobowen 2022-02-17 18:59:17 +00:00
tests Bug 1756070 - Part 1: Add missing `override` keywords r=emilio 2022-02-21 13:50:12 +00:00
threads Bug 1757100 - Sprinkle [[nodiscard]] and =delete in RWLock.h - r=glandium,xpcom-reviewers 2022-02-27 23:32:56 +00:00
windbgdlg Bug 1747756 - Move Windows system libraries from LIBS to moz.build. r=firefox-build-system-reviewers,mhentges 2021-12-30 20:56:43 +00:00
xpidl
moz.build Bug 1726804 - Refactor definition and usage of GECKO_PROCESS_TYPE() r=nika,firefox-build-system-reviewers,mhentges 2021-11-19 14:02:55 +00:00
xpcom-config.h.in