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.16-ports-merge-487-g38c7829


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  38c78296506316d4f84df2bd095f5efe6804308e (commit)
      from  b44d43a01620a29c0ee7b25fe994adb22fa511d5 (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://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=38c78296506316d4f84df2bd095f5efe6804308e

commit 38c78296506316d4f84df2bd095f5efe6804308e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sun Oct 14 00:05:10 2012 -0700

    Add a testcase for BZ #14716

diff --git a/ChangeLog b/ChangeLog
index 5af0503..bfe3465 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-10-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #14716]
+	* string/test-memmem.c (check_result): New function.
+	(do_one_test): Use it.
+	(check1): New function.
+	(test_main): Use it.
+
 2012-10-18  Markus Trippelsdorf  <markus@trippelsdorf.de>
 
 	* math/Makefile: Comment on slow compilation of test-tgmath2.c.
diff --git a/string/test-memmem.c b/string/test-memmem.c
index 4076029..5f32a0e 100644
--- a/string/test-memmem.c
+++ b/string/test-memmem.c
@@ -56,8 +56,8 @@ simple_memmem (const void *haystack, size_t haystack_len, const void *needle,
   return NULL;
 }
 
-static void
-do_one_test (impl_t *impl, const void *haystack, size_t haystack_len,
+static int
+check_result (impl_t *impl, const void *haystack, size_t haystack_len,
 	     const void *needle, size_t needle_len, const void *expected)
 {
   void *res;
@@ -68,9 +68,20 @@ do_one_test (impl_t *impl, const void *haystack, size_t haystack_len,
       error (0, 0, "Wrong result in function %s %p %p", impl->name,
 	     res, expected);
       ret = 1;
-      return;
+      return -1;
     }
 
+  return 0;
+}
+
+static void
+do_one_test (impl_t *impl, const void *haystack, size_t haystack_len,
+	     const void *needle, size_t needle_len, const void *expected)
+{
+  if (check_result (impl, haystack, haystack_len, needle, needle_len,
+		    expected) < 0)
+    return;
+
   if (HP_TIMING_AVAIL)
     {
       hp_timing_t start __attribute ((unused));
@@ -145,6 +156,22 @@ do_random_tests (void)
     }
 }
 
+static void
+check1 (void)
+{
+
+  const char search_buf_data[5] = { 0x56, 0x34, 0x12, 0x78, 0x78 };
+  const char pattern[2] = { 0x78, 0x56 };
+  void *search_buf = (void *) buf1 + page_size - sizeof search_buf_data;
+  void *exp_result;
+
+  memcpy (search_buf, search_buf_data, sizeof search_buf_data);
+  exp_result = simple_memmem (search_buf, sizeof search_buf_data,
+			      pattern, sizeof pattern);
+  FOR_EACH_IMPL (impl, 0)
+    check_result (impl, search_buf, sizeof search_buf_data,
+		  pattern, sizeof pattern, exp_result);
+}
 
 static const char *const strs[] =
   {
@@ -161,6 +188,8 @@ test_main (void)
 
   test_init ();
 
+  check1 ();
+
   printf ("%23s", "");
   FOR_EACH_IMPL (impl, 0)
     printf ("\t%s", impl->name);

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

Summary of changes:
 ChangeLog            |    8 ++++++++
 string/test-memmem.c |   35 ++++++++++++++++++++++++++++++++---
 2 files changed, 40 insertions(+), 3 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]