少年修仙传客户端基础资源
hch
2024-04-11 4c71d74b77c9eb62a0323698c9a0db3b641a917e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#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