diff mbox series

[2/3] Fix tst-ldconfig-ld_so_conf-update with custom configure prefix value

Message ID 20230326200016.219-3-romain.geissler@amadeus.com
State New
Headers show
Series Fix tst-ldconfig-ld_so_conf-update and tst-glibc-hwcaps-prepend-cache with custom configure prefix value | expand

Commit Message

Romain Geissler March 26, 2023, 8 p.m. UTC
---
 elf/tst-ldconfig-ld_so_conf-update.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

Comments

Adhemerval Zanella Netto March 27, 2023, 5:24 p.m. UTC | #1
LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


On 26/03/23 17:00, Romain Geissler via Libc-alpha wrote:
> ---
>  elf/tst-ldconfig-ld_so_conf-update.c | 13 ++++++++-----
>  1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/elf/tst-ldconfig-ld_so_conf-update.c b/elf/tst-ldconfig-ld_so_conf-update.c
> index 503afb3211e..2c5c48615d8 100644
> --- a/elf/tst-ldconfig-ld_so_conf-update.c
> +++ b/elf/tst-ldconfig-ld_so_conf-update.c
> @@ -33,7 +33,6 @@
>  
>  #define DSO "libldconfig-ld-mod.so"
>  #define DSO_DIR "/tmp/tst-ldconfig"
> -#define CONF "/etc/ld.so.conf"
>  
>  
>  static void
> @@ -64,6 +63,8 @@ do_test (void)
>  {
>    struct support_capture_subprocess result;
>  
> +  char *conf_path = xasprintf ("%s/ld.so.conf", support_sysconfdir_prefix);
> +
>    /* Create the needed directories.  */
>    xmkdirp ("/var/cache/ldconfig", 0777);
>    xmkdirp (DSO_DIR, 0777);
> @@ -82,9 +83,9 @@ do_test (void)
>       is not searched.  */
>    TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL);
>  
> -  FILE *fp = xfopen (CONF, "a+");
> +  FILE *fp = xfopen (conf_path, "a+");
>    if (!fp)
> -    FAIL_EXIT1 ("creating /etc/ld.so.conf failed: %m");
> +    FAIL_EXIT1 ("creating %s failed: %m", conf_path);
>    xfclose (fp);
>  
>    /* Run ldconfig.  */
> @@ -95,9 +96,9 @@ do_test (void)
>    TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL);
>  
>    /* Add tst-ldconfig directory to /etc/ld.so.conf.  */
> -  fp = xfopen (CONF, "w");
> +  fp = xfopen (conf_path, "w");
>    if (!(fwrite (DSO_DIR, 1, sizeof (DSO_DIR), fp)))
> -    FAIL_EXIT1 ("updating /etc/ld.so.conf failed: %m");
> +    FAIL_EXIT1 ("updating %s failed: %m", conf_path);
>    xfclose (fp);
>  
>    /* Try to dlopen the same DSO again, we expect this to still fail.  */
> @@ -111,6 +112,8 @@ do_test (void)
>    /* Finally, we expect dlopen to pass now.  */
>    TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) != NULL);
>  
> +  free (conf_path);
> +
>    return 0;
>  }
>
diff mbox series

Patch

diff --git a/elf/tst-ldconfig-ld_so_conf-update.c b/elf/tst-ldconfig-ld_so_conf-update.c
index 503afb3211e..2c5c48615d8 100644
--- a/elf/tst-ldconfig-ld_so_conf-update.c
+++ b/elf/tst-ldconfig-ld_so_conf-update.c
@@ -33,7 +33,6 @@ 
 
 #define DSO "libldconfig-ld-mod.so"
 #define DSO_DIR "/tmp/tst-ldconfig"
-#define CONF "/etc/ld.so.conf"
 
 
 static void
@@ -64,6 +63,8 @@  do_test (void)
 {
   struct support_capture_subprocess result;
 
+  char *conf_path = xasprintf ("%s/ld.so.conf", support_sysconfdir_prefix);
+
   /* Create the needed directories.  */
   xmkdirp ("/var/cache/ldconfig", 0777);
   xmkdirp (DSO_DIR, 0777);
@@ -82,9 +83,9 @@  do_test (void)
      is not searched.  */
   TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL);
 
-  FILE *fp = xfopen (CONF, "a+");
+  FILE *fp = xfopen (conf_path, "a+");
   if (!fp)
-    FAIL_EXIT1 ("creating /etc/ld.so.conf failed: %m");
+    FAIL_EXIT1 ("creating %s failed: %m", conf_path);
   xfclose (fp);
 
   /* Run ldconfig.  */
@@ -95,9 +96,9 @@  do_test (void)
   TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) == NULL);
 
   /* Add tst-ldconfig directory to /etc/ld.so.conf.  */
-  fp = xfopen (CONF, "w");
+  fp = xfopen (conf_path, "w");
   if (!(fwrite (DSO_DIR, 1, sizeof (DSO_DIR), fp)))
-    FAIL_EXIT1 ("updating /etc/ld.so.conf failed: %m");
+    FAIL_EXIT1 ("updating %s failed: %m", conf_path);
   xfclose (fp);
 
   /* Try to dlopen the same DSO again, we expect this to still fail.  */
@@ -111,6 +112,8 @@  do_test (void)
   /* Finally, we expect dlopen to pass now.  */
   TEST_VERIFY_EXIT (dlopen (DSO, RTLD_NOW | RTLD_GLOBAL) != NULL);
 
+  free (conf_path);
+
   return 0;
 }