@@ -308,7 +308,7 @@ static void check_guests_ram(QTestState *who)
uint8_t first_byte;
uint8_t last_byte;
bool hit_edge = false;
- bool bad = false;
+ int bad = 0;
qtest_memread(who, start_address, &first_byte, 1);
last_byte = first_byte;
@@ -327,15 +327,20 @@ static void check_guests_ram(QTestState *who)
hit_edge = true;
last_byte = b;
} else {
- fprintf(stderr, "Memory content inconsistency at %x"
- " first_byte = %x last_byte = %x current = %x"
- " hit_edge = %x\n",
- address, first_byte, last_byte, b, hit_edge);
- bad = true;
+ bad++;
+ if (bad <= 10) {
+ fprintf(stderr, "Memory content inconsistency at %x"
+ " first_byte = %x last_byte = %x current = %x"
+ " hit_edge = %x\n",
+ address, first_byte, last_byte, b, hit_edge);
+ }
}
}
}
- g_assert_false(bad);
+ if (bad >= 10) {
+ fprintf(stderr, "and in another %d pages", bad - 10);
+ }
+ g_assert(bad == 0);
}
static void cleanup(const char *filename)