gecko-dev/build/clang-plugin
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
..
alpha
external
mozsearch-plugin Bug 1728376 - Searchfox should treat pure virtual declarations as definitions. r=jrmuizel 2021-09-01 02:41:05 +00:00
tests Bug 1718825 - Treat strong pointers which are members of class/struct and marked as MOZ_KNOWN_LIVE as safe r=andi 2022-02-02 00:48:19 +00:00
.clang-format
ArithmeticArgChecker.cpp
ArithmeticArgChecker.h
AssertAssignmentChecker.cpp
AssertAssignmentChecker.h
BaseCheck.h
CanRunScriptChecker.cpp Bug 1718825 - Treat strong pointers which are members of class/struct and marked as MOZ_KNOWN_LIVE as safe r=andi 2022-02-02 00:48:19 +00:00
CanRunScriptChecker.h
Checks.inc Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
ChecksIncludes.inc Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
CustomAttributes.cpp
CustomAttributes.h
CustomAttributes.inc Bug 1748874 - Part 5: Require CAN_RUN_SCRIPT to be at the first declaration r=andi 2022-01-11 11:52:27 +00:00
CustomMatchers.h Bug 1731582 - starting with clang-13 Expr::isRValue has been changed to Expr::isPRValue. r=glandium 2021-09-28 07:52:16 +00:00
CustomTypeAnnotation.cpp Bug 1744604 - Part 1: Make CustomTypeAnnotation more flexible, r=andi 2021-12-14 16:49:17 +00:00
CustomTypeAnnotation.h Bug 1744604 - Part 1: Make CustomTypeAnnotation more flexible, r=andi 2021-12-14 16:49:17 +00:00
DanglingOnTemporaryChecker.cpp
DanglingOnTemporaryChecker.h
DiagnosticsMatcher.cpp
DiagnosticsMatcher.h
ExplicitImplicitChecker.cpp
ExplicitImplicitChecker.h
ExplicitOperatorBoolChecker.cpp
ExplicitOperatorBoolChecker.h
FopenUsageChecker.cpp
FopenUsageChecker.h
import_mozilla_checks.py
KungFuDeathGripChecker.cpp
KungFuDeathGripChecker.h
LoadLibraryUsageChecker.cpp
LoadLibraryUsageChecker.h
Makefile.in Bug 1724606 - Replace uses of MACOSX_DEPLOYMENT_TARGET env variable with -mmacosx-version-min flag. r=firefox-build-system-reviewers,andi 2021-08-11 07:40:57 +00:00
MemMoveAnnotation.h Bug 1225722 - Less restrictive non-memmovable static analysis of std::tuple. r=nika 2022-02-01 23:12:30 +00:00
moz.build Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi 2021-09-15 05:10:51 +00:00
MozCheckAction.cpp
MozillaTidyModule.cpp
MustOverrideChecker.cpp
MustOverrideChecker.h
MustReturnFromCallerChecker.cpp
MustReturnFromCallerChecker.h
NaNExprChecker.cpp
NaNExprChecker.h
NeedsNoVTableTypeChecker.cpp
NeedsNoVTableTypeChecker.h
NoAddRefReleaseOnReturnChecker.cpp
NoAddRefReleaseOnReturnChecker.h
NoAutoTypeChecker.cpp
NoAutoTypeChecker.h
NoDuplicateRefCntMemberChecker.cpp
NoDuplicateRefCntMemberChecker.h
NoExplicitMoveConstructorChecker.cpp
NoExplicitMoveConstructorChecker.h
NoNewThreadsChecker.cpp
NoNewThreadsChecker.h
NonMemMovableMemberChecker.cpp
NonMemMovableMemberChecker.h
NonMemMovableTemplateArgChecker.cpp
NonMemMovableTemplateArgChecker.h
NonParamInsideFunctionDeclChecker.cpp Bug 1744604 - Part 4: Make the alignas lint behave more consistently across platforms, r=andi 2021-12-14 16:49:18 +00:00
NonParamInsideFunctionDeclChecker.h
NonTrivialTypeInFfiChecker.cpp
NonTrivialTypeInFfiChecker.h
NoPrincipalGetURI.cpp
NoPrincipalGetURI.h
NoUsingNamespaceMozillaJavaChecker.cpp
NoUsingNamespaceMozillaJavaChecker.h
OverrideBaseCallChecker.cpp
OverrideBaseCallChecker.h
OverrideBaseCallUsageChecker.cpp
OverrideBaseCallUsageChecker.h
ParamTraitsEnumChecker.cpp
ParamTraitsEnumChecker.h
plugin.h
RecurseGuard.h
RefCountedCopyConstructorChecker.cpp
RefCountedCopyConstructorChecker.h
RefCountedInsideLambdaChecker.cpp
RefCountedInsideLambdaChecker.h
ScopeChecker.cpp
ScopeChecker.h
SprintfLiteralChecker.cpp
SprintfLiteralChecker.h
StmtToBlockMap.h
TemporaryLifetimeBoundChecker.cpp
TemporaryLifetimeBoundChecker.h
ThirdPartyPaths.h
ThirdPartyPaths.py
ThreadAllows.py
ThreadAllows.txt 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
ThreadFileAllows.txt
TrivialCtorDtorChecker.cpp
TrivialCtorDtorChecker.h
TrivialDtorChecker.cpp
TrivialDtorChecker.h
Utils.h Bug 1654112 - Exempt code in webrtc namespace from implicit conversion operator checks. r=andi 2021-02-12 14:26:36 +00:00
VariableUsageHelpers.cpp
VariableUsageHelpers.h