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>
This commit is contained in:
@@ -26,8 +26,9 @@
|
|||||||
|
|
||||||
#define CHECK(code) \
|
#define CHECK(code) \
|
||||||
{ \
|
{ \
|
||||||
if (code) \
|
int err = (code); \
|
||||||
FAIL(#code ": %s", fdt_strerror(code)); \
|
if (err) \
|
||||||
|
FAIL(#code ": %s", fdt_strerror(err)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 4k ought to be enough for anybody */
|
/* 4k ought to be enough for anybody */
|
||||||
|
|||||||
@@ -27,8 +27,9 @@
|
|||||||
|
|
||||||
#define CHECK(code) \
|
#define CHECK(code) \
|
||||||
{ \
|
{ \
|
||||||
if (code) \
|
int err = (code); \
|
||||||
FAIL(#code ": %s", fdt_strerror(code)); \
|
if (err) \
|
||||||
|
FAIL(#code ": %s", fdt_strerror(err)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 4k ought to be enough for anybody */
|
/* 4k ought to be enough for anybody */
|
||||||
|
|||||||
Reference in New Issue
Block a user