summaryrefslogtreecommitdiff
path: root/include/kunit
diff options
context:
space:
mode:
authorDavid Gow <davidgow@google.com>2021-05-13 22:31:56 +0300
committerShuah Khan <skhan@linuxfoundation.org>2021-06-24 01:35:25 +0300
commit3747b5c0d8ec8b03b0856e29241949baa0e67803 (patch)
treec8cfee4a7f43f3a5a45d10aa1820fb7a29cc20b7 /include/kunit
parent6e62dfa6d14f8fd2b07ad30b8a1c597d40d36ac1 (diff)
downloadlinux-3747b5c0d8ec8b03b0856e29241949baa0e67803.tar.xz
kunit: Assign strings to 'const char*' in STREQ assertions
Currently, the KUNIT_EXPECT_STREQ() and related macros assign both string arguments to variables of their own type (via typeof()). This seems to be to prevent the macro argument from being evaluated multiple times. However, this doesn't work if one of these is a fixed-length character array, rather than a character pointer, as (for example) char[16] will always allocate a new string. By always using 'const char*' (the type strcmp expects), we're always just taking a pointer to the string, which works even with character arrays. Signed-off-by: David Gow <davidgow@google.com> Reviewed-by: Daniel Latypov <dlatypov@google.com> Reviewed-by: Brendan Higgins <brendanhiggins@google.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
Diffstat (limited to 'include/kunit')
-rw-r--r--include/kunit/test.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/kunit/test.h b/include/kunit/test.h
index 4c56ffcb7403..b68c61348121 100644
--- a/include/kunit/test.h
+++ b/include/kunit/test.h
@@ -1128,8 +1128,8 @@ do { \
fmt, \
...) \
do { \
- typeof(left) __left = (left); \
- typeof(right) __right = (right); \
+ const char *__left = (left); \
+ const char *__right = (right); \
\
KUNIT_ASSERTION(test, \
strcmp(__left, __right) op 0, \