From 4bd3dd980345a38f9c6435ed38f8954125af208b Mon Sep 17 00:00:00 2001 From: tracer-ysyx Date: Sat, 13 Jan 2024 09:42:29 +0800 Subject: [PATCH] =?UTF-8?q?>=20compile=20NEMU=20ysyx=5F22040000=20?= =?UTF-8?q?=E6=9D=8E=E5=BF=83=E6=9D=A8=20Linux=20calcite=206.1.69=20#1-Nix?= =?UTF-8?q?OS=20SMP=20PREEMPT=5FDYNAMIC=20Wed=20Dec=2020=2016:00:29=20UTC?= =?UTF-8?q?=202023=20x86=5F64=20GNU/Linux=20=2009:42:29=20=20up=201=20day?= =?UTF-8?q?=20=209:58,=20=202=20users,=20=20load=20average:=200.55,=200.39?= =?UTF-8?q?,=200.38?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nemu/tests/expr_test.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/nemu/tests/expr_test.c b/nemu/tests/expr_test.c index eb46db1..611fdbd 100644 --- a/nemu/tests/expr_test.c +++ b/nemu/tests/expr_test.c @@ -70,10 +70,6 @@ void gen_rand_expr(void) { START_TEST(test_expr_random_100) { srand(time(0) + _i * 100); gen_rand_expr(); -// yy_scan_string(buf + buf_start_pos); -// uint32_t addr; -// ck_assert(!yyparse(&addr)); -// yylex_destroy(); sprintf(code_buf, code_format, ref_buf); @@ -82,7 +78,7 @@ START_TEST(test_expr_random_100) { fputs(code_buf, fp); fclose(fp); - int ret = system("gcc /tmp/.code.c -o /tmp/.expr"); + int ret = system("gcc /tmp/.code.c -Werror=div-by-zero -o /tmp/.expr"); ck_assert_msg(!ret, "system ret: %d, error: %s", ret, strerror(ret)); fp = popen("/tmp/.expr", "r"); @@ -92,9 +88,14 @@ START_TEST(test_expr_random_100) { ret = fscanf(fp, "%u", &reference); ck_assert(ret == 1); pclose(fp); - // fprintf(stderr, "\n\tbuf = %s\n\taddr = %u, reference = %u", buf, addr, reference); + fprintf(stderr, "\n\tbuf = %s\n\taddr = %u, reference = %u", buf, addr, reference); -// ck_assert_msg(addr == reference, "\n\tbuf = %s\n\taddr = %u, reference = %u\n", buf, addr, reference); + yy_scan_string(buf + buf_start_pos); + uint32_t addr; + ck_assert(!yyparse(&addr)); + yylex_destroy(); + + ck_assert_msg(addr == reference, "\n\tbuf = %s\n\taddr = %u, reference = %u\n", buf, addr, reference); while(buf_ptr != buf + buf_start_pos) { *(--buf_ptr) = '\0';