Re: [PATCH 1/1] perf tests record: Fail the test if the errs counter is not zero

From: Ian Rogers
Date: Wed Sep 28 2022 - 12:41:45 EST


On Wed, Sep 28, 2022 at 9:22 AM Arnaldo Carvalho de Melo
<acme@xxxxxxxxxx> wrote:
>
> We were just checking for the 'err' variable, when we should really see
> if there was some of the many checked errors that don't stop the test
> right away.
>
> Detected with clang 15.0.0:
>
> 44 75.23 fedora:37 : FAIL clang version 15.0.0 (Fedora 15.0.0-2.fc37)
>
> tests/perf-record.c:68:16: error: variable 'errs' set but not used [-Werror,-Wunused-but-set-variable]
> int err = -1, errs = 0, i, wakeups = 0;
> ^
> 1 error generated.
>
> The patch introducing this 'perf test' entry had that check:
>
> + return (err < 0 || errs > 0) ? -1 : 0;
>
> But at some point we lost that:
>
> - return (err < 0 || errs > 0) ? -1 : 0;
> + if (err == -EACCES)
> + return TEST_SKIP;
> + if (err < 0)
> + return TEST_FAIL;
> + return TEST_OK
>
> Put it back.
>
> Fixes: 2cf88f4614c996e5 ("perf test: Use skip in PERF_RECORD_*")
> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> Cc: Ian Rogers <irogers@xxxxxxxxxx>
> Cc: Jiri Olsa <jolsa@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>

Apologies for that.

Acked-by: Ian Rogers <irogers@xxxxxxxxxx>

Thanks,
Ian

> ---
> tools/perf/tests/perf-record.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c
> index 6a001fcfed68e517..4952abe716f318b0 100644
> --- a/tools/perf/tests/perf-record.c
> +++ b/tools/perf/tests/perf-record.c
> @@ -332,7 +332,7 @@ static int test__PERF_RECORD(struct test_suite *test __maybe_unused, int subtest
> out:
> if (err == -EACCES)
> return TEST_SKIP;
> - if (err < 0)
> + if (err < 0 || errs != 0)
> return TEST_FAIL;
> return TEST_OK;
> }
> --
> 2.37.3
>
>
> ----- End forwarded message -----
>
> --
>
> - Arnaldo