> compile NEMU
ysyx_22040000 李心杨 Linux calcite 6.1.71 #1-NixOS SMP PREEMPT_DYNAMIC Fri Jan 5 14:18:41 UTC 2024 x86_64 GNU/Linux 17:09:34 up 2 days 6:04, 2 users, load average: 1.21, 0.99, 0.84
This commit is contained in:
parent
f8b8ae50b7
commit
1cd32d4968
1 changed files with 16 additions and 0 deletions
|
@ -147,6 +147,8 @@ struct {
|
||||||
{"-0x1", 0xFFFFFFFFU},
|
{"-0x1", 0xFFFFFFFFU},
|
||||||
{"0--1", 0x1},
|
{"0--1", 0x1},
|
||||||
{"0--0x1", 0x1},
|
{"0--0x1", 0x1},
|
||||||
|
}, reg_exprs[] = {
|
||||||
|
{"$$0", 0x0},
|
||||||
};
|
};
|
||||||
START_TEST(test_expr_negative_operand) {
|
START_TEST(test_expr_negative_operand) {
|
||||||
yy_scan_string(exprs[_i].expr);
|
yy_scan_string(exprs[_i].expr);
|
||||||
|
@ -160,6 +162,18 @@ START_TEST(test_expr_negative_operand) {
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(test_expr_register) {
|
||||||
|
yy_scan_string(reg_exprs[_i].expr);
|
||||||
|
uint32_t value;
|
||||||
|
ck_assert(!yyparse(&value));
|
||||||
|
yylex_destroy();
|
||||||
|
|
||||||
|
ck_assert_msg(value == reg_exprs[_i].reference,
|
||||||
|
"\n\texpr = %s\n\t(addr = %u) != (reference = %u)\n", reg_exprs[_i].expr,
|
||||||
|
value, reg_exprs[_i].reference);
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
Suite *expr_suite(void) {
|
Suite *expr_suite(void) {
|
||||||
Suite *s;
|
Suite *s;
|
||||||
TCase *tc_core;
|
TCase *tc_core;
|
||||||
|
@ -170,6 +184,8 @@ Suite *expr_suite(void) {
|
||||||
tcase_add_loop_test(tc_core, test_expr_random_100, 0, 20);
|
tcase_add_loop_test(tc_core, test_expr_random_100, 0, 20);
|
||||||
tcase_add_loop_test(tc_core, test_expr_negative_operand, 0,
|
tcase_add_loop_test(tc_core, test_expr_negative_operand, 0,
|
||||||
sizeof(exprs) / sizeof(exprs[0]));
|
sizeof(exprs) / sizeof(exprs[0]));
|
||||||
|
tcase_add_loop_test(tc_core, test_expr_register, 0,
|
||||||
|
sizeof(reg_exprs) / sizeof(reg_exprs[0]));
|
||||||
suite_add_tcase(s, tc_core);
|
suite_add_tcase(s, tc_core);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|
Loading…
Reference in a new issue