Re: [igt-dev] [PATCH i-g-t] runner/job_list: print error when job list is empty

Petri Latvala
2019-03-25T13:59:31Z

On Mon, Mar 25, 2019 at 03:51:50PM +0200, Ser, Simon wrote:
> On Mon, 2019-03-25 at 13:19 +0200, Petri Latvala wrote:
> > On Thu, Mar 21, 2019 at 02:44:49PM +0200, Simon Ser wrote:
> > > Using a filter that doesn't match any test name resulted in the
> > > runner
> > > silently failing. Print an error message so that the user
> > > understands
> > > why the runner fails.
> > >
> > > Signed-off-by: Simon Ser <simon.ser@intel.com>
> > > ---
> > > runner/job_list.c | 7 ++++++-
> > > 1 file changed, 6 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/runner/job_list.c b/runner/job_list.c
> > > index 97bbb0be..f5c16af3 100644
> > > --- a/runner/job_list.c
> > > +++ b/runner/job_list.c
> > > @@ -133,6 +133,7 @@ static bool filtered_job_list(struct job_list
> > > *job_list,
> > > {
> > > FILE *f;
> > > char buf[128];
> > > + bool ok;
> > >
> > > if (job_list->entries != NULL) {
> > > fprintf(stderr, "Caller didn't clear the job list, this
> > > shouldn't happen\n");
> > > @@ -179,7 +180,11 @@ static bool filtered_job_list(struct job_list
> > > *job_list,
> > > &settings->exclude_regexes);
> > > }
> > >
> > > - return job_list->size != 0;
> > > + ok = job_list->size != 0;
> > > + if (!ok) {
> > > + fprintf(stderr, "Filter didn't match any job name\n");
> > > + }
> > > + return ok;
> > > }
> > >
> >
> > A unit test for this would be lovely (runner/runner_tests.c).
>
> Do you mean adding a test that checks that an error message is printed?
> Or do you mean adding a test that checks that filtered_job_list fails
> when no test is matched?

Oh wait I misunderstood the patch completely! I thought you changed it
to fail when nothing matched! Disregard that comment.

An actual comment: We use the kernel coding style, so one-liner if
blocks should omit the braces. (Probably still a ton of violations of
this in runner/*...)

With that,

Reviewed-by: Petri Latvala <petri.latvala@intel.com>