[Intel-gfx] [PATCH v2 1/2] lib/igt_core: make single/simple tests use igt_exit

Daniel Vetter daniel at ffwll.ch
Mon Sep 29 17:36:17 CEST 2014


On Mon, Sep 29, 2014 at 03:18:10PM +0000, Gore, Tim wrote:
> 
> 
> > -----Original Message-----
> > From: Daniel Vetter [mailto:daniel.vetter at ffwll.ch] On Behalf Of Daniel
> > Vetter
> > Sent: Monday, September 29, 2014 3:58 PM
> > To: Gore, Tim
> > Cc: intel-gfx at lists.freedesktop.org
> > Subject: Re: [Intel-gfx] [PATCH v2 1/2] lib/igt_core: make single/simple tests
> > use igt_exit
> > 
> > On Mon, Sep 29, 2014 at 01:34:30PM +0100, tim.gore at intel.com wrote:
> > > From: Tim Gore <tim.gore at intel.com>
> > >
> > > Currently tests that use igt_simple_main will simply call "exit()" if
> > > they pass, making it difficult to ensure that any required cleanup is
> > > done. At present this is not an issue, but it will be when I submit a
> > > patch to turn off the lowmemorykiller for all tests.
> > >
> > > Signed-off-by: Tim Gore <tim.gore at intel.com>
> > 
> > Merged, with the api doc for igt_exit update. Please don't forget to adjust
> > documentation!
> > 
> > Thanks, Daniel
> 
> Fair comment about keeping docs up to date  but bit confused by the last sentence.
> You mention some some docs in a previous mail, in your personal area on freedesktop,
> are those the ones you mean. Do I have write access to those ! There's a docs directory
> in igt, but this just has an xml file that refers to others that I cannot find.
>  All hints gratefully received.

$ ./autogen.sh --enable-gtk-doc
$ make

... and you have them, too.

I just upload them for convience somewhere until someone gets less lazy
than me and makes an autobuilder+proper location for this.
-Daniel
>   Tim
> 
> > > ---
> > >  lib/igt_core.c         | 9 +++++----
> > >  lib/igt_core.h         | 2 +-
> > >  tests/igt_simulation.c | 2 +-
> > >  3 files changed, 7 insertions(+), 6 deletions(-)
> > >
> > > diff --git a/lib/igt_core.c b/lib/igt_core.c index 5d41468..9344815
> > > 100644
> > > --- a/lib/igt_core.c
> > > +++ b/lib/igt_core.c
> > > @@ -641,7 +641,7 @@ bool igt_only_list_subtests(void)  static bool
> > > skipped_one = false;  static bool succeeded_one = false;  static bool
> > > failed_one = false; -static int igt_exitcode;
> > > +static int igt_exitcode = IGT_EXIT_SUCCESS;
> > >
> > >  static void exit_subtest(const char *) __attribute__((noreturn));
> > > static void exit_subtest(const char *result) @@ -692,7 +692,8 @@ void
> > > igt_skip(const char *f, ...)
> > >  		assert(in_fixture);
> > >  		__igt_fixture_end();
> > >  	} else {
> > > -		exit(IGT_EXIT_SKIP);
> > > +		igt_exitcode = IGT_EXIT_SKIP;
> > > +		igt_exit();
> > >  	}
> > >  }
> > >
> > > @@ -786,7 +787,7 @@ void igt_fail(int exitcode)
> > >  			__igt_fixture_end();
> > >  		}
> > >
> > > -		exit(exitcode);
> > > +		igt_exit();
> > >  	}
> > >  }
> > >
> > > @@ -857,7 +858,7 @@ void igt_exit(void)
> > >  		exit(IGT_EXIT_SUCCESS);
> > >
> > >  	if (!test_with_subtests)
> > > -		exit(IGT_EXIT_SUCCESS);
> > > +		exit(igt_exitcode);
> > >
> > >  	/* Calling this without calling one of the above is a failure */
> > >  	assert(skipped_one || succeeded_one || failed_one); diff --git
> > > a/lib/igt_core.h b/lib/igt_core.h index d74cbf9..974a2fb 100644
> > > --- a/lib/igt_core.h
> > > +++ b/lib/igt_core.h
> > > @@ -188,7 +188,7 @@ void igt_simple_init_parse_opts(int argc, char
> > **argv,
> > >  	int main(int argc, char **argv) { \
> > >  		igt_simple_init(argc, argv); \
> > >  		igt_tokencat(__real_main, __LINE__)(); \
> > > -		exit(0); \
> > > +		igt_exit(); \
> > >  	} \
> > >  	static void igt_tokencat(__real_main, __LINE__)(void) \
> > >
> > > diff --git a/tests/igt_simulation.c b/tests/igt_simulation.c index
> > > 13b2da9..e588959 100644
> > > --- a/tests/igt_simulation.c
> > > +++ b/tests/igt_simulation.c
> > > @@ -65,7 +65,7 @@ static int do_fork(void)
> > >
> > >  			igt_skip_on_simulation();
> > >
> > > -			exit(0);
> > > +			igt_exit();
> > >  		} else {
> > >  			if (list_subtests)
> > >  				igt_subtest_init(2, argv_list);
> > > --
> > > 2.1.1
> > >
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > 
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > +41 (0) 79 365 57 48 - http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list