You've already forked mariadb-connector-c
mirror of
https://github.com/mariadb-corporation/mariadb-connector-c.git
synced 2025-08-08 14:02:17 +03:00
Correction of test_codbc138 test. It could fail
with some compilers(observed with VS). That would happen in memcmp of 2 MYSQL_TIME structures. Apparently because different content of memory areas the compiler used to pad structures.
This commit is contained in:
@@ -4651,6 +4651,13 @@ static int test_compress(MYSQL *mysql)
|
|||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int equal_MYSQL_TIME(MYSQL_TIME *tm1, MYSQL_TIME *tm2)
|
||||||
|
{
|
||||||
|
return tm1->day==tm1->day && tm1->hour==tm1->hour && tm1->minute==tm1->minute &&
|
||||||
|
tm1->month==tm1->month && tm1->neg==tm1->neg && tm1->second==tm1->second &&
|
||||||
|
tm1->second_part==tm1->second_part && tm1->time_type==tm1->time_type && tm1->year==tm1->year;
|
||||||
|
}
|
||||||
|
|
||||||
static int test_codbc138(MYSQL *mysql)
|
static int test_codbc138(MYSQL *mysql)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
@@ -4662,29 +4669,29 @@ static int test_codbc138(MYSQL *mysql)
|
|||||||
struct st_time_test {
|
struct st_time_test {
|
||||||
const char *statement;
|
const char *statement;
|
||||||
MYSQL_TIME tm;
|
MYSQL_TIME tm;
|
||||||
} time_test[]= {
|
} time_test[]={
|
||||||
{"SELECT DATE_ADD('2018-02-01', INTERVAL -188 DAY)",
|
{ "SELECT DATE_ADD('2018-02-01', INTERVAL -188 DAY)",
|
||||||
{2017,7,28,0,0,0,0L,0, MYSQL_TIMESTAMP_DATE}
|
{ 2017,7,28,0,0,0,0L,0, MYSQL_TIMESTAMP_DATE }
|
||||||
},
|
},
|
||||||
{"SELECT '2001-02-03 11:12:13.123456'",
|
{ "SELECT '2001-02-03 11:12:13.123456'",
|
||||||
{2001,2,3,11,12,13,123456L,0, MYSQL_TIMESTAMP_DATETIME}
|
{ 2001,2,3,11,12,13,123456L,0, MYSQL_TIMESTAMP_DATETIME }
|
||||||
},
|
},
|
||||||
{"SELECT '-11:12:13'",
|
{ "SELECT '-11:12:13'",
|
||||||
{0,0,0,11,12,13,0,1, MYSQL_TIMESTAMP_TIME}
|
{ 0,0,0,11,12,13,0,1, MYSQL_TIMESTAMP_TIME }
|
||||||
},
|
},
|
||||||
{"SELECT ' '",
|
{ "SELECT ' '",
|
||||||
{0,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR}
|
{ 0,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR }
|
||||||
},
|
},
|
||||||
{"SELECT '1--'",
|
{ "SELECT '1--'",
|
||||||
{1,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR}
|
{ 1,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR }
|
||||||
},
|
},
|
||||||
{"SELECT '-2001-01-01'",
|
{ "SELECT '-2001-01-01'",
|
||||||
{1,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR}
|
{ 1,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR }
|
||||||
},
|
},
|
||||||
{"SELECT '-11:00'",
|
{ "SELECT '-11:00'",
|
||||||
{1,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR}
|
{ 1,0,0,0,0,0,0,0, MYSQL_TIMESTAMP_ERROR }
|
||||||
},
|
},
|
||||||
{NULL, {0}}
|
{ NULL,{ 0 } }
|
||||||
};
|
};
|
||||||
|
|
||||||
while (time_test[i].statement)
|
while (time_test[i].statement)
|
||||||
@@ -4711,7 +4718,7 @@ static int test_codbc138(MYSQL *mysql)
|
|||||||
FAIL_UNLESS(tm.time_type == MYSQL_TIMESTAMP_ERROR, "MYSQL_TIMESTAMP_ERROR expected");
|
FAIL_UNLESS(tm.time_type == MYSQL_TIMESTAMP_ERROR, "MYSQL_TIMESTAMP_ERROR expected");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
FAIL_UNLESS(memcmp(&tm, &time_test[i].tm, sizeof(MYSQL_TIME)) == 0, "time_in != time_out");
|
FAIL_UNLESS(equal_MYSQL_TIME(&tm, &time_test[i].tm), "time_in != time_out");
|
||||||
mysql_stmt_close(stmt);
|
mysql_stmt_close(stmt);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user