qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/3] tests: Avoid side effects inside g_assert() arguments


From: Thomas Huth
Subject: Re: [PATCH 3/3] tests: Avoid side effects inside g_assert() arguments
Date: Tue, 4 May 2021 09:18:45 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.0

On 03/05/2021 18.55, Peter Maydell wrote:
For us, assertions are always enabled, but side-effect expressions
inside the argument to g_assert() are bad style anyway. Fix three
occurrences in IPMI related tests, which will silence some Coverity
nits.

Fixes: CID 1432322, CID 1432287, CID 1432291
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
  tests/qtest/ipmi-bt-test.c  | 6 ++++--
  tests/qtest/ipmi-kcs-test.c | 3 ++-
  2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/tests/qtest/ipmi-bt-test.c b/tests/qtest/ipmi-bt-test.c
index a42207d416f..8492f02a9c3 100644
--- a/tests/qtest/ipmi-bt-test.c
+++ b/tests/qtest/ipmi-bt-test.c
@@ -98,7 +98,8 @@ static void bt_wait_b_busy(void)
  {
      unsigned int count = 1000;
      while (IPMI_BT_CTLREG_GET_B_BUSY() != 0) {
-        g_assert(--count != 0);
+        --count;
+        g_assert(count != 0);
          usleep(100);
      }
  }
@@ -107,7 +108,8 @@ static void bt_wait_b2h_atn(void)
  {
      unsigned int count = 1000;
      while (IPMI_BT_CTLREG_GET_B2H_ATN() == 0) {
-        g_assert(--count != 0);
+        --count;
+        g_assert(count != 0);
          usleep(100);
      }
  }
diff --git a/tests/qtest/ipmi-kcs-test.c b/tests/qtest/ipmi-kcs-test.c
index fc0a918c8d1..afc24dd3e46 100644
--- a/tests/qtest/ipmi-kcs-test.c
+++ b/tests/qtest/ipmi-kcs-test.c
@@ -73,7 +73,8 @@ static void kcs_wait_ibf(void)
  {
      unsigned int count = 1000;
      while (IPMI_KCS_CMDREG_GET_IBF() != 0) {
-        g_assert(--count != 0);
+        --count;
+        g_assert(count != 0);
      }
  }

According to https://developer.gnome.org/glib/unstable/glib-Testing.html#g-assert g_assert() should be avoided in unit tests and g_assert_true() should be used instead. So I think it might be nicer to use g_assert_true() here?

 Thomas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]