Merge pull request #10678 from Dentomologist/skip_pagefault_test_if_no_exception_handler

UnitTests: Skip PageFaultTest if exception handlers aren't supported
This commit is contained in:
Pokechu22
2022-06-02 16:21:21 -07:00
committed by GitHub
3 changed files with 28 additions and 0 deletions

View File

@ -113,6 +113,11 @@ void UninstallExceptionHandler()
s_veh_handle = nullptr;
}
bool IsExceptionHandlerSupported()
{
return true;
}
#elif defined(__APPLE__) && !defined(USE_SIGACTION_ON_APPLE)
static void CheckKR(const char* name, kern_return_t kr)
@ -245,6 +250,11 @@ void UninstallExceptionHandler()
{
}
bool IsExceptionHandlerSupported()
{
return true;
}
#elif defined(_POSIX_VERSION) && !defined(_M_GENERIC)
static struct sigaction old_sa_segv;
@ -353,15 +363,27 @@ void UninstallExceptionHandler()
sigaction(SIGBUS, &old_sa_bus, nullptr);
#endif
}
bool IsExceptionHandlerSupported()
{
return true;
}
#else // _M_GENERIC or unsupported platform
void InstallExceptionHandler()
{
}
void UninstallExceptionHandler()
{
}
bool IsExceptionHandlerSupported()
{
return false;
}
#endif
} // namespace EMM

View File

@ -7,4 +7,5 @@ namespace EMM
{
void InstallExceptionHandler();
void UninstallExceptionHandler();
bool IsExceptionHandlerSupported();
} // namespace EMM