3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-23 09:05:32 +00:00

logger: Add -check-expected subcommand.

This allows us to have multiple "expect this warning" calls in a single
long script, covering only as many passes as necessary.
This commit is contained in:
Marcelina Kościelnicka 2021-08-12 17:36:03 +02:00
parent bfcd08a323
commit c58ac63c97
2 changed files with 14 additions and 5 deletions

View file

@ -71,7 +71,6 @@ int string_buf_index = -1;
static struct timeval initial_tv = { 0, 0 };
static bool next_print_log = false;
static int log_newline_count = 0;
static bool check_expected_logs = true;
static bool display_error_log_msg = true;
static void log_id_cache_clear()
@ -349,8 +348,7 @@ static void logv_error_with_prefix(const char *prefix,
if (YS_REGEX_NS::regex_search(log_last_error, item.second.pattern))
item.second.current_count++;
if (check_expected_logs)
log_check_expected();
log_check_expected();
if (log_error_atexit)
log_error_atexit();
@ -667,8 +665,6 @@ void log_wire(RTLIL::Wire *wire, std::string indent)
void log_check_expected()
{
check_expected_logs = false;
for (auto &item : log_expect_warning) {
if (item.second.current_count == 0) {
log_warn_regexes.clear();
@ -709,6 +705,10 @@ void log_check_expected()
log_warn_regexes.clear();
log_error("Expected error pattern '%s' not found !\n", item.first.c_str());
}
log_expect_warning.clear();
log_expect_log.clear();
log_expect_error.clear();
}
// ---------------------------------------------------