libio/tst-fopenloc: Use xsetlocale, xfopen, and xfclose

Message ID 20191111144052.GB5229@aloka.lostca.se
State Committed
Commit f0f0d79ac3a2ed7b4e2b99ff993027172068446e
Headers

Commit Message

Arjun Shankar Nov. 11, 2019, 2:40 p.m. UTC
  From: Arjun Shankar <arjun@redhat.com>
---
 libio/tst-fopenloc.c | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)
  

Comments

Florian Weimer Nov. 11, 2019, 3:15 p.m. UTC | #1
* Arjun Shankar:

> diff --git a/libio/tst-fopenloc.c b/libio/tst-fopenloc.c
> index e9548c57ac..797540da04 100644
> --- a/libio/tst-fopenloc.c
> +++ b/libio/tst-fopenloc.c
> @@ -25,14 +25,11 @@
>  #include <string.h>
>  #include <wchar.h>
>  #include <sys/resource.h>
> +#include <support/support.h>
> +#include <support/xstdio.h>
>  
>  static const char inputfile[] = "../iconvdata/testdata/ISO-8859-1";
>  
> -static int do_test(void);
> -
> -#define TEST_FUNCTION do_test ()
> -#include "../test-skeleton.c"
> -
>  static int
>  do_bz17916 (void)
>  {
> @@ -66,14 +63,9 @@ do_test (void)
>  
>    mtrace ();
>  
> -  setlocale (LC_ALL, "de_DE.UTF-8");
> +  xsetlocale (LC_ALL, "de_DE.UTF-8");
>  
> -  fp = fopen (inputfile, "r,ccs=ISO-8859-1");
> -  if (fp == NULL)
> -    {
> -      printf ("cannot open \"%s\": %s\n", inputfile, strerror (errno));
> -      exit (1);
> -    }
> +  fp = xfopen (inputfile, "r,ccs=ISO-8859-1");
>  
>    while (! feof_unlocked (fp))
>      {
> @@ -85,7 +77,9 @@ do_test (void)
>        fputws (buf, stdout);
>      }
>  
> -  fclose (fp);
> +  xfclose (fp);
>  
>    return do_bz17916 ();
>  }
> +
> +#include <support/test-driver.c>

This patch looks good to me.

(Lack of error checking in setlocale can lead to weird test failures.)

Thanks,
Florian
  

Patch

diff --git a/libio/tst-fopenloc.c b/libio/tst-fopenloc.c
index e9548c57ac..797540da04 100644
--- a/libio/tst-fopenloc.c
+++ b/libio/tst-fopenloc.c
@@ -25,14 +25,11 @@ 
 #include <string.h>
 #include <wchar.h>
 #include <sys/resource.h>
+#include <support/support.h>
+#include <support/xstdio.h>
 
 static const char inputfile[] = "../iconvdata/testdata/ISO-8859-1";
 
-static int do_test(void);
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
-
 static int
 do_bz17916 (void)
 {
@@ -66,14 +63,9 @@  do_test (void)
 
   mtrace ();
 
-  setlocale (LC_ALL, "de_DE.UTF-8");
+  xsetlocale (LC_ALL, "de_DE.UTF-8");
 
-  fp = fopen (inputfile, "r,ccs=ISO-8859-1");
-  if (fp == NULL)
-    {
-      printf ("cannot open \"%s\": %s\n", inputfile, strerror (errno));
-      exit (1);
-    }
+  fp = xfopen (inputfile, "r,ccs=ISO-8859-1");
 
   while (! feof_unlocked (fp))
     {
@@ -85,7 +77,9 @@  do_test (void)
       fputws (buf, stdout);
     }
 
-  fclose (fp);
+  xfclose (fp);
 
   return do_bz17916 ();
 }
+
+#include <support/test-driver.c>