getcontext01: check getcontext function in libc
PATCH v4 1/1 getcontext01: check getcontext function in libc
getcontext function is implemented depends on libc version and arch. Some libc version for specific arch does not implement getcontext yet. In that case, getcontext just sets errno to ENOSYS and returns -1. For example, getcontext is not implemented before libc-2.17 in ARM. Current test goes to TFAIL when lower version of libc is used in ARM.
This patch sets the test as TCONF if libc does not implement getcontext. If ENOSYS is not set and -1 is returned, it goes to TFAIL as it was.
--- .../kernel/syscalls/getcontext/getcontext01.c | 24 +++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-)
testcases/kernel/syscalls/getcontext/getcontext01.c +16 -8
@@ -54,12 +54,26 @@ int TST_TOTAL = 1;int exp_enos[] = {0 };/* must be a 0 terminated list */ +static void test_getcontext (void ) +{ +ucontext_t ptr; + +TEST (getcontext (&ptr)); + +if (TEST_RETURN ==-1 ) { +if (errno ==ENOSYS ) +tst_resm (TCONF ,"getcontext is not implemented in libc" ); +else +tst_resm (TFAIL |TTERRNO ,"getcontext failed" ); + }else if (TEST_RETURN >=0 ) +tst_resm (TPASS ,"getcontext passed" ); +} +int main (int ac,char **av) {int lc;char *msg; -ucontext_t ptr;if ((msg =parse_opts (ac, av,NULL ,NULL )) !=NULL )tst_brkm (TBROK ,NULL ,"OPTION PARSING ERROR - %s" , msg);
@@ -71,13 +85,7 @@ int main(int ac, char **av) tst_count =0 ; -TEST (getcontext (&ptr)); - -if (TEST_RETURN ==-1 ) -tst_resm (TFAIL |TTERRNO ,"getcontext failed" ); -else if (TEST_RETURN >=0 ) -tst_resm (TPASS ,"getcontext passed" ); - +test_getcontext (); }cleanup ();
Signature · 14 lines
1.7.9.5 ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
Hi!
Quoted 9 lines
getcontext function is implemented depends on libc version and arch. Some libc version for specific arch does not implement getcontext yet. In that case, getcontext just sets errno to ENOSYS and returns -1. For example, getcontext is not implemented before libc-2.17 in ARM. Current test goes to TFAIL when lower version of libc is used in ARM.
This patch sets the test as TCONF if libc does not implement getcontext. If ENOSYS is not set and -1 is returned, it goes to TFAIL as it was.
I've pushed this patch, with unwrapped line and minus the Change-Id in the commit message. And added my patch that cleans up the source a bit on the top of it. Thanks.
Signature · 13 lines
Cyril Hrubis [email protected] ------------------------------------------------------------------------------ October Webinars: Code for Performance Free Intel webinars can help you accelerate application performance. Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from the latest Intel processors and coprocessors. See abstracts and register > http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list