Roxen.git/
server/
etc/
include/
testsuite.h
Branch:
Tag:
Non-build tags
All tags
No tags
2018-04-03
2018-04-03 13:11:49 by Karl Gustav Sterneberg <kg@roxen.com>
7eaa82248b9d521918dfa999c529edef862b1555 (
119
lines) (+
60
/-
59
)
[
Show
|
Annotate
]
Branch:
kg/WS-168-webdav
Replaced tabs with spaces in testsuite.h
8:
// Run EXPR and check that it produces a nonzero result. If the test // is logged then EXPR is printed. If ARGS is given then // sprintf(EXPR, ARGS) is printed. Returns the result of EXPR.
-
#define TEST_TRUE(EXPR, ARGS...) \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() {return (EXPR);}, \
+
#define TEST_TRUE(EXPR, ARGS...) \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() {return (EXPR);}, \
#EXPR, ({ARGS}))
-
#define TEST_FALSE(EXPR, ARGS...) \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() {return !(EXPR);}, \
+
#define TEST_FALSE(EXPR, ARGS...) \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() {return !(EXPR);}, \
#EXPR, ({ARGS}))
-
#define TEST_EQUAL(A, B) \
-
lambda () { \
-
int len__ = min (max (sizeof (#A), sizeof (#B)), 40); \
-
array args__ = ({len__, #A, 0, len__, #B, 0}); \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() { \
-
return equal (args__[2] = (A), args__[5] = (B)); \
-
}, \
-
"%-*s (is %O) equals\n" \
-
"%-*s (is %O)?", \
-
args__); \
-
args__ = 0; \
+
#define TEST_EQUAL(A, B) \
+
lambda () { \
+
int len__ = min (max (sizeof (#A), sizeof (#B)), 40); \
+
array args__ = ({len__, #A, 0, len__, #B, 0}); \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() { \
+
return equal (args__[2] = (A), args__[5] = (B)); \
+
}, \
+
"%-*s (is %O) equals\n" \
+
"%-*s (is %O)?", \
+
args__); \
+
args__ = 0; \
}()
-
#define TEST_NOT_EQUAL(A, B) \
-
lambda () { \
-
int len__ = min (max (sizeof (#A), sizeof (#B)), 40); \
-
array args__ = ({len__, #A, 0, len__, #B, 0}); \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() { \
-
return !equal (args__[2] = (A), args__[5] = (B)); \
-
}, \
-
"%-*s (is %O) does not equal\n" \
-
"%-*s (is %O)?", \
-
args__); \
-
args__ = 0; \
+
#define TEST_NOT_EQUAL(A, B) \
+
lambda () { \
+
int len__ = min (max (sizeof (#A), sizeof (#B)), 40); \
+
array args__ = ({len__, #A, 0, len__, #B, 0}); \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() { \
+
return !equal (args__[2] = (A), args__[5] = (B)); \
+
}, \
+
"%-*s (is %O) does not equal\n" \
+
"%-*s (is %O)?", \
+
args__); \
+
args__ = 0; \
}()
-
#define TEST_CMP(A, OP, B) \
-
lambda () { \
-
int len__ = min (max (sizeof (#A), sizeof (#B)), 40); \
-
array args__ = ({len__, #A, 0, len__, #B, 0}); \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() { \
-
return (args__[2] = (A)) OP (args__[5] = (B)); \
-
}, \
-
"%-*s (is %O) " #OP "\n" \
-
"%-*s (is %O)?", \
-
args__); \
-
args__ = 0; \
+
#define TEST_CMP(A, OP, B) \
+
lambda () { \
+
int len__ = min (max (sizeof (#A), sizeof (#B)), 40); \
+
array args__ = ({len__, #A, 0, len__, #B, 0}); \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() { \
+
return (args__[2] = (A)) OP (args__[5] = (B)); \
+
}, \
+
"%-*s (is %O) " #OP "\n" \
+
"%-*s (is %O)?", \
+
args__); \
+
args__ = 0; \
}()
-
#define TEST_ERROR(CODE, ARGS...) \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() {return catch {CODE;};}, \
+
#define TEST_ERROR(CODE, ARGS...) \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() {return catch {CODE;};}, \
#CODE, ({ARGS}))
-
#define TEST_NOT_ERROR(CODE, ARGS...) \
-
cpp_test_true (__FILE__, __LINE__, \
-
lambda() {return !catch {CODE;};}, \
+
#define TEST_NOT_ERROR(CODE, ARGS...) \
+
cpp_test_true (__FILE__, __LINE__, \
+
lambda() {return !catch {CODE;};}, \
#CODE, ({ARGS}))
-
#define TEST_CALL(FN, ARGS...) \
+
#define TEST_CALL(FN, ARGS...) \
test (({__FILE__, __LINE__, (FN)}), ARGS)
-
#define TEST_CALL_TRUE(FN, ARGS...) \
+
#define TEST_CALL_TRUE(FN, ARGS...) \
test_true (({__FILE__, __LINE__, (FN)}), ARGS)
-
#define TEST_CALL_FALSE(FN, ARGS...) \
+
#define TEST_CALL_FALSE(FN, ARGS...) \
test_false (({__FILE__, __LINE__, (FN)}), ARGS)
-
#define TEST_CALL_ERROR(FN, ARGS...) \
+
#define TEST_CALL_ERROR(FN, ARGS...) \
test_error (({__FILE__, __LINE__, (FN)}), ARGS)
-
#define TEST_CALL_EQUAL(VAL, FN, ARGS...) \
+
#define TEST_CALL_EQUAL(VAL, FN, ARGS...) \
test_equal ((VAL), ({__FILE__, __LINE__, (FN)}), ARGS)
-
#define TEST_CALL_NOT_EQUAL(VAL, FN, ARGS...) \
+
#define TEST_CALL_NOT_EQUAL(VAL, FN, ARGS...) \
test_not_equal ((VAL), ({__FILE__, __LINE__, (FN)}), ARGS)
-
#define TEST_CALL_GENERIC(CHECK_FN, FN, ARGS...) \
+
#define TEST_CALL_GENERIC(CHECK_FN, FN, ARGS...) \
test_generic ((CHECK_FN), ({__FILE__, __LINE__, (FN)}), ARGS)