This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.20-157-gaf83568


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  af83568d3fdc84884378317504b4a2b76371bf8b (commit)
      from  b01ee67cb5860d70e5a88af3c25b44d1ecaf0579 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=af83568d3fdc84884378317504b4a2b76371bf8b

commit af83568d3fdc84884378317504b4a2b76371bf8b
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Wed Jun 11 15:00:14 2014 -0300

    libio: Refactor tst-fmemopen to use test-skeleton.c
    
    This patch refactor tst-fmemopen.c to use test-skeleton.c.  No logic
    changes are added.

diff --git a/ChangeLog b/ChangeLog
index 118a947..e402f0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-11-05  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+	* stdio-common/tst-fmemopen.c (do_test): Refactor to use
+	test-skeleton.c.
+
 2014-11-05  Will Newton  <will.newton@linaro.org>
 
 	* benchtests/Makefile: (bench-malloc): Add malloc thread
diff --git a/stdio-common/tst-fmemopen.c b/stdio-common/tst-fmemopen.c
index 206bfd7..aba9310 100644
--- a/stdio-common/tst-fmemopen.c
+++ b/stdio-common/tst-fmemopen.c
@@ -1,3 +1,21 @@
+/* basic fmemopen interface testing.
+   Copyright (C) 2014 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
 #include <errno.h>
 #include <fcntl.h>
 #include <stdio.h>
@@ -8,10 +26,24 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 
-int
-main (int argc, char **argv)
+static char *test_file;
+
+static void
+do_prepare (int argc, char *argv[])
+{
+  /* Construct the test file name based on ARGV[0], which will be
+     an absolute file name in the build directory.  Don't touch the
+     source directory, which might be read-only.  */
+  if (asprintf (&test_file, "%s.test", argv[0]) < 0)
+    {
+      puts ("asprintf failed\n");
+      exit (EXIT_FAILURE);
+    }
+}
+
+static int
+do_test (void)
 {
-  char *test_file;
   const char blah[] = "BLAH";
   FILE *fp;
   char *mmap_data;
@@ -19,17 +51,14 @@ main (int argc, char **argv)
   struct stat fs;
   const char *cp;
 
-  /* Construct the test file name based on ARGV[0], which will be
-     an absolute file name in the build directory.  Don't touch the
-     source directory, which might be read-only.  */
-  if (argc != 1 || asprintf (&test_file, "%s.test", argv[0]) < 0)
-    exit (99);
-
   /* setup the physical file, and use it */
   if ((fp = fopen (test_file, "w+")) == NULL)
-    exit (1);
+    return 1;
   if (fwrite (blah, 1, strlen (blah), fp) != strlen (blah))
-    exit (2);
+    {
+      fclose (fp);
+      return 2;
+    }
 
   rewind (fp);
   printf ("file: ");
@@ -41,7 +70,8 @@ main (int argc, char **argv)
 	{
 	  printf ("\ncharacter %td: '%c' instead of '%c'\n",
 		  cp - blah, ch, *cp);
-	  exit (1);
+	  fclose (fp);
+	  return 1;
 	}
       ++cp;
     }
@@ -49,33 +79,44 @@ main (int argc, char **argv)
   if (ferror (fp))
     {
       puts ("fp: error");
-      exit (1);
+      fclose (fp);
+      return 1;
     }
   if (feof (fp))
     printf ("fp: EOF\n");
   else
     {
       puts ("not EOF");
-      exit (1);
+      fclose (fp);
+      return 1;
     }
   fclose (fp);
 
   /* Now, mmap the file into a buffer, and do that too */
   if ((fd = open (test_file, O_RDONLY)) == -1)
-    exit (3);
+    {
+      printf ("open (%s, O_RDONLY) failed\n", test_file);
+      return 3;
+    }
   if (fstat (fd, &fs) == -1)
-    exit (4);
+    {
+      printf ("stat (%i)\n", fd);
+      return 4;
+    }
 
   if ((mmap_data = (char *) mmap (NULL, fs.st_size, PROT_READ,
 				  MAP_SHARED, fd, 0)) == MAP_FAILED)
     {
-      if (errno == ENOSYS)
-	exit (0);
-      exit (5);
+      printf ("mmap (NULL, %zu, PROT_READ, MAP_SHARED, %i, 0) failed\n",
+	      fs.st_size, fd);
+      return 5;
     }
 
   if ((fp = fmemopen (mmap_data, fs.st_size, "r")) == NULL)
-    exit (1);
+    {
+      printf ("fmemopen (%p, %zu) failed\n", mmap_data, fs.st_size);
+      return 1;
+    }
 
   printf ("mem: ");
   cp = blah;
@@ -86,7 +127,8 @@ main (int argc, char **argv)
 	{
 	  printf ("%td character: '%c' instead of '%c'\n",
 		  cp - blah, ch, *cp);
-	  exit (1);
+	  fclose (fp);
+	  return 1;
 	}
       ++cp;
     }
@@ -96,14 +138,16 @@ main (int argc, char **argv)
   if (ferror (fp))
     {
       puts ("fp: error");
-      exit (1);
+      fclose (fp);
+      return 1;
     }
   if (feof (fp))
     printf ("fp: EOF\n");
   else
     {
       puts ("not EOF");
-      exit (1);
+      fclose (fp);
+      return 1;
     }
 
   fclose (fp);
@@ -115,3 +159,7 @@ main (int argc, char **argv)
 
   return 0;
 }
+
+#define PREPARE(argc, argv) do_prepare (argc, argv)
+#define TEST_FUNCTION       do_test ()
+#include "../test-skeleton.c"

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |    5 ++
 stdio-common/tst-fmemopen.c |   94 ++++++++++++++++++++++++++++++++----------
 2 files changed, 76 insertions(+), 23 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]