From: <ch...@su...> - 2013-10-23 13:07:03
|
Hi! > 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, it goes to TFAIL as it was. > > Signed-off-by: Honggyu Kim <hon...@lg...> > --- > .../kernel/syscalls/getcontext/getcontext01.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/testcases/kernel/syscalls/getcontext/getcontext01.c > b/testcases/kernel/syscalls/getcontext/getcontext01.c > index 03b2df9..860d208 100644 > --- a/testcases/kernel/syscalls/getcontext/getcontext01.c > +++ b/testcases/kernel/syscalls/getcontext/getcontext01.c > @@ -73,8 +73,12 @@ int main(int ac, char **av) > > TEST(getcontext(&ptr)); > > - if (TEST_RETURN == -1) > - tst_resm(TFAIL | TTERRNO, "getcontext failed"); > + if (TEST_RETURN == -1) { > + if (errno == ENOSYS) > + tst_resm(TCONF, "getcontext is not > implemented in the current libc"); > + else > + tst_resm(TFAIL | TTERRNO, "getcontext > failed"); > + } > else if (TEST_RETURN >= 0) > tst_resm(TPASS, "getcontext passed"); > Can you please fix the over 80 chars lines? In this case I would moved the inner part of the loop (from TEST(getcontext(&ptr)) to a function called test() and shortened the TCONF message to simple "getcontext is not implemented". -- Cyril Hrubis ch...@su... |