63 {
64#ifdef __aarch64__
65 cpu_io::SetupFpu();
66#endif
67
69
70
74 "Global uint64 init");
80
81
82
83
84
85
86 unsigned int expected_v1 = 1 | 0x200 | 0x100000;
88 "Global constructor execution 1");
89
90 unsigned int expected_v2 = 2 | 0x200 | 0x100000;
92 "Global constructor execution 2");
93
94
96 {
98 EXPECT_EQ(inst_class.val,
'B',
"Class constructor body");
99 inst_class.Func();
100 EXPECT_EQ(inst_class.val,
'C',
"Virtual function dispatch");
101 }
103 "Stack object destructor verification");
104
105
108 "Static local object constructor/persistence");
109 inst_class_static.
Func();
110 EXPECT_EQ(inst_class_static.
val,
'C',
"Static local object virtual func");
111
112 klog::Info(
"PASS: All C++ Runtime Tests passed.");
113
114 return true;
115}
static uint8_t global_u8d_value_with_init
static uint16_t global_u16_value_with_init
static unsigned int global_value2_with_constructor
static unsigned int global_value1_with_constructor
static uint64_t global_u64_value_with_init
static int global_value_with_init
static uint8_t global_u8b_value_with_init
static uint32_t global_u32_value_with_init
static uint8_t global_u8c_value_with_init
static uint8_t global_u8a_value_with_init
auto Info(etl::format_string< Args... > fmt, Args &&... args) -> void
以 INFO 级别记录日志
#define EXPECT_TRUE(cond, msg)
#define EXPECT_EQ(val1, val2, msg)