[PATCH i-g-t] Working on introducing igt trybot
Arkadiusz Hiler
arkadiusz.hiler at intel.com
Tue Apr 9 07:56:50 UTC 2019
also, errno fiddlingtests by the way
v2: fix runner test
---
lib/igt_core.h | 25 ++++++++++++++++++-------
runner/runner_tests.c | 4 +++-
2 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/lib/igt_core.h b/lib/igt_core.h
index 47ffd9e7..cdc5a939 100644
--- a/lib/igt_core.h
+++ b/lib/igt_core.h
@@ -41,6 +41,7 @@
#include <stdarg.h>
#include <getopt.h>
#include <unistd.h>
+#include <errno.h>
#ifndef IGT_LOG_DOMAIN
#define IGT_LOG_DOMAIN (NULL)
@@ -360,7 +361,7 @@ static inline void igt_ignore_warn(bool value)
* Should be used everywhere where a test checks results.
*/
#define igt_assert(expr) \
- do { if (!(expr)) \
+ do { errno = 0; if (!(expr)) \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, #expr , NULL); \
} while (0)
@@ -377,7 +378,7 @@ static inline void igt_ignore_warn(bool value)
* information to help debugging test failures.
*/
#define igt_assert_f(expr, f...) \
- do { if (!(expr)) \
+ do { errno = 0; if (!(expr)) \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, #expr , f); \
} while (0)
@@ -421,7 +422,9 @@ static inline void igt_ignore_warn(bool value)
*/
#define igt_assert_cmpint(n1, cmp, ncmp, n2) \
do { \
- int __n1 = (n1), __n2 = (n2); \
+ int __n1, __n2; \
+ errno = 0; \
+ __n1 = (n1); __n2 = (n2); \
if (__n1 cmp __n2) ; else \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
@@ -439,7 +442,9 @@ static inline void igt_ignore_warn(bool value)
*/
#define igt_assert_cmpuint(n1, cmp, ncmp, n2) \
do { \
- uint32_t __n1 = (n1), __n2 = (n2); \
+ uint32_t __n1, __n2; \
+ errno = 0; \
+ __n1 = (n1); __n2 = (n2); \
if (__n1 cmp __n2) ; else \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
@@ -457,7 +462,9 @@ static inline void igt_ignore_warn(bool value)
*/
#define igt_assert_cmps64(n1, cmp, ncmp, n2) \
do { \
- int64_t __n1 = (n1), __n2 = (n2); \
+ int64_t __n1, __n2; \
+ errno = 0; \
+ __n1 = (n1); __n2 = (n2); \
if (__n1 cmp __n2) ; else \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
@@ -475,7 +482,9 @@ static inline void igt_ignore_warn(bool value)
*/
#define igt_assert_cmpu64(n1, cmp, ncmp, n2) \
do { \
- uint64_t __n1 = (n1), __n2 = (n2); \
+ uint64_t __n1, __n2; \
+ errno = 0; \
+ __n1 = (n1); __n2 = (n2); \
if (__n1 cmp __n2) ; else \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
@@ -493,7 +502,9 @@ static inline void igt_ignore_warn(bool value)
*/
#define igt_assert_cmpdouble(n1, cmp, ncmp, n2) \
do { \
- double __n1 = (n1), __n2 = (n2); \
+ double __n1, __n2; \
+ errno = 0; \
+ __n1 = (n1); __n2 = (n2); \
if (__n1 cmp __n2) ; else \
__igt_fail_assert(IGT_LOG_DOMAIN, __FILE__, __LINE__, __func__, \
#n1 " " #cmp " " #n2, \
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index ade78b18..47cdd813 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -1273,6 +1273,7 @@ igt_main
igt_subtest("file-descriptor-leakage") {
int i;
+ int err;
/*
* This is a build-time test, and it's expected that
@@ -1285,7 +1286,8 @@ igt_main
for (i = 3; i < 400; i++) {
errno = 0;
igt_assert_neq(close(i), 0);
- igt_assert_eq(errno, EBADF);
+ err = errno;
+ igt_assert_eq(err, EBADF);
}
}
--
2.20.1
More information about the Intel-gfx-trybot
mailing list