[PATCH v2] tests: use g_test_rand_int

Paolo Bonzini posted 1 patch 4 years, 4 months ago
Test asan failed
Test checkpatch passed
Test FreeBSD failed
Test docker-mingw@fedora failed
Test docker-clang@ubuntu failed
Test docker-quick@centos7 failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1576113478-42926-1-git-send-email-pbonzini@redhat.com
Maintainers: Thomas Huth <thuth@redhat.com>, Michael Roth <mdroth@linux.vnet.ibm.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
tests/ivshmem-test.c | 2 +-
tests/test-bitmap.c  | 8 ++++----
tests/test-qga.c     | 4 ++--
3 files changed, 7 insertions(+), 7 deletions(-)
[PATCH v2] tests: use g_test_rand_int
Posted by Paolo Bonzini 4 years, 4 months ago
g_test_rand_int provides a reproducible random integer number, using a
different number seed every time but allowing reproduction using the
--seed command line option.  It is thus better suited to tests than
g_random_int or random.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 tests/ivshmem-test.c | 2 +-
 tests/test-bitmap.c  | 8 ++++----
 tests/test-qga.c     | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/tests/ivshmem-test.c b/tests/ivshmem-test.c
index be9aa92..ecda256 100644
--- a/tests/ivshmem-test.c
+++ b/tests/ivshmem-test.c
@@ -443,7 +443,7 @@ static gchar *mktempshm(int size, int *fd)
     while (true) {
         gchar *name;
 
-        name = g_strdup_printf("/qtest-%u-%u", getpid(), g_random_int());
+        name = g_strdup_printf("/qtest-%u-%u", getpid(), g_test_rand_int());
         *fd = shm_open(name, O_CREAT|O_RDWR|O_EXCL,
                        S_IRWXU|S_IRWXG|S_IRWXO);
         if (*fd > 0) {
diff --git a/tests/test-bitmap.c b/tests/test-bitmap.c
index 087e02a..2f5b714 100644
--- a/tests/test-bitmap.c
+++ b/tests/test-bitmap.c
@@ -22,10 +22,10 @@ static void check_bitmap_copy_with_offset(void)
     bmap2 = bitmap_new(BMAP_SIZE);
     bmap3 = bitmap_new(BMAP_SIZE);
 
-    bmap1[0] = random();
-    bmap1[1] = random();
-    bmap1[2] = random();
-    bmap1[3] = random();
+    bmap1[0] = g_test_rand_int();
+    bmap1[1] = g_test_rand_int();
+    bmap1[2] = g_test_rand_int();
+    bmap1[3] = g_test_rand_int();
     total = BITS_PER_LONG * 4;
 
     /* Shift 115 bits into bmap2 */
diff --git a/tests/test-qga.c b/tests/test-qga.c
index 1ca49bb..d2b2435 100644
--- a/tests/test-qga.c
+++ b/tests/test-qga.c
@@ -143,7 +143,7 @@ static void qmp_assertion_message_error(const char     *domain,
 static void test_qga_sync_delimited(gconstpointer fix)
 {
     const TestFixture *fixture = fix;
-    guint32 v, r = g_random_int();
+    guint32 v, r = g_test_rand_int();
     unsigned char c;
     QDict *ret;
 
@@ -186,7 +186,7 @@ static void test_qga_sync_delimited(gconstpointer fix)
 static void test_qga_sync(gconstpointer fix)
 {
     const TestFixture *fixture = fix;
-    guint32 v, r = g_random_int();
+    guint32 v, r = g_test_rand_int();
     QDict *ret;
 
     /*
-- 
1.8.3.1


Re: [PATCH v2] tests: use g_test_rand_int
Posted by Richard Henderson 4 years, 4 months ago
On 12/11/19 5:17 PM, Paolo Bonzini wrote:
> g_test_rand_int provides a reproducible random integer number, using a
> different number seed every time but allowing reproduction using the
> --seed command line option.  It is thus better suited to tests than
> g_random_int or random.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  tests/ivshmem-test.c | 2 +-
>  tests/test-bitmap.c  | 8 ++++----
>  tests/test-qga.c     | 4 ++--
>  3 files changed, 7 insertions(+), 7 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~

Re: [PATCH v2] tests: use g_test_rand_int
Posted by Thomas Huth 4 years, 4 months ago
On 12/12/2019 02.17, Paolo Bonzini wrote:
> g_test_rand_int provides a reproducible random integer number, using a
> different number seed every time but allowing reproduction using the
> --seed command line option.  It is thus better suited to tests than
> g_random_int or random.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  tests/ivshmem-test.c | 2 +-
>  tests/test-bitmap.c  | 8 ++++----
>  tests/test-qga.c     | 4 ++--
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/tests/ivshmem-test.c b/tests/ivshmem-test.c
> index be9aa92..ecda256 100644
> --- a/tests/ivshmem-test.c
> +++ b/tests/ivshmem-test.c
> @@ -443,7 +443,7 @@ static gchar *mktempshm(int size, int *fd)
>      while (true) {
>          gchar *name;
>  
> -        name = g_strdup_printf("/qtest-%u-%u", getpid(), g_random_int());
> +        name = g_strdup_printf("/qtest-%u-%u", getpid(), g_test_rand_int());
>          *fd = shm_open(name, O_CREAT|O_RDWR|O_EXCL,
>                         S_IRWXU|S_IRWXG|S_IRWXO);
>          if (*fd > 0) {
> diff --git a/tests/test-bitmap.c b/tests/test-bitmap.c
> index 087e02a..2f5b714 100644
> --- a/tests/test-bitmap.c
> +++ b/tests/test-bitmap.c
> @@ -22,10 +22,10 @@ static void check_bitmap_copy_with_offset(void)
>      bmap2 = bitmap_new(BMAP_SIZE);
>      bmap3 = bitmap_new(BMAP_SIZE);
>  
> -    bmap1[0] = random();
> -    bmap1[1] = random();
> -    bmap1[2] = random();
> -    bmap1[3] = random();
> +    bmap1[0] = g_test_rand_int();
> +    bmap1[1] = g_test_rand_int();
> +    bmap1[2] = g_test_rand_int();
> +    bmap1[3] = g_test_rand_int();
>      total = BITS_PER_LONG * 4;
>  
>      /* Shift 115 bits into bmap2 */
> diff --git a/tests/test-qga.c b/tests/test-qga.c
> index 1ca49bb..d2b2435 100644
> --- a/tests/test-qga.c
> +++ b/tests/test-qga.c
> @@ -143,7 +143,7 @@ static void qmp_assertion_message_error(const char     *domain,
>  static void test_qga_sync_delimited(gconstpointer fix)
>  {
>      const TestFixture *fixture = fix;
> -    guint32 v, r = g_random_int();
> +    guint32 v, r = g_test_rand_int();
>      unsigned char c;
>      QDict *ret;
>  
> @@ -186,7 +186,7 @@ static void test_qga_sync_delimited(gconstpointer fix)
>  static void test_qga_sync(gconstpointer fix)
>  {
>      const TestFixture *fixture = fix;
> -    guint32 v, r = g_random_int();
> +    guint32 v, r = g_test_rand_int();
>      QDict *ret;
>  
>      /*
> 

Reviewed-by: Thomas Huth <thuth@redhat.com>