12#include "kstd_cstring"
74 "Global uint64 init");
86 unsigned int expected_v1 = 1 | 0x200 | 0x100000;
88 "Global constructor execution 1");
90 unsigned int expected_v2 = 2 | 0x200 | 0x100000;
92 "Global constructor execution 2");
98 EXPECT_EQ(inst_class.val,
'B',
"Class constructor body");
100 EXPECT_EQ(inst_class.val,
'C',
"Virtual function dispatch");
103 "Stack object destructor verification");
108 "Static local object constructor/persistence");
109 inst_class_static.
Func();
110 EXPECT_EQ(inst_class_static.
val,
'C',
"Static local object virtual func");
112 klog::Info(
"PASS: All C++ Runtime Tests passed.");
TestStaticConstructDestruct(unsigned int &v)
~TestStaticConstructDestruct()
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 TestStaticConstructDestruct< 0x100000 > constructor_destructor_3
static uint32_t global_u32_value_with_init
static uint8_t global_u8c_value_with_init
static uint8_t global_u8a_value_with_init
static TestStaticConstructDestruct< 0x100000 > constructor_destructor_4
static volatile bool global_bool_keep_running
static TestStaticConstructDestruct< 0x200 > constructor_destructor_1(global_value1_with_constructor)
static TestStaticConstructDestruct< 0x200 > constructor_destructor_2(global_value2_with_constructor)
auto ctor_dtor_test() -> bool
auto Info(etl::format_string< Args... > fmt, Args &&... args) -> void
以 INFO 级别记录日志
#define EXPECT_TRUE(cond, msg)
#define EXPECT_EQ(val1, val2, msg)