Browse Source

tests: Fix double expansion bugs in test code

Two test programs - check_path and overlay - define a CHECK() helper macro
in such a way that in the case of an error it will re-execute the checked
code fragment, instead of using the return value from the initial call.

This can lead to misreporting errors, because the code may fail in a
different way the second time around due to changes made during the first
failing call.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
main
David Gibson 8 years ago
parent
commit
b4dc0ed8b1
  1. 5
      tests/check_path.c
  2. 5
      tests/overlay.c

5
tests/check_path.c

@ -26,8 +26,9 @@ @@ -26,8 +26,9 @@

#define CHECK(code) \
{ \
if (code) \
FAIL(#code ": %s", fdt_strerror(code)); \
int err = (code); \
if (err) \
FAIL(#code ": %s", fdt_strerror(err)); \
}

/* 4k ought to be enough for anybody */

5
tests/overlay.c

@ -27,8 +27,9 @@ @@ -27,8 +27,9 @@

#define CHECK(code) \
{ \
if (code) \
FAIL(#code ": %s", fdt_strerror(code)); \
int err = (code); \
if (err) \
FAIL(#code ": %s", fdt_strerror(err)); \
}

/* 4k ought to be enough for anybody */

Loading…
Cancel
Save