Files
OpenSTA/test/suppress_msg.tcl
Akash Levy fbb4b8c6e6 Add error/warning suppression with suppress_msg and unsuppress_msg commands (#157)
* Add error/warning suppression with `suppress_msg` and `unsuppress_msg` commands

* Fixes

* Merge docs

* Fixes

* Remove optional arg from class

* Add where to find message codes

* Update docs

* Requested fixes

* Deal with errors on the TCL side instead of C++ side

* Update ok file

* Add back in C++ side error suppression and have tests for both C++/TCL side suppression

* Requested fixes to ChangeLog and unifying suppression in C++/TCL

* Requested fixes

* Requested test adjustments

* Smallfixes

* Smallfixes

* Another smallfix
2025-01-17 11:20:19 -08:00

57 lines
1.4 KiB
Tcl

# suppress and unsuppress message ids
# Run sta_warn/sta_error to test TCL side suppression
proc sta_cmd { msg } {
sta::sta_warn 1 "cmd warn $msg"
sta::sta_error 2 "cmd error $msg"
puts "after error"
}
# Run report_warn/report_error to test C++ side suppression
proc report_cmd { msg } {
sta::report_warn 1 "cmd warn $msg"
sta::report_error 2 "cmd error $msg"
puts "after error"
}
# Ensure that TCL side messages are displayed as usual
catch { sta_cmd 1 } error
puts "caught $error"
# Ensure that C++ side messages are displayed as usual
catch { report_cmd 2 } error
puts "caught $error"
# Suppress messages
suppress_msg 1 2
# Ensure that TCL side messages are suppressed
catch { sta_cmd 3 } error
puts "caught $error"
# Ensure that C++ side messages are suppressed
catch { report_cmd 4 } error
puts "caught $error"
# Continue on error to avoid having to catch
set sta_continue_on_error 1
# Ensure that TCL side messages are suppressed
# TCL side will make it to "after error"
sta_cmd 5
# Ensure that C++ side messages are suppressed
# C++ will not make it to "after error" as the whole cmd is cancelled
report_cmd 6
# Unsuppress messages
unsuppress_msg 1 2
# Ensure that TCL side messages are displayed as usual
catch { sta_cmd 7 } error
puts "caught $error"
# Ensure that C++ side messages are displayed as usual
catch { report_cmd 8 } error
puts "caught $error"