stefan pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d5583d74eac81587c195719b83a13d0039faceb5

commit d5583d74eac81587c195719b83a13d0039faceb5
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Fri Mar 30 15:21:02 2018 -0400

    tests: improve eina_binshare_collision test
    
    remove rand() usage and loop less
    
    fix T6843
    
    Reviewed-by: Stefan Schmidt <ste...@osg.samsung.com>
---
 src/tests/eina/eina_test_binshare.c | 47 ++++++++++++++-----------------------
 1 file changed, 18 insertions(+), 29 deletions(-)

diff --git a/src/tests/eina/eina_test_binshare.c 
b/src/tests/eina/eina_test_binshare.c
index d86b477b83..41b3f48929 100644
--- a/src/tests/eina/eina_test_binshare.c
+++ b/src/tests/eina/eina_test_binshare.c
@@ -132,42 +132,31 @@ EFL_START_TEST(eina_binshare_collision)
    Eina_Array *ea;
    char buffer[50];
    int i;
-
-   srand(time(NULL));
+   const void *r;
 
    ea = eina_array_new(256);
-   fail_if(!ea);
-
-   for (i = 0; i < 10000; ++i)
-     {
-        eina_convert_itoa(rand(), buffer);
-        eina_array_push(ea,
-                        (void *)eina_binshare_add_length(buffer, 
strlen(buffer)));
-        if (rand() > RAND_MAX / 2)
-          {
-             const char *r = eina_binshare_add_length(buffer, strlen(buffer));
-             fail_if(r == NULL);
-          }
-     }
 
-   for (i = 0; i < 10000; ++i)
+   for (i = 0; i < 256; ++i)
      {
-        const char *r;
-
+        unsigned int len;
         eina_convert_itoa(60000 - i, buffer);
-        eina_array_push(ea,
-                        (void *)eina_binshare_add_length(buffer, 
strlen(buffer)));
-        r = eina_binshare_add_length(buffer, strlen(buffer));
-        fail_if(r == NULL);
-        r = eina_binshare_add_length(buffer, strlen(buffer));
-        fail_if(r == NULL);
+        len = strlen(buffer);
+        r = eina_binshare_add_length(buffer, len);
+        ck_assert_ptr_nonnull(r);
+        eina_array_push(ea, r);
+        r = eina_binshare_add_length(buffer, len);
+        ck_assert_ptr_nonnull(r);
+        r = eina_binshare_add_length(buffer, len);
+        ck_assert_ptr_nonnull(r);
      }
 
-   for (i = 0; i < 200; ++i)
-      eina_binshare_del(eina_array_data_get(ea, i));
-
-   for (i = 0; i < 1000; ++i)
-      eina_binshare_del(eina_array_pop(ea));
+   while (eina_array_count(ea))
+      {
+         r = eina_array_pop(ea);
+         eina_binshare_del(r);
+         eina_binshare_del(r);
+         eina_binshare_del(r);
+      }
 
    eina_array_free(ea);
 }

-- 


Reply via email to