]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: Improve assertion error messages
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 10 Apr 2024 11:23:53 +0000 (13:23 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 10 Apr 2024 16:20:23 +0000 (18:20 +0200)
src/shared/tests.h

index 07e05bf2676ae6e93078d317b689a051f1a0e114..f49f450e0d0b6e9ceefe3502a5c8e1bc5a071d82 100644 (file)
@@ -209,7 +209,7 @@ static inline int run_test_table(void) {
         ({                                                                                                      \
                 typeof(expr) _result = (expr);                                                                  \
                 if (_result < 0) {                                                                              \
-                        log_error_errno(_result, "%s:%i: Assertion failed: %s: %m",                             \
+                        log_error_errno(_result, "%s:%i: Assertion failed: expected \"%s\" to succeed but got the following error: %m", \
                                         PROJECT_FILE, __LINE__, #expr);                                         \
                         abort();                                                                                \
                 }                                                                                               \
@@ -235,9 +235,10 @@ static inline int run_test_table(void) {
 
 #define ASSERT_NULL(expr)                                                                                       \
         ({                                                                                                      \
-                if ((expr) != NULL) {                                                                           \
-                        log_error("%s:%i: Assertion failed: expected \"%s\" to be NULL",                        \
-                                  PROJECT_FILE, __LINE__, #expr);                                               \
+                typeof(expr) _result = (expr);                                                                  \
+                if (_result != NULL) {                                                                          \
+                        log_error("%s:%i: Assertion failed: expected \"%s\" to be NULL, but \"%p\" != NULL",    \
+                                  PROJECT_FILE, __LINE__, #expr, _result);                                      \
                         abort();                                                                                \
                 }                                                                                               \
         })