> > I will share ones we are using in case you find some of them interesting: > > > > > ASAN_OPTIONS=abort_on_error=true:color=never:halt_on_error=true:print_summary=true:strict_string_check > s=true:check_initialization_order=true:detect_stack_use_after_return=true:heap_profile=false:print_sca > riness=true:strict_init_order=true:verify_asan_link_order=false > > > LSAN_OPTIONS=abort_on_error=true:color=never:halt_on_error=true:print_summary=true:strict_string_check > s=true > > > UBSAN_OPTIONS=abort_on_error=true:color=never:halt_on_error=true:print_summary=true:strict_string_chec > ks=true:print_stacktrace=true:report_error_type=true > > > > (Admittedly some of them might be unnecessary or nonsensical, they depend on > > compiler and it's not easy to find documentation.) > > Did those options help with understanding failures in unit tests?
print_stacktrace is probably the most important for understanding failures. Some of the rest detect additional problems, others are mostly nice-to-have cosmetics (e.g. disabling ANSI sequences). heap_profile was found to be useful for debugging but not for everyday tests since it may cause process to hang on exit (may depend on other options). verify_asan_link_order=false is generally not needed, it disables a self-check. report_error_type is very useful for adding suppressions. > I see "abort" or "halt" options in this list, does it stop execution > of all the tests? No, they only affects dpdk-test process, and meson runs each test in a separate process here, so continues running other tests. Both of them get set by my version of meson itself BTW. If set to false sanitizer complains to terminal but the test may actually pass (depending on specific problem).

