[LTP] [PATCH] Rename TEST_ERRNO and TEST_RETURN for new test lib
Jan Stancek
jstancek@redhat.com
Mon Jul 16 17:07:29 CEST 2018
----- Original Message -----
> This is just a proposal! to renaming the mentioned variables as requested in
> https://github.com/linux-test-project/ltp/issues/336.
>
> Renaming has been done with these commands:
> egrep -RlZ 'include "tst_test.h"' --include=*.c --include=*.h | xargs -0 -l
> sed
> -i -e '/[\W\s]*TEST_ERRNO[\W\s]*/s/TEST_ERRNO/TST_ERR/g'
>
> egrep -RlZ 'include "tst_test.h"' --include=*.c --include=*.h | xargs -0 -l
> sed
> -i -e '/[\W\s]*TEST_RETURN[\W\s]*/s/TEST_RETURN/TST_RET/g'
>
> They basically express to exchange all occurrences of TEST_RETURN with
> TST_RET
Hi,
I added question to github issue, whether TEST() macro should be renamed.
> (as an example), in all files with .c or .h as suffix that include
> tst_test.h,
> when the processed line contains TEST_RETURN without pre- or suffixes that
> match
> word characters (Aa-Zz) including _, but non-word characters(+, [, ...)
> including whitespace.
>
> I have added a temporary preprocessor directive to include/tst_test.h that
> renames both variables again to their old names because otherwise they are
> con-
> flicting with the old variables and have cleaned some non-tab signs that gave
> style errors in few lines.
I lost you here - I don't see conflict between new and old variables.
>
> Signed-off-by: Christian Lanig <clanig@suse.com>
> ---
>
> diff --git a/include/tst_test.h b/include/tst_test.h
> index 7caf2e174..56f0e3f54 100644
> --- a/include/tst_test.h
> +++ b/include/tst_test.h
> @@ -195,6 +195,13 @@ void tst_reinit(void);
> extern long TEST_RETURN;
> extern int TEST_ERRNO;
So what if we changed this to new variables (TST_RET and TST_ERR),
add definitions to lib/tst_test.c
>
> +/*
> + * This is a temporary workaround. Remove this and rename the variables in
> the
> + * definition above after everything has been migrated to the new test
> library.
> + */
> +#define TST_RET TEST_RETURN
> +#define TST_ERR TEST_ERRNO
> +
then this can go away and because TEST_RETURN and TEST_ERRNO
will be undefined in newlib tests, you'll get compilation
errors for all instances you missed:
futex_wait05
pselect01
open08
mq_timedsend01
clock_nanosleep02
poll02
madvise10
epoll_wait02
memfd_create02
mq_timedreceive01
testcases/kernel/mem/lib/mem.c
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget02.c
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget03.c
testcases/kernel/mem/hugetlb/hugeshmget/hugeshmget05.c
testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl02.c
testcases/kernel/mem/hugetlb/hugeshmctl/hugeshmctl03.c
testcases/kernel/mem/hugetlb/hugemmap/hugemmap06.c
> extern void *TST_RET_PTR;
>
> #define TESTPTR(SCALL) \
TESTPTR needs changing as well, to use TST_ERR.
Regards,
Jan
More information about the ltp
mailing list