Commit c2741453 authored by Daniel Latypov's avatar Daniel Latypov Committed by Shuah Khan
Browse files

kunit: cleanup assertion macro internal variables



All the operands should be tagged `const`.
We're only assigning them to variables so that we can compare them (e.g.
check if left == right, etc.) and avoid evaluating expressions multiple
times.

There's no need for them to be mutable.

Also rename the helper variable `loc` to `__loc` like we do with
`__assertion` and `__strs` to avoid potential name collisions with user
code.

Signed-off-by: default avatarDaniel Latypov <dlatypov@google.com>
Reviewed-by: default avatarDavid Gow <davidgow@google.com>
Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 2b6861e2
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -779,10 +779,10 @@ void kunit_do_failed_assertion(struct kunit *test,

#define KUNIT_ASSERTION(test, assert_type, pass, assert_class, INITIALIZER, fmt, ...) do { \
	if (unlikely(!(pass))) {					       \
		static const struct kunit_loc loc = KUNIT_CURRENT_LOC;	       \
		static const struct kunit_loc __loc = KUNIT_CURRENT_LOC;       \
		struct assert_class __assertion = INITIALIZER;		       \
		kunit_do_failed_assertion(test,				       \
					  &loc,				       \
					  &__loc,			       \
					  assert_type,			       \
					  &__assertion.assert,		       \
					  fmt,				       \
@@ -872,8 +872,8 @@ void kunit_do_failed_assertion(struct kunit *test,
				    fmt,				       \
				    ...)				       \
do {									       \
	typeof(left) __left = (left);					       \
	typeof(right) __right = (right);				       \
	const typeof(left) __left = (left);				       \
	const typeof(right) __right = (right);				       \
	static const struct kunit_binary_assert_text __text = {		       \
		.operation = #op,					       \
		.left_text = #left,					       \
@@ -956,7 +956,7 @@ do { \
						fmt,			       \
						...)			       \
do {									       \
	typeof(ptr) __ptr = (ptr);					       \
	const typeof(ptr) __ptr = (ptr);				       \
									       \
	KUNIT_ASSERTION(test,						       \
			assert_type,					       \