* [PATCH] posix: tst-glob_lstat_compat no longer needs to be an internal test
@ 2021-03-05 12:56 Florian Weimer
2021-03-05 13:07 ` Adhemerval Zanella
0 siblings, 1 reply; 2+ messages in thread
From: Florian Weimer @ 2021-03-05 12:56 UTC (permalink / raw)
To: libc-alpha
compat_symbol_reference is now available for regular tests as well.
Also avoid building and running the tests in case the pre-2.27
symbol version of glob is not available. This avoids a spurious
UNSUPPORTED result.
---
posix/Makefile | 8 +++++++-
posix/tst-glob_lstat_compat.c | 19 ++++---------------
2 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/posix/Makefile b/posix/Makefile
index 239fbb340a..2ee5bb6e1d 100644
--- a/posix/Makefile
+++ b/posix/Makefile
@@ -104,9 +104,15 @@ tests := test-errno tstgetopt testfnm runtests runptests \
tst-glob-tilde test-ssize-max tst-spawn4 bug-regex37 \
bug-regex38 tst-regcomp-truncated tst-spawn-chdir \
tst-wordexp-nocmd
+
+# Test for the glob symbol version that was replaced in glibc 2.27.
+ifeq ($(have-GLIBC_2.26)$(build-shared),yesyes)
+tests += tst-glob_lstat_compat
+endif
+
tests-internal := bug-regex5 bug-regex20 bug-regex33 \
tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 \
- tst-glob_lstat_compat tst-spawn4-compat
+ tst-spawn4-compat
tests-container := bug-ga2
xtests := tst-getaddrinfo4 tst-getaddrinfo5 tst-sched_rr_get_interval
ifeq (yes,$(build-shared))
diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
index ef6f1b8c27..97ee51101b 100644
--- a/posix/tst-glob_lstat_compat.c
+++ b/posix/tst-glob_lstat_compat.c
@@ -25,24 +25,22 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
-
+#include <stdbool.h>
#include <stdio.h>
#include <shlib-compat.h>
#include <support/check.h>
#include <support/temp_file.h>
-#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27)
-
__typeof (glob) glob;
/* On alpha glob exists in version GLIBC_2_0, GLIBC_2_1, and GLIBC_2_27.
This test needs to access the version prior to GLIBC_2_27, which is
GLIBC_2_1 on alpha, GLIBC_2_0 elsewhere. */
-# ifdef __alpha__
+#ifdef __alpha__
compat_symbol_reference (libc, glob, glob, GLIBC_2_1);
-# else
+#else
compat_symbol_reference (libc, glob, glob, GLIBC_2_0);
-# endif
+#endif
/* Compat glob should not call gl_lstat since for some old binaries it
might be unitialized (for instance GNUmake). Check if it is indeed
@@ -256,13 +254,4 @@ do_test (void)
return 0;
}
-#else /* TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27) */
-
-static int
-do_test (void)
-{
- return 77;
-}
-#endif
-
#include <support/test-driver.c>
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] posix: tst-glob_lstat_compat no longer needs to be an internal test
2021-03-05 12:56 [PATCH] posix: tst-glob_lstat_compat no longer needs to be an internal test Florian Weimer
@ 2021-03-05 13:07 ` Adhemerval Zanella
0 siblings, 0 replies; 2+ messages in thread
From: Adhemerval Zanella @ 2021-03-05 13:07 UTC (permalink / raw)
To: libc-alpha
On 05/03/2021 09:56, Florian Weimer via Libc-alpha wrote:
> compat_symbol_reference is now available for regular tests as well.
> Also avoid building and running the tests in case the pre-2.27
> symbol version of glob is not available. This avoids a spurious
> UNSUPPORTED result.
LGTM, thanks.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
>
> ---
> posix/Makefile | 8 +++++++-
> posix/tst-glob_lstat_compat.c | 19 ++++---------------
> 2 files changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/posix/Makefile b/posix/Makefile
> index 239fbb340a..2ee5bb6e1d 100644
> --- a/posix/Makefile
> +++ b/posix/Makefile
> @@ -104,9 +104,15 @@ tests := test-errno tstgetopt testfnm runtests runptests \
> tst-glob-tilde test-ssize-max tst-spawn4 bug-regex37 \
> bug-regex38 tst-regcomp-truncated tst-spawn-chdir \
> tst-wordexp-nocmd
> +
> +# Test for the glob symbol version that was replaced in glibc 2.27.
> +ifeq ($(have-GLIBC_2.26)$(build-shared),yesyes)
> +tests += tst-glob_lstat_compat
> +endif
> +
> tests-internal := bug-regex5 bug-regex20 bug-regex33 \
> tst-rfc3484 tst-rfc3484-2 tst-rfc3484-3 \
> - tst-glob_lstat_compat tst-spawn4-compat
> + tst-spawn4-compat
> tests-container := bug-ga2
> xtests := tst-getaddrinfo4 tst-getaddrinfo5 tst-sched_rr_get_interval
> ifeq (yes,$(build-shared))
> diff --git a/posix/tst-glob_lstat_compat.c b/posix/tst-glob_lstat_compat.c
> index ef6f1b8c27..97ee51101b 100644
> --- a/posix/tst-glob_lstat_compat.c
> +++ b/posix/tst-glob_lstat_compat.c
> @@ -25,24 +25,22 @@
> #include <sys/types.h>
> #include <sys/stat.h>
> #include <unistd.h>
> -
> +#include <stdbool.h>
> #include <stdio.h>
>
> #include <shlib-compat.h>
> #include <support/check.h>
> #include <support/temp_file.h>
>
> -#if TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27)
> -
> __typeof (glob) glob;
> /* On alpha glob exists in version GLIBC_2_0, GLIBC_2_1, and GLIBC_2_27.
> This test needs to access the version prior to GLIBC_2_27, which is
> GLIBC_2_1 on alpha, GLIBC_2_0 elsewhere. */
> -# ifdef __alpha__
> +#ifdef __alpha__
> compat_symbol_reference (libc, glob, glob, GLIBC_2_1);
> -# else
> +#else
> compat_symbol_reference (libc, glob, glob, GLIBC_2_0);
> -# endif
> +#endif
>
> /* Compat glob should not call gl_lstat since for some old binaries it
> might be unitialized (for instance GNUmake). Check if it is indeed
> @@ -256,13 +254,4 @@ do_test (void)
> return 0;
> }
>
> -#else /* TEST_COMPAT (libc, GLIBC_2_0, GLIBC_2_27) */
> -
> -static int
> -do_test (void)
> -{
> - return 77;
> -}
> -#endif
> -
> #include <support/test-driver.c>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-03-05 13:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-05 12:56 [PATCH] posix: tst-glob_lstat_compat no longer needs to be an internal test Florian Weimer
2021-03-05 13:07 ` Adhemerval Zanella
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).