#if ENABLE_UNIT_TESTS
|
|
#include "UnitTest++.h"
|
|
#include "../../Process.h"
|
#include "../Process-c-api.h"
|
|
|
SUITE(Process)
|
{
|
TEST(GetProcessID)
|
{
|
CHECK(UnityPalGetCurrentProcessId() > 0);
|
}
|
|
TEST(GetProcessIDMatchesClass)
|
{
|
CHECK_EQUAL(il2cpp::os::Process::GetCurrentProcessId(), UnityPalGetCurrentProcessId());
|
}
|
|
TEST(GetProcessHandleValid)
|
{
|
UnityPalProcessHandle* handle = NULL;
|
handle = UnityPalGetProcess(UnityPalGetCurrentProcessId());
|
|
CHECK_NOT_NULL(handle);
|
}
|
|
// GetProcessName is only supported on macOS for Posix targets
|
#if IL2CPP_TARGET_POSIX && !IL2CPP_TARGET_DARWIN
|
TEST(GetProcessHandleMatchesClass)
|
{
|
int processId = il2cpp::os::Process::GetCurrentProcessId();
|
UnityPalProcessHandle* api_handle = UnityPalGetProcess(processId);
|
il2cpp::os::ProcessHandle* class_handle = il2cpp::os::Process::GetProcess(processId);
|
|
std::string api_name = il2cpp::os::Process::GetProcessName(api_handle);
|
std::string class_name = il2cpp::os::Process::GetProcessName(class_handle);
|
|
CHECK_EQUAL(class_name, api_name);
|
}
|
|
TEST(GetProcessNameNotNull)
|
{
|
int processId = il2cpp::os::Process::GetCurrentProcessId();
|
UnityPalProcessHandle* processHandle = UnityPalGetProcess(processId);
|
|
const char* processName = UnityPalGetProcessName(processHandle);
|
|
CHECK_NOT_NULL(processName);
|
}
|
|
TEST(GetProcessNameValid)
|
{
|
int processId = il2cpp::os::Process::GetCurrentProcessId();
|
UnityPalProcessHandle* processHandle = UnityPalGetProcess(processId);
|
|
const char* processName = UnityPalGetProcessName(processHandle);
|
|
CHECK(strlen(processName) > 0);
|
}
|
|
TEST(GetProcessNameMatchesClass)
|
{
|
int processId = il2cpp::os::Process::GetCurrentProcessId();
|
UnityPalProcessHandle* api_handle = UnityPalGetProcess(processId);
|
il2cpp::os::ProcessHandle* class_handle = il2cpp::os::Process::GetProcess(processId);
|
|
const char* api_name = UnityPalGetProcessName(api_handle);
|
std::string class_name = il2cpp::os::Process::GetProcessName(class_handle);
|
|
CHECK_EQUAL(class_name.c_str(), api_name);
|
}
|
|
TEST(GetProcessNameWithInvalidId)
|
{
|
const char* processName = NULL;
|
|
// First check the staticness, grab a real string
|
processName = UnityPalGetProcessName(UnityPalGetProcess(UnityPalGetCurrentProcessId()));
|
|
// Now test that it goes blank
|
processName = UnityPalGetProcessName(UnityPalGetProcess(-9999999));
|
|
CHECK_EQUAL("", processName);
|
}
|
#endif
|
}
|
|
#endif // ENABLE_UNIT_TESTS
|