27 fprintf(stderr,
"%s(): failed\n", name);
58 {
"X X X x X X X x x X X X x x X X X X . . X X X x x",
CS_BINARY_TYPE},
61 {
"X X X X X X X . . X X X X X X X _ _ . . X X X x x",
CS_BIT_TYPE},
62 {
"X X X X X X X X X X X X X X X X X X x x X X X X X",
CS_CHAR_TYPE},
69 {
"X X X X X X X . . X X X X X X X X X . . X X _ . .",
CS_INT_TYPE},
72 {
"X X X X X X X . . X X X X X X X X X . . X X _ . .",
CS_FLOAT_TYPE},
73 {
"X X X X X X X . . X X X X X X X X X . . X X _ . .",
CS_REAL_TYPE},
74 {
"X X X X X X X . . X X X X X X X X X . . X X _ . .",
CS_MONEY_TYPE},
75 {
"X X X X X X X . . X X X X X X X X X . . X X _ . .",
CS_MONEY4_TYPE},
78 {
"X X X X X X X X X X X X X X X X X X x x X X _ _ _",
CS_TEXT_TYPE},
79 {
"X X X x X X X x x X X X x x X X X X . . X X _ . .",
CS_IMAGE_TYPE},
81 {
"_ _ X . X X X X X . . . . . . . . . . . X X X X _",
CS_DATE_TYPE},
82 {
"_ _ X . X X X X X . . . . . . . . . . . X X X _ X",
CS_TIME_TYPE},
86 #define TEST_ALL_TYPES \
88 TEST_TYPE(LONGBINARY) \
89 TEST_TYPE(VARBINARY) \
95 TEST_TYPE(DATETIME4) \
105 TEST_TYPE(BOUNDARY) \
106 TEST_TYPE(SENSITIVITY) \
115 #define TEST_TYPE(type) CS_ ## type ## _TYPE,
125 #define TEST_TYPE(type) case CS_ ## type ## _TYPE: return #type;
139 fprintf(stderr,
"Wrong result %d (%s) -> %d (%s) %d\n",
148 fprintf(stderr,
"Wrong result %d (%s) -> %d (%s) %d\n",
156 #define test(from, to, expected) test0(from, to, expected, __LINE__)
#define CS_SENSITIVITY_TYPE
#define CS_DATETIME4_TYPE
#define CS_LONGBINARY_TYPE
CS_RETCODE cs_will_convert(CS_CONTEXT *ctx, CS_INT srctype, CS_INT desttype, CS_BOOL *result)
#define CS_VARBINARY_TYPE
CS_RETCODE try_ctlogin(CS_CONTEXT **ctx, CS_CONNECTION **conn, CS_COMMAND **cmd, int verbose)
CS_RETCODE try_ctlogout(CS_CONTEXT *ctx, CS_CONNECTION *conn, CS_COMMAND *cmd, int verbose)
static const char * expected[]
const GenericPointer< typename T::ValueType > T2 value
#define row(bind, expected)
static void test_row(int vartype, const char *vartype_name, const char *expected, int line)
static const char * type_name(CS_INT value)
static void check_ret(const char *name, CS_RETCODE ret)
int main(int argc, char **argv)
static CS_CONTEXT * context
static CS_INT column_types[]
static void test0(CS_INT from, CS_INT to, CS_BOOL expected, int line)
static const test_row test_rows[]
#define test(from, to, expected)