On Mon, 2023-03-27 at 11:52 -0700, Andrii Nakryiko wrote: > Add -d option to allow requesting libbpf debug logs from veristat. > > Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > --- > tools/testing/selftests/bpf/veristat.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/veristat.c b/tools/testing/selftests/bpf/veristat.c > index 83231456d3c5..263df32fbda8 100644 > --- a/tools/testing/selftests/bpf/veristat.c > +++ b/tools/testing/selftests/bpf/veristat.c > @@ -135,6 +135,7 @@ static struct env { > char **filenames; > int filename_cnt; > bool verbose; > + bool debug; > bool quiet; > int log_level; Nitpick: it is now three booleans that control verbosity level, would it be better to use numerical level instead? > enum resfmt out_fmt; > @@ -169,7 +170,7 @@ static int libbpf_print_fn(enum libbpf_print_level level, const char *format, va > { > if (!env.verbose) > return 0; > - if (level == LIBBPF_DEBUG /* && !env.verbose */) > + if (level == LIBBPF_DEBUG && !env.debug) > return 0; > return vfprintf(stderr, format, args); > } > @@ -186,6 +187,7 @@ static const struct argp_option opts[] = { > { NULL, 'h', NULL, OPTION_HIDDEN, "Show the full help" }, > { "verbose", 'v', NULL, 0, "Verbose mode" }, > { "log-level", 'l', "LEVEL", 0, "Verifier log level (default 0 for normal mode, 1 for verbose mode)" }, > + { "debug", 'd', NULL, 0, "Debug mode (turns on libbpf debug logging)" }, > { "quiet", 'q', NULL, 0, "Quiet mode" }, > { "emit", 'e', "SPEC", 0, "Specify stats to be emitted" }, > { "sort", 's', "SPEC", 0, "Specify sort order" }, > @@ -212,6 +214,10 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state) > case 'v': > env.verbose = true; > break; > + case 'd': > + env.debug = true; > + env.verbose = true; > + break; > case 'q': > env.quiet = true; > break;