All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] tests/qtest/libqtest: Use GLib functions for proper const correctness
@ 2026-05-22  8:25 Amit Machhiwal
  2026-06-12  6:59 ` Amit Machhiwal
  0 siblings, 1 reply; 3+ messages in thread
From: Amit Machhiwal @ 2026-05-22  8:25 UTC (permalink / raw)
  To: qemu-ppc, Fabiano Rosas, Laurent Vivier
  Cc: Amit Machhiwal, Vaibhav Jain, Harsh Prateek Bora, Chinmay Rath,
	Shivaprasad G Bhat, Gautam Menghani, Paolo Bonzini,
	Matthew Penney, Anushree Mathur, Aditya Gupta, qemu-devel

While commit e68da5b7a2cd ("tests/qtest: fix discarded const qualifier
warning") addressed the immediate strstr() warning by making 'found'
const, there's still a room for improvement: getenv() returns char *, but
environment strings are semantically read-only and should be treated as const
throughout their lifetime.

Replace getenv() with g_getenv() and strstr() with g_strstr_len() to
maintain const correctness from source to use. This approach:

- Uses g_getenv() which returns const gchar *, matching the read-only
  semantics of environment variables
- Employs g_strstr_len() for consistent use of GLib string functions,
  aligning with QEMU conventions
- Eliminates all const-correctness warnings with strict compilers

Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
---
v2:
- Rebased on top of e68da5b7a2cd ("tests/qtest: fix discarded const qualifier warning")
- Split from previous patch series and sent as standalone patch
- Updated commit message to clarify relationship with prior fix
- Retaining tags from previous version as no major changes

 tests/qtest/libqtest.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
index b1e06ea364ec..cb80ab23182a 100644
--- a/tests/qtest/libqtest.c
+++ b/tests/qtest/libqtest.c
@@ -2145,8 +2145,7 @@ bool mkimg(const char *file, const char *fmt, unsigned size_mb)
 
 bool qtest_verbose(const char *domain)
 {
-    const char *log = getenv("QTEST_LOG");
-    const char *found;
+    const gchar *found, *log = g_getenv("QTEST_LOG");
 
     assert(domain);
 
@@ -2172,11 +2171,11 @@ bool qtest_verbose(const char *domain)
          *  QTEST_LOG=<domain1>,-<domain2> (only false for domain2)
          *  allows other separators, except - and +
          */
-        found = strstr(log, domain);
+        found = g_strstr_len(log, -1, domain);
 
         if (found) {
             /* reject options given twice */
-            assert(!strstr(found + strlen(domain), domain));
+            assert(!g_strstr_len(found + strlen(domain), -1, domain));
 
             if (found > log) {
                 ptrdiff_t i = found - log - 1;
@@ -2190,7 +2189,7 @@ bool qtest_verbose(const char *domain)
              * If filtering out a specific domain, all others are
              * enabled.
              */
-            return !!strstr(log, "-");
+            return !!g_strstr_len(log, -1, "-");
         }
     }
 

base-commit: f5a2438405d4ae8b62de7c9b39fac0b2155ee544
-- 
2.50.1 (Apple Git-155)



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tests/qtest/libqtest: Use GLib functions for proper const correctness
  2026-05-22  8:25 [PATCH v2] tests/qtest/libqtest: Use GLib functions for proper const correctness Amit Machhiwal
@ 2026-06-12  6:59 ` Amit Machhiwal
  2026-06-12 13:00   ` Fabiano Rosas
  0 siblings, 1 reply; 3+ messages in thread
From: Amit Machhiwal @ 2026-06-12  6:59 UTC (permalink / raw)
  To: qemu-ppc, Fabiano Rosas, Laurent Vivier
  Cc: Amit Machhiwal, Vaibhav Jain, Harsh Prateek Bora, Chinmay Rath,
	Shivaprasad G Bhat, Gautam Menghani, Paolo Bonzini,
	Matthew Penney, Anushree Mathur, Aditya Gupta, qemu-devel

Hi Fabiano, Laurent,

Did you have any review comments on this patch?

Shall this be picked via your tree?

Thanks,
Amit

On 2026/05/22 01:55 PM, Amit Machhiwal wrote:
> While commit e68da5b7a2cd ("tests/qtest: fix discarded const qualifier
> warning") addressed the immediate strstr() warning by making 'found'
> const, there's still a room for improvement: getenv() returns char *, but
> environment strings are semantically read-only and should be treated as const
> throughout their lifetime.
> 
> Replace getenv() with g_getenv() and strstr() with g_strstr_len() to
> maintain const correctness from source to use. This approach:
> 
> - Uses g_getenv() which returns const gchar *, matching the read-only
>   semantics of environment variables
> - Employs g_strstr_len() for consistent use of GLib string functions,
>   aligning with QEMU conventions
> - Eliminates all const-correctness warnings with strict compilers
> 
> Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>
> Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
> Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
> ---
> v2:
> - Rebased on top of e68da5b7a2cd ("tests/qtest: fix discarded const qualifier warning")
> - Split from previous patch series and sent as standalone patch
> - Updated commit message to clarify relationship with prior fix
> - Retaining tags from previous version as no major changes
> 
>  tests/qtest/libqtest.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
> index b1e06ea364ec..cb80ab23182a 100644
> --- a/tests/qtest/libqtest.c
> +++ b/tests/qtest/libqtest.c
> @@ -2145,8 +2145,7 @@ bool mkimg(const char *file, const char *fmt, unsigned size_mb)
>  
>  bool qtest_verbose(const char *domain)
>  {
> -    const char *log = getenv("QTEST_LOG");
> -    const char *found;
> +    const gchar *found, *log = g_getenv("QTEST_LOG");
>  
>      assert(domain);
>  
> @@ -2172,11 +2171,11 @@ bool qtest_verbose(const char *domain)
>           *  QTEST_LOG=<domain1>,-<domain2> (only false for domain2)
>           *  allows other separators, except - and +
>           */
> -        found = strstr(log, domain);
> +        found = g_strstr_len(log, -1, domain);
>  
>          if (found) {
>              /* reject options given twice */
> -            assert(!strstr(found + strlen(domain), domain));
> +            assert(!g_strstr_len(found + strlen(domain), -1, domain));
>  
>              if (found > log) {
>                  ptrdiff_t i = found - log - 1;
> @@ -2190,7 +2189,7 @@ bool qtest_verbose(const char *domain)
>               * If filtering out a specific domain, all others are
>               * enabled.
>               */
> -            return !!strstr(log, "-");
> +            return !!g_strstr_len(log, -1, "-");
>          }
>      }
>  
> 
> base-commit: f5a2438405d4ae8b62de7c9b39fac0b2155ee544
> -- 
> 2.50.1 (Apple Git-155)
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] tests/qtest/libqtest: Use GLib functions for proper const correctness
  2026-06-12  6:59 ` Amit Machhiwal
@ 2026-06-12 13:00   ` Fabiano Rosas
  0 siblings, 0 replies; 3+ messages in thread
From: Fabiano Rosas @ 2026-06-12 13:00 UTC (permalink / raw)
  To: Amit Machhiwal, qemu-ppc, Laurent Vivier
  Cc: Amit Machhiwal, Vaibhav Jain, Harsh Prateek Bora, Chinmay Rath,
	Shivaprasad G Bhat, Gautam Menghani, Paolo Bonzini,
	Matthew Penney, Anushree Mathur, Aditya Gupta, qemu-devel

Amit Machhiwal <amachhiw@linux.ibm.com> writes:

> Hi Fabiano, Laurent,
>
> Did you have any review comments on this patch?
>
> Shall this be picked via your tree?
>

I'll take it, thanks.


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-06-12 14:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-22  8:25 [PATCH v2] tests/qtest/libqtest: Use GLib functions for proper const correctness Amit Machhiwal
2026-06-12  6:59 ` Amit Machhiwal
2026-06-12 13:00   ` Fabiano Rosas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.