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

Message ID 20191111144052.GB5229@aloka.lostca.se
State New
Headers show
Series
  • libio/tst-fopenloc: Use xsetlocale, xfopen, and xfclose
Related show

Commit Message

Arjun Shankar Nov. 11, 2019, 2:40 p.m.
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. | #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>