Re: [igt-dev] [PATCH i-g-t 4/9] runner/runner_tests: Extract helper for inspecting test result

Arkadiusz Hiler
2020-02-12T13:59:10Z

On Wed, Feb 12, 2020 at 03:42:04PM +0200, Petri Latvala wrote:
> On Wed, Feb 12, 2020 at 03:37:37PM +0200, Petri Latvala wrote:
> > On Wed, Feb 12, 2020 at 03:21:18PM +0200, Arkadiusz Hiler wrote:
> > > to make this bit of code more readable and to reuse it in the following patch
> > >
> > > Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
> > > ---
> > > runner/runner_tests.c | 30 +++++++++++++++++-------------
> > > 1 file changed, 17 insertions(+), 13 deletions(-)
> > >
> > > diff --git a/runner/runner_tests.c b/runner/runner_tests.c
> > > index ed30b3f9..dd590f33 100644
> > > --- a/runner/runner_tests.c
> > > +++ b/runner/runner_tests.c
> > > @@ -32,6 +32,16 @@ static const char testdatadir[] = TESTDATA_DIRECTORY;
> > > /* The total number of test binaries in runner/testdata/ */
> > > #define NUM_TESTDATA_BINARIES 4
> > >
> > > +static const char *igt_get_result(struct json_object *tests, const char* testname)
> > > +{
> > > + struct json_object *obj;
> > > +
> > > + igt_assert(json_object_object_get_ex(tests, testname, &obj));
> > > + igt_assert(json_object_object_get_ex(obj, "result", &obj));
> > > +
> > > + return json_object_get_string(obj);
> > > +}
> > > +
> > > static void igt_assert_eqstr(const char *one, const char *two)
> > > {
> > > if (one == NULL && two == NULL)
> > > @@ -1432,7 +1442,7 @@ igt_main
> > >
> > > igt_subtest("dynamic-subtests-in-testlist") {
> > > struct execute_state state;
> > > - struct json_object *results, *obj;
> > > + struct json_object *results, *tests;
> > > const char *argv[] = { "runner",
> > > "--test-list", filename,
> > > testdatadir,
> > > @@ -1453,16 +1463,13 @@ igt_main
> > > igt_assert_f((results = generate_results_json(dirfd)) != NULL,
> > > "Results parsing failed\n");
> > >
> > > - obj = results;
> > > - igt_assert(json_object_object_get_ex(obj, "tests", &obj));
> > > + igt_assert(json_object_object_get_ex(results, "tests", &tests));
> > >
> > > /* Check that the dynamic subtest we didn't request is not reported */
> > > - igt_assert(!json_object_object_get_ex(obj, "igt@dynamic@dynamic-subtest@failing", NULL));
> > > + igt_assert_no_result_for(tests, "igt@dynamic@dynamic-subtest@failing");
> >
> >
> > Where is igt_assert_no_result_for defined? *blind*
>
> Found it hiding in the next patch.