You've already forked mariadb-connector-c
mirror of
https://github.com/mariadb-corporation/mariadb-connector-c.git
synced 2025-08-05 15:55:58 +03:00
Unit test fixes for server integration
- SSL tests require CERT_PATH. Subdirectory certs was removed. If Connector/C is build outside of the server tree, certification path has to be specified manually (-DCERT_PATH=/path/to/certs). - All tables and users will removed, if the test passed (otherwise mtr will complain).
This commit is contained in:
@@ -37,37 +37,15 @@ SET(API_TESTS ${API_TESTS} "async")
|
||||
SET(MANUAL_TESTS "t_aurora" "t_conc173")
|
||||
# Get finger print from server certificate
|
||||
IF(WITH_SSL)
|
||||
IF(OPENSSL_FOUND AND EXISTS "${CC_SOURCE_DIR}/unittest/libmariadb/certs")
|
||||
#create certificates
|
||||
IF(EXISTS "${CC_SOURCE_DIR}/unittest/libmariadb/certs/server-cert.pem")
|
||||
MESSAGE(STATUS "certificates already exist")
|
||||
ELSE()
|
||||
MESSAGE(STATUS "creating certificates")
|
||||
IF(WIN32)
|
||||
EXECUTE_PROCESS(COMMAND create_certs.bat
|
||||
WORKING_DIRECTORY ${CC_SOURCE_DIR}/unittest/libmariadb/certs
|
||||
OUTPUT_FILE x.1 ERROR_FILE x.2)
|
||||
ELSE()
|
||||
EXECUTE_PROCESS(COMMAND ./create_certs.sh
|
||||
WORKING_DIRECTORY ${CC_SOURCE_DIR}/unittest/libmariadb/certs)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
EXECUTE_PROCESS(COMMAND openssl x509 -in server-cert.pem -sha1 -fingerprint -noout
|
||||
WORKING_DIRECTORY ${CC_SOURCE_DIR}/unittest/libmariadb/certs
|
||||
OUTPUT_VARIABLE FINGER_PRINT)
|
||||
STRING(REPLACE "SHA1 Fingerprint=" "" FINGER_PRINT "${FINGER_PRINT}")
|
||||
STRING(REPLACE "\n" "" FINGER_PRINT "${FINGER_PRINT}")
|
||||
STRING(REPLACE ":" "" SSL_CERT_FINGER_PRINT "${FINGER_PRINT}")
|
||||
CONFIGURE_FILE(${CC_SOURCE_DIR}/unittest/libmariadb/fingerprint.list.in
|
||||
${CC_BINARY_DIR}/unittest/libmariadb/fingerprint.list)
|
||||
|
||||
ENDIF()
|
||||
IF(CERT_PATH)
|
||||
FILE(READ ${CERT_PATH}/server-cert.sha1 CERT_FINGER_PRINT)
|
||||
STRING(REPLACE "\n" "" CERT_FINGER_PRINT "${CERT_FINGER_PRINT}")
|
||||
SET(API_TESTS ${API_TESTS} "ssl")
|
||||
CONFIGURE_FILE(${CC_SOURCE_DIR}/unittest/libmariadb/ssl.c.in
|
||||
${CC_BINARY_DIR}/unittest/libmariadb/ssl.c)
|
||||
ADD_EXECUTABLE(ssl ${CC_BINARY_DIR}/unittest/libmariadb/ssl.c)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ADD_LIBRARY(ma_getopt ma_getopt.c)
|
||||
|
||||
|
@@ -160,14 +160,17 @@ static int async1(MYSQL *unused __attribute__((unused)))
|
||||
mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "myapp");
|
||||
|
||||
/* Returns 0 when done, else flag for what to wait for when need to block. */
|
||||
status= mysql_real_connect_start(&ret, &mysql, hostname, username, password, NULL,
|
||||
0, NULL, 0);
|
||||
status= mysql_real_connect_start(&ret, &mysql, hostname, username, password, schema, port, socketname, 0);
|
||||
while (status)
|
||||
{
|
||||
status= wait_for_mysql(&mysql, status);
|
||||
status= mysql_real_connect_cont(&ret, &mysql, status);
|
||||
}
|
||||
if (!ret)
|
||||
{
|
||||
diag("Error: %s", mysql_error(&mysql));
|
||||
FAIL_IF(!ret, "Failed to mysql_real_connect()");
|
||||
}
|
||||
|
||||
status= mysql_real_query_start(&err, &mysql, SL("SHOW STATUS"));
|
||||
while (status)
|
||||
|
@@ -67,6 +67,8 @@ static int test_conc75(MYSQL *my)
|
||||
//diag("cs: %s", mysql->charset->csname);
|
||||
//FAIL_IF(strcmp(mysql->charset->csname, "utf8"), "wrong character set");
|
||||
}
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS a");
|
||||
check_mysql_rc(rc, mysql);
|
||||
mysql_close(mysql);
|
||||
return OK;
|
||||
}
|
||||
@@ -98,6 +100,9 @@ static int test_conc74(MYSQL *unused __attribute__((unused)))
|
||||
rc= mysql_query(mysql, "load data local infile './nonexistingfile.csv' into table a (`a`)");
|
||||
FAIL_IF(!rc, "Error expected");
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS a");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
mysql_close(mysql);
|
||||
return OK;
|
||||
}
|
||||
@@ -147,6 +152,7 @@ static int test_conc70(MYSQL *my)
|
||||
check_mysql_rc(rc, my);
|
||||
|
||||
mysql_query(my, "SET global max_allowed_packet=1024*1024*22");
|
||||
check_mysql_rc(rc, my);
|
||||
|
||||
mysql_options(mysql, MYSQL_OPT_COMPRESS, (void *)1);
|
||||
FAIL_IF(!my_test_connect(mysql, hostname, username, password, schema,
|
||||
@@ -183,6 +189,9 @@ static int test_conc70(MYSQL *my)
|
||||
FAIL_IF(strlen(row[0]) != 1024 * 1024 * 20, "Wrong length");
|
||||
|
||||
mysql_free_result(res);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
mysql_close(mysql);
|
||||
|
||||
rc= mysql_query(my, "SET global max_allowed_packet=@a");
|
||||
@@ -631,6 +640,8 @@ static int test_select_direct(MYSQL *mysql)
|
||||
FAIL_IF(!result, "Invalid result set");
|
||||
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -674,6 +685,9 @@ static int test_options_initcmd(MYSQL *unused __attribute__((unused)))
|
||||
FAIL_IF(mysql_num_rows(res) != 3, "Expected 3 rows");
|
||||
|
||||
mysql_free_result(res);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
mysql_close(mysql);
|
||||
return OK;
|
||||
}
|
||||
@@ -705,9 +719,6 @@ static int test_reconnect_maxpackage(MYSQL *unused __attribute__((unused)))
|
||||
SKIP_CONNECTION_HANDLER;
|
||||
mysql= mysql_init(NULL);
|
||||
|
||||
SKIP_CONNECTION_HANDLER;
|
||||
mysql= mysql_init(NULL);
|
||||
|
||||
FAIL_IF(!my_test_connect(mysql, hostname, username, password, schema,
|
||||
port, socketname,
|
||||
CLIENT_MULTI_STATEMENTS | CLIENT_MULTI_RESULTS), mysql_error(mysql));
|
||||
@@ -739,6 +750,8 @@ static int test_reconnect_maxpackage(MYSQL *unused __attribute__((unused)))
|
||||
else
|
||||
diag("Error: %s", mysql_error(mysql));
|
||||
|
||||
rc= mysql_ping(mysql);
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "SELECT @@max_allowed_packet");
|
||||
check_mysql_rc(rc, mysql);
|
||||
res= mysql_store_result(mysql);
|
||||
|
@@ -180,6 +180,8 @@ static int bulk2(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bulk2");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -230,6 +232,8 @@ static int bulk3(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bulk3");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -290,6 +294,8 @@ static int bulk4(MYSQL *mysql)
|
||||
rc= mysql_num_rows(res);
|
||||
mysql_free_result(res);
|
||||
FAIL_IF(rc != 3, "expected 3 rows");
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bulk4");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -341,6 +347,8 @@ static int bulk_null(MYSQL *mysql)
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
free(buf);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bulk_null");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -398,6 +406,9 @@ static int bulk5(MYSQL *mysql)
|
||||
|
||||
FAIL_IF(rows != 5, "expected 5 rows");
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bulk5");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -494,6 +505,8 @@ static int bulk6(MYSQL *mysql)
|
||||
mysql_free_result(res);
|
||||
|
||||
FAIL_IF(rows != 10, "expected 10 rows");
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bulk6");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
@@ -1,78 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 11580370790696127632 (0xa0b5bde0f2c08c90)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
|
||||
Validity
|
||||
Not Before: Apr 25 14:55:05 2015 GMT
|
||||
Not After : Apr 20 14:55:05 2035 GMT
|
||||
Subject: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:c0:1f:90:7c:2b:c2:ea:01:93:ce:e0:c5:72:e8:
|
||||
1c:06:bd:63:4e:b6:d2:c6:00:32:13:27:42:9e:c9:
|
||||
3c:91:33:4d:15:90:67:7d:9d:d8:be:9b:12:e2:f6:
|
||||
1b:46:81:4a:8b:10:c5:b8:14:53:ab:6a:2c:c3:7f:
|
||||
66:87:6c:0e:18:51:4e:9c:93:7a:6d:a1:d4:06:47:
|
||||
58:61:a6:04:21:2c:bd:74:7a:e4:68:45:fe:91:fe:
|
||||
fb:a6:29:47:ec:c5:c3:88:c8:c9:e7:d7:c6:1a:0d:
|
||||
b8:f5:c5:02:57:25:01:cc:d5:8c:37:46:58:c6:71:
|
||||
30:ee:63:38:99:84:5e:9e:3c:af:40:d4:f0:f2:12:
|
||||
44:6e:2f:4d:cd:f9:da:4d:0e:1f:a6:fe:35:c3:9d:
|
||||
40:08:82:5e:6f:7d:4d:09:16:7d:a1:78:d6:9f:9f:
|
||||
44:d6:b1:ad:e7:50:25:1a:f3:4e:16:92:4a:17:5e:
|
||||
0b:e1:c8:9f:62:22:c4:e2:01:96:63:ed:37:a2:e5:
|
||||
70:b9:dc:c8:8e:c4:fe:00:21:f5:b9:48:c0:43:55:
|
||||
4a:d8:0c:9d:ce:d6:60:30:bb:81:31:c8:e9:0e:aa:
|
||||
1c:18:3d:e4:10:47:42:17:c0:4d:fb:f5:d9:c2:e4:
|
||||
07:33:f7:15:94:63:6d:11:ad:4f:d4:1d:11:41:c1:
|
||||
e2:dd
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
C7:2C:01:95:1A:F5:3E:CD:04:A6:24:35:35:04:D9:A7:16:01:2A:79
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C7:2C:01:95:1A:F5:3E:CD:04:A6:24:35:35:04:D9:A7:16:01:2A:79
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
40:6f:6a:54:f3:29:30:48:46:bd:da:46:71:64:52:14:a7:c2:
|
||||
34:b7:5e:1e:42:3d:e7:47:92:cd:87:e7:9d:5d:1a:82:77:82:
|
||||
62:32:d4:9d:b6:44:11:dc:88:78:38:a5:d3:1f:1e:be:c2:d6:
|
||||
14:b0:58:35:cd:66:22:43:97:ba:bb:e3:44:4f:9d:75:14:9f:
|
||||
6f:37:d3:50:07:09:36:bc:58:92:e8:fe:c0:a8:ba:29:55:65:
|
||||
e2:6f:8f:ab:a5:1d:4f:56:37:de:c7:b4:39:20:4c:a8:4c:db:
|
||||
56:51:12:7e:e7:7f:83:9d:c4:c7:72:8f:6f:83:f0:af:e3:37:
|
||||
1c:40:fe:5e:38:26:2f:05:46:a7:0c:a5:81:79:d6:9c:9c:d7:
|
||||
56:eb:96:fe:c7:ae:8e:4f:5e:4a:6c:3a:fa:68:be:65:60:a2:
|
||||
d3:3f:07:76:45:b3:95:3e:11:ef:3a:0e:6f:73:47:4c:90:dd:
|
||||
0b:36:b4:22:df:62:8d:58:d2:a6:34:5b:f0:06:5d:cd:bf:52:
|
||||
fa:ee:9b:4f:e8:79:18:6e:1c:6e:5f:96:10:6d:2f:02:1b:dd:
|
||||
bf:14:c9:32:3c:83:a5:6e:56:56:78:9d:ce:84:50:a4:df:cc:
|
||||
b5:a9:b1:ec:09:07:74:02:27:7a:9d:d2:96:a9:80:95:9a:f2:
|
||||
8c:e9:ef:99
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDfzCCAmegAwIBAgIJAKC1veDywIyQMA0GCSqGSIb3DQEBBQUAMFYxDzANBgNV
|
||||
BAMMBmNhY2VydDELMAkGA1UEBhMCRkkxETAPBgNVBAgMCEhlbHNpbmtpMREwDwYD
|
||||
VQQHDAhIZWxzaW5raTEQMA4GA1UECgwHTWFyaWFEQjAeFw0xNTA0MjUxNDU1MDVa
|
||||
Fw0zNTA0MjAxNDU1MDVaMFYxDzANBgNVBAMMBmNhY2VydDELMAkGA1UEBhMCRkkx
|
||||
ETAPBgNVBAgMCEhlbHNpbmtpMREwDwYDVQQHDAhIZWxzaW5raTEQMA4GA1UECgwH
|
||||
TWFyaWFEQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMAfkHwrwuoB
|
||||
k87gxXLoHAa9Y0620sYAMhMnQp7JPJEzTRWQZ32d2L6bEuL2G0aBSosQxbgUU6tq
|
||||
LMN/ZodsDhhRTpyTem2h1AZHWGGmBCEsvXR65GhF/pH++6YpR+zFw4jIyefXxhoN
|
||||
uPXFAlclAczVjDdGWMZxMO5jOJmEXp48r0DU8PISRG4vTc352k0OH6b+NcOdQAiC
|
||||
Xm99TQkWfaF41p+fRNaxredQJRrzThaSShdeC+HIn2IixOIBlmPtN6LlcLncyI7E
|
||||
/gAh9blIwENVStgMnc7WYDC7gTHI6Q6qHBg95BBHQhfATfv12cLkBzP3FZRjbRGt
|
||||
T9QdEUHB4t0CAwEAAaNQME4wHQYDVR0OBBYEFMcsAZUa9T7NBKYkNTUE2acWASp5
|
||||
MB8GA1UdIwQYMBaAFMcsAZUa9T7NBKYkNTUE2acWASp5MAwGA1UdEwQFMAMBAf8w
|
||||
DQYJKoZIhvcNAQEFBQADggEBAEBvalTzKTBIRr3aRnFkUhSnwjS3Xh5CPedHks2H
|
||||
551dGoJ3gmIy1J22RBHciHg4pdMfHr7C1hSwWDXNZiJDl7q740RPnXUUn28301AH
|
||||
CTa8WJLo/sCouilVZeJvj6ulHU9WN97HtDkgTKhM21ZREn7nf4OdxMdyj2+D8K/j
|
||||
NxxA/l44Ji8FRqcMpYF51pyc11brlv7Hro5PXkpsOvpovmVgotM/B3ZFs5U+Ee86
|
||||
Dm9zR0yQ3Qs2tCLfYo1Y0qY0W/AGXc2/Uvrum0/oeRhuHG5flhBtLwIb3b8UyTI8
|
||||
g6VuVlZ4nc6EUKTfzLWpsewJB3QCJ3qd0papgJWa8ozp75k=
|
||||
-----END CERTIFICATE-----
|
@@ -1,78 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 11580370790696127632 (0xa0b5bde0f2c08c90)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
|
||||
Validity
|
||||
Not Before: Apr 25 14:55:05 2015 GMT
|
||||
Not After : Apr 20 14:55:05 2035 GMT
|
||||
Subject: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:c0:1f:90:7c:2b:c2:ea:01:93:ce:e0:c5:72:e8:
|
||||
1c:06:bd:63:4e:b6:d2:c6:00:32:13:27:42:9e:c9:
|
||||
3c:91:33:4d:15:90:67:7d:9d:d8:be:9b:12:e2:f6:
|
||||
1b:46:81:4a:8b:10:c5:b8:14:53:ab:6a:2c:c3:7f:
|
||||
66:87:6c:0e:18:51:4e:9c:93:7a:6d:a1:d4:06:47:
|
||||
58:61:a6:04:21:2c:bd:74:7a:e4:68:45:fe:91:fe:
|
||||
fb:a6:29:47:ec:c5:c3:88:c8:c9:e7:d7:c6:1a:0d:
|
||||
b8:f5:c5:02:57:25:01:cc:d5:8c:37:46:58:c6:71:
|
||||
30:ee:63:38:99:84:5e:9e:3c:af:40:d4:f0:f2:12:
|
||||
44:6e:2f:4d:cd:f9:da:4d:0e:1f:a6:fe:35:c3:9d:
|
||||
40:08:82:5e:6f:7d:4d:09:16:7d:a1:78:d6:9f:9f:
|
||||
44:d6:b1:ad:e7:50:25:1a:f3:4e:16:92:4a:17:5e:
|
||||
0b:e1:c8:9f:62:22:c4:e2:01:96:63:ed:37:a2:e5:
|
||||
70:b9:dc:c8:8e:c4:fe:00:21:f5:b9:48:c0:43:55:
|
||||
4a:d8:0c:9d:ce:d6:60:30:bb:81:31:c8:e9:0e:aa:
|
||||
1c:18:3d:e4:10:47:42:17:c0:4d:fb:f5:d9:c2:e4:
|
||||
07:33:f7:15:94:63:6d:11:ad:4f:d4:1d:11:41:c1:
|
||||
e2:dd
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
C7:2C:01:95:1A:F5:3E:CD:04:A6:24:35:35:04:D9:A7:16:01:2A:79
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C7:2C:01:95:1A:F5:3E:CD:04:A6:24:35:35:04:D9:A7:16:01:2A:79
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
40:6f:6a:54:f3:29:30:48:46:bd:da:46:71:64:52:14:a7:c2:
|
||||
34:b7:5e:1e:42:3d:e7:47:92:cd:87:e7:9d:5d:1a:82:77:82:
|
||||
62:32:d4:9d:b6:44:11:dc:88:78:38:a5:d3:1f:1e:be:c2:d6:
|
||||
14:b0:58:35:cd:66:22:43:97:ba:bb:e3:44:4f:9d:75:14:9f:
|
||||
6f:37:d3:50:07:09:36:bc:58:92:e8:fe:c0:a8:ba:29:55:65:
|
||||
e2:6f:8f:ab:a5:1d:4f:56:37:de:c7:b4:39:20:4c:a8:4c:db:
|
||||
56:51:12:7e:e7:7f:83:9d:c4:c7:72:8f:6f:83:f0:af:e3:37:
|
||||
1c:40:fe:5e:38:26:2f:05:46:a7:0c:a5:81:79:d6:9c:9c:d7:
|
||||
56:eb:96:fe:c7:ae:8e:4f:5e:4a:6c:3a:fa:68:be:65:60:a2:
|
||||
d3:3f:07:76:45:b3:95:3e:11:ef:3a:0e:6f:73:47:4c:90:dd:
|
||||
0b:36:b4:22:df:62:8d:58:d2:a6:34:5b:f0:06:5d:cd:bf:52:
|
||||
fa:ee:9b:4f:e8:79:18:6e:1c:6e:5f:96:10:6d:2f:02:1b:dd:
|
||||
bf:14:c9:32:3c:83:a5:6e:56:56:78:9d:ce:84:50:a4:df:cc:
|
||||
b5:a9:b1:ec:09:07:74:02:27:7a:9d:d2:96:a9:80:95:9a:f2:
|
||||
8c:e9:ef:99
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDfzCCAmegAwIBAgIJAKC1veDywIyQMA0GCSqGSIb3DQEBBQUAMFYxDzANBgNV
|
||||
BAMMBmNhY2VydDELMAkGA1UEBhMCRkkxETAPBgNVBAgMCEhlbHNpbmtpMREwDwYD
|
||||
VQQHDAhIZWxzaW5raTEQMA4GA1UECgwHTWFyaWFEQjAeFw0xNTA0MjUxNDU1MDVa
|
||||
Fw0zNTA0MjAxNDU1MDVaMFYxDzANBgNVBAMMBmNhY2VydDELMAkGA1UEBhMCRkkx
|
||||
ETAPBgNVBAgMCEhlbHNpbmtpMREwDwYDVQQHDAhIZWxzaW5raTEQMA4GA1UECgwH
|
||||
TWFyaWFEQjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMAfkHwrwuoB
|
||||
k87gxXLoHAa9Y0620sYAMhMnQp7JPJEzTRWQZ32d2L6bEuL2G0aBSosQxbgUU6tq
|
||||
LMN/ZodsDhhRTpyTem2h1AZHWGGmBCEsvXR65GhF/pH++6YpR+zFw4jIyefXxhoN
|
||||
uPXFAlclAczVjDdGWMZxMO5jOJmEXp48r0DU8PISRG4vTc352k0OH6b+NcOdQAiC
|
||||
Xm99TQkWfaF41p+fRNaxredQJRrzThaSShdeC+HIn2IixOIBlmPtN6LlcLncyI7E
|
||||
/gAh9blIwENVStgMnc7WYDC7gTHI6Q6qHBg95BBHQhfATfv12cLkBzP3FZRjbRGt
|
||||
T9QdEUHB4t0CAwEAAaNQME4wHQYDVR0OBBYEFMcsAZUa9T7NBKYkNTUE2acWASp5
|
||||
MB8GA1UdIwQYMBaAFMcsAZUa9T7NBKYkNTUE2acWASp5MAwGA1UdEwQFMAMBAf8w
|
||||
DQYJKoZIhvcNAQEFBQADggEBAEBvalTzKTBIRr3aRnFkUhSnwjS3Xh5CPedHks2H
|
||||
551dGoJ3gmIy1J22RBHciHg4pdMfHr7C1hSwWDXNZiJDl7q740RPnXUUn28301AH
|
||||
CTa8WJLo/sCouilVZeJvj6ulHU9WN97HtDkgTKhM21ZREn7nf4OdxMdyj2+D8K/j
|
||||
NxxA/l44Ji8FRqcMpYF51pyc11brlv7Hro5PXkpsOvpovmVgotM/B3ZFs5U+Ee86
|
||||
Dm9zR0yQ3Qs2tCLfYo1Y0qY0W/AGXc2/Uvrum0/oeRhuHG5flhBtLwIb3b8UyTI8
|
||||
g6VuVlZ4nc6EUKTfzLWpsewJB3QCJ3qd0papgJWa8ozp75k=
|
||||
-----END CERTIFICATE-----
|
@@ -1,69 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 3 (0x3)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
|
||||
Validity
|
||||
Not Before: Apr 25 14:55:16 2015 GMT
|
||||
Not After : Apr 20 14:55:16 2035 GMT
|
||||
Subject: C=FI, ST=Helsinki, L=Helsinki, O=MariaDB, CN=client
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (1024 bit)
|
||||
Modulus:
|
||||
00:ce:a0:3d:3c:a4:bb:4f:a1:4f:91:0d:05:ac:5b:
|
||||
8a:15:7f:d7:aa:0c:a3:a7:9f:b2:c7:26:9d:65:28:
|
||||
b1:84:d3:a0:ef:9e:b1:45:0f:33:df:98:6e:71:ff:
|
||||
2b:66:9c:9c:c1:25:13:27:42:b6:20:46:e7:e7:47:
|
||||
a1:88:47:c2:9e:e2:45:25:99:9f:f9:28:1a:9a:13:
|
||||
67:5d:3e:b3:b8:fe:40:25:ac:26:49:46:2c:03:43:
|
||||
83:67:d8:0f:41:ae:2e:f4:d8:71:60:3c:8e:e7:91:
|
||||
d0:bb:2c:ca:12:da:71:1a:7b:e3:fa:8c:8f:c3:bb:
|
||||
62:55:89:b3:bf:85:45:01:61
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints:
|
||||
CA:FALSE
|
||||
Netscape Comment:
|
||||
OpenSSL Generated Certificate
|
||||
X509v3 Subject Key Identifier:
|
||||
5A:73:74:8E:14:29:C3:FB:B4:19:0F:97:8F:AA:6F:E1:E1:A8:F7:5B
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C7:2C:01:95:1A:F5:3E:CD:04:A6:24:35:35:04:D9:A7:16:01:2A:79
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
32:42:4b:36:44:a5:6c:fb:70:d8:08:2b:cb:16:34:15:db:39:
|
||||
60:7b:7e:b4:4a:bc:fb:e5:16:04:97:0d:eb:f5:68:95:da:2f:
|
||||
23:57:4c:c9:29:2b:d1:1b:1b:9f:bd:f4:79:75:df:62:7f:63:
|
||||
b4:84:7a:95:5c:c4:ee:f3:77:16:e4:0b:8a:5e:c9:64:bd:7c:
|
||||
04:50:ac:ff:9a:41:6b:b1:6a:9f:cd:45:10:72:83:10:8a:26:
|
||||
1d:7f:6c:84:34:5a:41:79:72:91:ee:87:5d:1d:3a:55:ff:91:
|
||||
7e:52:85:ff:42:41:eb:76:56:23:e5:bc:bc:79:b1:aa:4e:4c:
|
||||
bf:7b:df:63:8b:1a:3c:4b:01:72:89:35:bb:0d:92:97:16:6e:
|
||||
ae:50:cb:89:ee:c6:7a:d0:d3:32:22:0f:19:33:1e:ee:ff:41:
|
||||
a5:a1:25:c5:4c:ce:8f:98:4c:b5:2c:1f:ec:cc:f1:21:e2:3a:
|
||||
ff:7d:6a:87:fe:89:fd:2c:20:3e:fb:9b:b8:c0:f9:09:99:ce:
|
||||
45:63:82:09:1c:bb:79:d8:a8:40:21:46:c7:ae:3e:dd:89:9d:
|
||||
56:46:4a:f4:ed:7d:5b:a6:1e:a6:1b:26:f9:ec:26:b4:51:3a:
|
||||
87:b6:50:13:84:33:22:1a:8a:20:c5:44:64:b8:bb:de:32:ec:
|
||||
6b:58:db:17
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDHjCCAgagAwIBAgIBAzANBgkqhkiG9w0BAQUFADBWMQ8wDQYDVQQDDAZjYWNl
|
||||
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
|
||||
c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTUwNDI1MTQ1NTE2WhcNMzUwNDIw
|
||||
MTQ1NTE2WjBWMQswCQYDVQQGEwJGSTERMA8GA1UECAwISGVsc2lua2kxETAPBgNV
|
||||
BAcMCEhlbHNpbmtpMRAwDgYDVQQKDAdNYXJpYURCMQ8wDQYDVQQDDAZjbGllbnQw
|
||||
gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM6gPTyku0+hT5ENBaxbihV/16oM
|
||||
o6efsscmnWUosYTToO+esUUPM9+YbnH/K2acnMElEydCtiBG5+dHoYhHwp7iRSWZ
|
||||
n/koGpoTZ10+s7j+QCWsJklGLANDg2fYD0GuLvTYcWA8jueR0LssyhLacRp74/qM
|
||||
j8O7YlWJs7+FRQFhAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8W
|
||||
HU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBRac3SOFCnD
|
||||
+7QZD5ePqm/h4aj3WzAfBgNVHSMEGDAWgBTHLAGVGvU+zQSmJDU1BNmnFgEqeTAN
|
||||
BgkqhkiG9w0BAQUFAAOCAQEAMkJLNkSlbPtw2AgryxY0Fds5YHt+tEq8++UWBJcN
|
||||
6/VoldovI1dMySkr0Rsbn730eXXfYn9jtIR6lVzE7vN3FuQLil7JZL18BFCs/5pB
|
||||
a7Fqn81FEHKDEIomHX9shDRaQXlyke6HXR06Vf+RflKF/0JB63ZWI+W8vHmxqk5M
|
||||
v3vfY4saPEsBcok1uw2SlxZurlDLie7GetDTMiIPGTMe7v9BpaElxUzOj5hMtSwf
|
||||
7MzxIeI6/31qh/6J/SwgPvubuMD5CZnORWOCCRy7edioQCFGx64+3YmdVkZK9O19
|
||||
W6Yephsm+ewmtFE6h7ZQE4QzIhqKIMVEZLi73jLsa1jbFw==
|
||||
-----END CERTIFICATE-----
|
@@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXAIBAAKBgQDOoD08pLtPoU+RDQWsW4oVf9eqDKOnn7LHJp1lKLGE06DvnrFF
|
||||
DzPfmG5x/ytmnJzBJRMnQrYgRufnR6GIR8Ke4kUlmZ/5KBqaE2ddPrO4/kAlrCZJ
|
||||
RiwDQ4Nn2A9Bri702HFgPI7nkdC7LMoS2nEae+P6jI/Du2JVibO/hUUBYQIDAQAB
|
||||
AoGAa/FgLFcul3oA9BjmdtVXfMXNp8N0l3QhVFLC9P7eRjK8p5GysA4yHkQmpp0U
|
||||
UkXMykYRDHiYZqJEMhnEtEowzBmodi7go+gpwAR2eUKwESmJoBhPvqDJAbS/fL5D
|
||||
H2Wk6FGsdKoPhEpigWefu6ZqlX5GCGa601eMYLMR9i+6bbUCQQDspD4j2q8oihTU
|
||||
RQt/XpF1l+5ZRHjQOokwRekuHdq0powtNxZ+X3V8Qy8JbDRNCM2YtfKMX4gXAfZp
|
||||
JWs7HoPvAkEA34doY3AKxZSpXD84m4dnJ0/Ubfk3+tcC1EPYyDJ1DHpfz7fy6aoX
|
||||
z8TWCQXtSBGaEa9Dgbz+EFXuctLbUR8/rwJACDjIo+xEK69oe9uOQ7WgbiqCMH3N
|
||||
iMaP36p+KIkHAUHMGwIP+QIODewzpSsqQgbtRcIElFX5X3tE+XBAYoRz5wJAKH3/
|
||||
CwRg7ynfBDbvqjz9EsIDWWisG2SXvpwLyThau8fvU1GfT3Tgm2Ks4zWPpl6J6mo1
|
||||
cGssGwl2CJbp4+glQQJBAJAwvKufpB+M6OjvKh89GGsCEaV1ENJ41FPcQwJ2pjed
|
||||
Fcq28ZP59v7bfBH2IkNu3pfEzmvQnmRlTEtXGjNn+i8=
|
||||
-----END RSA PRIVATE KEY-----
|
@@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXAIBAAKBgQDOoD08pLtPoU+RDQWsW4oVf9eqDKOnn7LHJp1lKLGE06DvnrFF
|
||||
DzPfmG5x/ytmnJzBJRMnQrYgRufnR6GIR8Ke4kUlmZ/5KBqaE2ddPrO4/kAlrCZJ
|
||||
RiwDQ4Nn2A9Bri702HFgPI7nkdC7LMoS2nEae+P6jI/Du2JVibO/hUUBYQIDAQAB
|
||||
AoGAa/FgLFcul3oA9BjmdtVXfMXNp8N0l3QhVFLC9P7eRjK8p5GysA4yHkQmpp0U
|
||||
UkXMykYRDHiYZqJEMhnEtEowzBmodi7go+gpwAR2eUKwESmJoBhPvqDJAbS/fL5D
|
||||
H2Wk6FGsdKoPhEpigWefu6ZqlX5GCGa601eMYLMR9i+6bbUCQQDspD4j2q8oihTU
|
||||
RQt/XpF1l+5ZRHjQOokwRekuHdq0powtNxZ+X3V8Qy8JbDRNCM2YtfKMX4gXAfZp
|
||||
JWs7HoPvAkEA34doY3AKxZSpXD84m4dnJ0/Ubfk3+tcC1EPYyDJ1DHpfz7fy6aoX
|
||||
z8TWCQXtSBGaEa9Dgbz+EFXuctLbUR8/rwJACDjIo+xEK69oe9uOQ7WgbiqCMH3N
|
||||
iMaP36p+KIkHAUHMGwIP+QIODewzpSsqQgbtRcIElFX5X3tE+XBAYoRz5wJAKH3/
|
||||
CwRg7ynfBDbvqjz9EsIDWWisG2SXvpwLyThau8fvU1GfT3Tgm2Ks4zWPpl6J6mo1
|
||||
cGssGwl2CJbp4+glQQJBAJAwvKufpB+M6OjvKh89GGsCEaV1ENJ41FPcQwJ2pjed
|
||||
Fcq28ZP59v7bfBH2IkNu3pfEzmvQnmRlTEtXGjNn+i8=
|
||||
-----END RSA PRIVATE KEY-----
|
@@ -1,74 +0,0 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
Issuer: CN=cacert, C=FI, ST=Helsinki, L=Helsinki, O=MariaDB
|
||||
Validity
|
||||
Not Before: Apr 25 14:55:05 2015 GMT
|
||||
Not After : Apr 20 14:55:05 2035 GMT
|
||||
Subject: C=FI, ST=state or province within country, in other certificates in this file it is the same as L, L=location, usually an address but often ambiguously used, O=organization name, typically a company name, OU=organizational unit name, a division name within an organization, CN=localhost
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (1024 bit)
|
||||
Modulus:
|
||||
00:aa:e6:54:bd:dd:52:1e:16:f7:24:52:37:58:2b:
|
||||
a7:af:49:e1:cd:75:2a:18:52:e1:48:f0:59:82:c0:
|
||||
7a:d9:66:b3:97:04:b3:77:f4:39:fd:d1:c0:1a:c5:
|
||||
a6:ab:44:84:d2:17:39:53:25:63:9b:c3:24:78:51:
|
||||
5c:77:6b:df:b4:82:1d:e4:43:f4:67:0a:5d:89:a2:
|
||||
fe:b0:ea:64:3a:1d:9d:49:78:c8:7f:79:a5:cd:45:
|
||||
4b:0c:ad:ae:4f:e2:d4:5d:ec:e8:73:06:ed:98:92:
|
||||
85:49:b2:9c:31:3b:44:38:5f:bb:5a:f1:68:84:a9:
|
||||
c3:5b:31:39:d4:47:98:38:55
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Basic Constraints:
|
||||
CA:FALSE
|
||||
Netscape Comment:
|
||||
OpenSSL Generated Certificate
|
||||
X509v3 Subject Key Identifier:
|
||||
E5:72:8F:57:72:D6:75:63:28:7F:E2:BF:00:B7:1D:B8:AA:FE:94:59
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:C7:2C:01:95:1A:F5:3E:CD:04:A6:24:35:35:04:D9:A7:16:01:2A:79
|
||||
|
||||
Signature Algorithm: sha1WithRSAEncryption
|
||||
88:44:46:fa:7d:16:ae:9d:16:5b:95:26:03:3c:71:f4:29:3d:
|
||||
df:cb:f4:14:20:9f:87:24:b4:29:17:2d:7a:12:48:76:ac:00:
|
||||
44:26:ba:93:83:ad:58:7e:b7:77:e4:b0:32:0d:e5:dd:fb:cc:
|
||||
0e:9b:88:e0:24:82:e4:41:43:47:5a:4e:d3:b4:5b:47:4b:57:
|
||||
eb:67:02:63:bb:dd:05:12:f5:95:01:0b:89:81:ca:c2:91:14:
|
||||
21:9a:9e:c9:84:91:46:35:0e:26:44:1e:91:88:74:4f:fe:d3:
|
||||
19:9e:65:fa:46:e2:46:04:ad:91:79:4c:70:1b:68:b2:49:e9:
|
||||
6c:f4:58:44:3b:43:15:85:56:64:1b:84:74:49:95:9f:cd:93:
|
||||
9d:8e:69:ab:ca:46:97:b6:74:e9:2a:83:85:62:cd:e5:be:c3:
|
||||
52:bd:cf:90:cc:60:27:76:ee:1b:3c:da:69:73:e2:11:68:14:
|
||||
dc:7d:9f:b8:6f:20:a2:0c:b7:8e:33:40:89:d1:a3:89:e2:60:
|
||||
6a:ec:b5:9f:e8:c5:55:10:40:b2:95:5e:54:8a:10:8e:d5:90:
|
||||
d9:98:86:d8:f9:b6:01:41:8c:d7:0d:0e:86:0e:50:6d:a2:64:
|
||||
00:2a:91:5e:35:64:15:e3:86:34:3a:39:eb:0f:4f:56:c7:15:
|
||||
4c:74:2e:91
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEETCCAvmgAwIBAgIBATANBgkqhkiG9w0BAQUFADBWMQ8wDQYDVQQDDAZjYWNl
|
||||
cnQxCzAJBgNVBAYTAkZJMREwDwYDVQQIDAhIZWxzaW5raTERMA8GA1UEBwwISGVs
|
||||
c2lua2kxEDAOBgNVBAoMB01hcmlhREIwHhcNMTUwNDI1MTQ1NTA1WhcNMzUwNDIw
|
||||
MTQ1NTA1WjCCAUcxCzAJBgNVBAYTAkZJMWEwXwYDVQQIDFhzdGF0ZSBvciBwcm92
|
||||
aW5jZSB3aXRoaW4gY291bnRyeSwgaW4gb3RoZXIgY2VydGlmaWNhdGVzIGluIHRo
|
||||
aXMgZmlsZSBpdCBpcyB0aGUgc2FtZSBhcyBMMUAwPgYDVQQHDDdsb2NhdGlvbiwg
|
||||
dXN1YWxseSBhbiBhZGRyZXNzIGJ1dCBvZnRlbiBhbWJpZ3VvdXNseSB1c2VkMTQw
|
||||
MgYDVQQKDCtvcmdhbml6YXRpb24gbmFtZSwgdHlwaWNhbGx5IGEgY29tcGFueSBu
|
||||
YW1lMUkwRwYDVQQLDEBvcmdhbml6YXRpb25hbCB1bml0IG5hbWUsIGEgZGl2aXNp
|
||||
b24gbmFtZSB3aXRoaW4gYW4gb3JnYW5pemF0aW9uMRIwEAYDVQQDDAlsb2NhbGhv
|
||||
c3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKrmVL3dUh4W9yRSN1grp69J
|
||||
4c11KhhS4UjwWYLAetlms5cEs3f0Of3RwBrFpqtEhNIXOVMlY5vDJHhRXHdr37SC
|
||||
HeRD9GcKXYmi/rDqZDodnUl4yH95pc1FSwytrk/i1F3s6HMG7ZiShUmynDE7RDhf
|
||||
u1rxaISpw1sxOdRHmDhVAgMBAAGjezB5MAkGA1UdEwQCMAAwLAYJYIZIAYb4QgEN
|
||||
BB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBTlco9X
|
||||
ctZ1Yyh/4r8Atx24qv6UWTAfBgNVHSMEGDAWgBTHLAGVGvU+zQSmJDU1BNmnFgEq
|
||||
eTANBgkqhkiG9w0BAQUFAAOCAQEAiERG+n0Wrp0WW5UmAzxx9Ck938v0FCCfhyS0
|
||||
KRctehJIdqwARCa6k4OtWH63d+SwMg3l3fvMDpuI4CSC5EFDR1pO07RbR0tX62cC
|
||||
Y7vdBRL1lQELiYHKwpEUIZqeyYSRRjUOJkQekYh0T/7TGZ5l+kbiRgStkXlMcBto
|
||||
sknpbPRYRDtDFYVWZBuEdEmVn82TnY5pq8pGl7Z06SqDhWLN5b7DUr3PkMxgJ3bu
|
||||
GzzaaXPiEWgU3H2fuG8gogy3jjNAidGjieJgauy1n+jFVRBAspVeVIoQjtWQ2ZiG
|
||||
2Pm2AUGM1w0Ohg5QbaJkACqRXjVkFeOGNDo56w9PVscVTHQukQ==
|
||||
-----END CERTIFICATE-----
|
@@ -1,15 +0,0 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIICXAIBAAKBgQCq5lS93VIeFvckUjdYK6evSeHNdSoYUuFI8FmCwHrZZrOXBLN3
|
||||
9Dn90cAaxaarRITSFzlTJWObwyR4UVx3a9+0gh3kQ/RnCl2Jov6w6mQ6HZ1JeMh/
|
||||
eaXNRUsMra5P4tRd7OhzBu2YkoVJspwxO0Q4X7ta8WiEqcNbMTnUR5g4VQIDAQAB
|
||||
AoGAblQWXyBzdBN1Z5BgRF6ieYpj6OT70QoogJMR5lRmutUPma4iQo17pr3znBT/
|
||||
nU+1w3/UtTXNEXCwqbA01q/gkbP2PaW/sbHLVow1B7u/o42WW6I3Btnl3ClnCNjD
|
||||
Mo7/Gj027hhp7mC61r81JeJVh8fJUgxdNqoH7AkDnA+FJAECQQDjIl3k6W2P+bHb
|
||||
bp+8eyY7ITQbppZh+3hFJKRL7DZKFYL5J6gejiBURnG9DKnhoSP2nqzqdrRhWZhB
|
||||
ZHr+ciEBAkEAwJ5rMpFoIwRzgPD4Q4iSqHcBbFcJE7dK1XLq6MYUVNQGfDU8pBvI
|
||||
EocXphpsJ8CbR35dGDY19rmO2LjG3RBDVQJAetRN9Inrjw2YCjNzvKjYTuew1zcq
|
||||
YghszO94zfoKjdu+PWEdwJBZmVmTDoo3oGXVHfxHRHA3MeISvWJKRSmRAQJAHL9H
|
||||
9msXJKrEZkkQdFvMr5HbR4UR2LxxUbvt7UGqxSJDuYPkggWXbZR15hdpbuFjC1+D
|
||||
m1pz4Ve+RwAExfdoZQJBANfmuWtlLU+SMpDG4zOyC7u4dz+TtnEOfDUECFNZtqvU
|
||||
MWz98MIXAjiBDYU1Z0BrA7b0/FVsPR3t6JZFQWWI2y8=
|
||||
-----END RSA PRIVATE KEY-----
|
@@ -34,7 +34,7 @@ static int test_conc66(MYSQL *my)
|
||||
FILE *fp;
|
||||
char query[1024];
|
||||
|
||||
if (!(fp= fopen("./my.cnf", "w")))
|
||||
if (!(fp= fopen("./ma_test.cnf", "w")))
|
||||
return FAIL;
|
||||
|
||||
fprintf(fp, "[notmygroup]\n");
|
||||
@@ -49,7 +49,7 @@ static int test_conc66(MYSQL *my)
|
||||
|
||||
rc= mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP, "conc-66");
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_options(mysql, MYSQL_READ_DEFAULT_FILE, "./my.cnf");
|
||||
rc= mysql_options(mysql, MYSQL_READ_DEFAULT_FILE, "./ma_test.cnf");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
sprintf(query, "GRANT ALL ON %s.* TO 'conc66'@'%s' IDENTIFIED BY 'test\";#test'", schema, hostname ? hostname : "localhost");
|
||||
@@ -69,6 +69,7 @@ static int test_conc66(MYSQL *my)
|
||||
|
||||
check_mysql_rc(rc, my);
|
||||
mysql_close(mysql);
|
||||
remove("./ma_test.cnf");
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -693,7 +694,7 @@ int test_connection_timeout3(MYSQL *unused __attribute__((unused)))
|
||||
mysql_options(mysql, MYSQL_OPT_WRITE_TIMEOUT, (unsigned int *)&read_write_timeout);
|
||||
mysql_options(mysql, MYSQL_INIT_COMMAND, "set @a:=SLEEP(6)");
|
||||
start= time(NULL);
|
||||
if (my_test_connect(mysql, hostname, username, password, schema, port, NULL, CLIENT_REMEMBER_OPTIONS))
|
||||
if (my_test_connect(mysql, hostname, username, password, schema, port, socketname, CLIENT_REMEMBER_OPTIONS))
|
||||
{
|
||||
diag("timeout error expected");
|
||||
elapsed= time(NULL) - start;
|
||||
@@ -710,7 +711,7 @@ int test_connection_timeout3(MYSQL *unused __attribute__((unused)))
|
||||
mysql_options(mysql, MYSQL_OPT_READ_TIMEOUT, (unsigned int *)&read_write_timeout);
|
||||
mysql_options(mysql, MYSQL_OPT_WRITE_TIMEOUT, (unsigned int *)&read_write_timeout);
|
||||
|
||||
if (!my_test_connect(mysql, hostname, username, password, schema, port, NULL, CLIENT_REMEMBER_OPTIONS))
|
||||
if (!my_test_connect(mysql, hostname, username, password, schema, port, socketname, CLIENT_REMEMBER_OPTIONS))
|
||||
{
|
||||
diag("Error: %s", mysql_error(mysql));
|
||||
return FAIL;
|
||||
@@ -823,6 +824,8 @@ static int test_bind_address(MYSQL *my)
|
||||
return FAIL;
|
||||
}
|
||||
diag("%s", mysql_get_host_info(mysql));
|
||||
sprintf(query, "DROP USER '%s'@'%s'", username, bind_addr);
|
||||
rc= mysql_query(my, query);
|
||||
mysql_close(mysql);
|
||||
return OK;
|
||||
}
|
||||
@@ -919,6 +922,10 @@ static int test_sess_track_db(MYSQL *mysql)
|
||||
int rc;
|
||||
const char *data;
|
||||
size_t len;
|
||||
char query[140];
|
||||
|
||||
diag("fixes not merged");
|
||||
return SKIP;
|
||||
|
||||
if (!(mysql->server_capabilities & CLIENT_SESSION_TRACKING))
|
||||
{
|
||||
@@ -934,13 +941,17 @@ static int test_sess_track_db(MYSQL *mysql)
|
||||
"session_track_get_first failed");
|
||||
FAIL_IF(strncmp(data, "mysql", len), "Expected new schema 'mysql'");
|
||||
|
||||
rc= mysql_query(mysql, "USE testc");
|
||||
snprintf(query, 139, "USE %s", schema);
|
||||
rc= mysql_query(mysql, query);
|
||||
check_mysql_rc(rc, mysql);
|
||||
FAIL_IF(strcmp(mysql->db, "testc"), "Expected new schema 'testc'");
|
||||
FAIL_IF(strcmp(mysql->db, schema), "Expected new schema 'testc'");
|
||||
|
||||
FAIL_IF(mysql_session_track_get_first(mysql, SESSION_TRACK_SCHEMA, &data, &len),
|
||||
"session_track_get_first failed");
|
||||
FAIL_IF(strncmp(data, "testc", len), "Expected new schema 'testc'");
|
||||
FAIL_IF(strncmp(data, schema, len), "Expected new schema 'testc'");
|
||||
|
||||
rc= mysql_query(mysql, "DROP SCHEMA testc");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
diag("charset: %s", mysql->charset->csname);
|
||||
rc= mysql_query(mysql, "SET NAMES utf8");
|
||||
@@ -1052,6 +1063,9 @@ static int test_reset(MYSQL *mysql)
|
||||
|
||||
mysql_free_result(res);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -1076,6 +1090,7 @@ struct my_tests_st my_tests[] = {
|
||||
{"test_connection_timeout", test_connection_timeout, TEST_CONNECTION_NONE, 0, NULL, NULL},
|
||||
{"test_connection_timeout2", test_connection_timeout2, TEST_CONNECTION_NONE, 0, NULL, NULL},
|
||||
{"test_connection_timeout3", test_connection_timeout3, TEST_CONNECTION_NONE, 0, NULL, NULL},
|
||||
|
||||
{NULL, NULL, 0, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
|
@@ -227,6 +227,9 @@ static int test_cuted_rows(MYSQL *mysql)
|
||||
rc++;
|
||||
FAIL_UNLESS(rc == 2, "rowcount != 2");
|
||||
mysql_free_result(result);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE t1, t2");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@@ -59,6 +59,9 @@ static int execute_direct(MYSQL *mysql)
|
||||
|
||||
mysql_free_result(res);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -97,6 +100,9 @@ static int execute_direct_example(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE execute_direct");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -147,8 +153,6 @@ static int conc_212(MYSQL *mysql)
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc,mysql);
|
||||
|
||||
rc= mysql_query(mysql, "CREATE TABLE t1(a int)");
|
||||
check_mysql_rc(rc,mysql);
|
||||
|
||||
rc= mysql_stmt_close(stmt);
|
||||
|
||||
|
@@ -636,6 +636,9 @@ static int test_fetch_null(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 3, "Expected 3 rows");
|
||||
mysql_stmt_close(stmt);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE test_fetch_null");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -760,6 +763,8 @@ static int test_fetch_date(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -782,7 +787,9 @@ static int test_fetch_str(MYSQL *mysql)
|
||||
c7 char(20))");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return bind_fetch(mysql, 3);
|
||||
rc= bind_fetch(mysql, 3);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* Test fetching of long to all types */
|
||||
@@ -801,7 +808,9 @@ static int test_fetch_long(MYSQL *mysql)
|
||||
c6 int unsigned, \
|
||||
c7 int)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return bind_fetch(mysql, 4);
|
||||
rc= bind_fetch(mysql, 4);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -821,7 +830,9 @@ static int test_fetch_short(MYSQL *mysql)
|
||||
c6 smallint, \
|
||||
c7 smallint unsigned)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return bind_fetch(mysql, 5);
|
||||
rc= bind_fetch(mysql, 5);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -842,7 +853,9 @@ static int test_fetch_tiny(MYSQL *mysql)
|
||||
c6 tinyint, \
|
||||
c7 tinyint unsigned)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return bind_fetch(mysql, 3);
|
||||
rc= bind_fetch(mysql, 3);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -863,7 +876,9 @@ static int test_fetch_bigint(MYSQL *mysql)
|
||||
c6 bigint unsigned, \
|
||||
c7 bigint unsigned)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return bind_fetch(mysql, 2);
|
||||
rc= bind_fetch(mysql, 2);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -885,7 +900,9 @@ static int test_fetch_float(MYSQL *mysql)
|
||||
c7 float(10) unsigned)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return bind_fetch(mysql, 2);
|
||||
rc= bind_fetch(mysql, 2);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -902,7 +919,9 @@ static int test_fetch_double(MYSQL *mysql)
|
||||
"c4 double unsigned, c5 double unsigned, "
|
||||
"c6 double unsigned, c7 double unsigned)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return bind_fetch(mysql, 3);
|
||||
rc= bind_fetch(mysql, 3);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_fetch");
|
||||
return rc;
|
||||
}
|
||||
|
||||
struct my_tests_st my_tests[] = {
|
||||
|
@@ -704,6 +704,12 @@ static int test_wl4284_1(MYSQL *mysql)
|
||||
return SKIP;
|
||||
}
|
||||
|
||||
if (!rc)
|
||||
{
|
||||
diag("InnoDB Storage engine not available");
|
||||
return SKIP;
|
||||
}
|
||||
|
||||
/* set AUTOCOMMIT to OFF */
|
||||
rc= mysql_autocommit(mysql, FALSE);
|
||||
check_mysql_rc(rc, mysql);
|
||||
@@ -712,8 +718,16 @@ static int test_wl4284_1(MYSQL *mysql)
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
rc= mysql_query(mysql, "CREATE TABLE trans (a INT) ENGINE=InnoDB");
|
||||
|
||||
if (mysql_errno(mysql) == ER_UNKNOWN_STORAGE_ENGINE)
|
||||
{
|
||||
diag("InnoDB not configured or available");
|
||||
return SKIP;
|
||||
}
|
||||
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
|
||||
rc= mysql_query(mysql, "INSERT INTO trans VALUES(1)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
@@ -804,6 +818,8 @@ static int test_conc49(MYSQL *mysql)
|
||||
rc= (int)mysql_num_rows(res);
|
||||
mysql_free_result(res);
|
||||
FAIL_IF(rc != 3, "3 rows expected");
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS conc49");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@@ -30,6 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
#include <string.h>
|
||||
#include <errmsg.h>
|
||||
#include <stdlib.h>
|
||||
#include <ma_server_error.h>
|
||||
|
||||
#ifndef WIN32
|
||||
#include <pthread.h>
|
||||
@@ -362,9 +363,8 @@ void get_options(int argc, char **argv)
|
||||
exit(0);
|
||||
break;
|
||||
default:
|
||||
printf("Unknown option %c\n", c);
|
||||
usage();
|
||||
exit(0);
|
||||
BAIL_OUT("Unknown option %c\n", c);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -403,8 +403,7 @@ MYSQL *test_connect(struct my_tests_st *test)
|
||||
int timeout= 10;
|
||||
my_bool truncation_report= 1;
|
||||
if (!(mysql = mysql_init(NULL))) {
|
||||
diag("%s", "mysql_init failed - exiting");
|
||||
return(NULL);
|
||||
BAIL_OUT("Not enough memory available - mysql_init failed");
|
||||
}
|
||||
mysql_options(mysql, MYSQL_REPORT_DATA_TRUNCATION, &truncation_report);
|
||||
mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, &timeout);
|
||||
@@ -457,18 +456,32 @@ void get_envvars() {
|
||||
hostname= envvar;
|
||||
if (!username && (envvar= getenv("MYSQL_TEST_USER")))
|
||||
username= envvar;
|
||||
else
|
||||
username= (char *)"root";
|
||||
if (!password && (envvar= getenv("MYSQL_TEST_PASSWD")))
|
||||
password= envvar;
|
||||
if (!schema && (envvar= getenv("MYSQL_TEST_DB")))
|
||||
schema= envvar;
|
||||
if (!schema)
|
||||
schema= "testc";
|
||||
if (!port && (envvar= getenv("MYSQL_TEST_PORT")))
|
||||
schema= "test";
|
||||
if (!port)
|
||||
{
|
||||
if ((envvar= getenv("MYSQL_TEST_PORT")))
|
||||
port= atoi(envvar);
|
||||
else if ((envvar= getenv("MASTER_MYPORT")))
|
||||
port= atoi(envvar);
|
||||
diag("port: %d", port);
|
||||
}
|
||||
if (!force_tls && (envvar= getenv("MYSQL_TEST_TLS")))
|
||||
force_tls= atoi(envvar);
|
||||
if (!socketname && (envvar= getenv("MYSQL_TEST_SOCKET")))
|
||||
if (!socketname)
|
||||
{
|
||||
if ((envvar= getenv("MYSQL_TEST_SOCKET")))
|
||||
socketname= envvar;
|
||||
else if ((envvar= getenv("MASTER_MYSOCK")))
|
||||
socketname= envvar;
|
||||
diag("socketname: %s", socketname);
|
||||
}
|
||||
}
|
||||
|
||||
MYSQL *my_test_connect(MYSQL *mysql,
|
||||
@@ -509,8 +522,7 @@ void run_tests(struct my_tests_st *test) {
|
||||
}
|
||||
else
|
||||
{
|
||||
diag("Can't connect to a server. Aborting....");
|
||||
exit(-1);
|
||||
BAIL_OUT("Can't connect to a server. Aborting....");
|
||||
}
|
||||
|
||||
for (i=0; i < total; i++) {
|
||||
|
@@ -378,6 +378,8 @@ static int test_prepare_simple(MYSQL *mysql)
|
||||
/* now fetch the results ..*/
|
||||
rc= mysql_commit(mysql);
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_simple");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -431,6 +433,8 @@ static int test_prepare_field_result(MYSQL *mysql)
|
||||
FAIL_IF(mysql_num_fields(result) != 5, "Paramcount != 5");
|
||||
mysql_free_result(result);
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_field_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
|
||||
@@ -472,6 +476,8 @@ static int test_prepare_syntax(MYSQL *mysql)
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_syntax");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -636,6 +642,8 @@ static int test_prepare(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "MYSQL_NO_DATA expected");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_prepare");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -778,6 +786,8 @@ static int test_prepare_ext(MYSQL *mysql)
|
||||
FAIL_UNLESS(nData == rowcount, "Invalid rowcount");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_ext");
|
||||
check_mysql_rc(rc, mysql)
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -840,6 +850,8 @@ static int test_prepare_alter(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 4, "rowcount != 4");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_alter");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -872,6 +884,8 @@ static int test_prepare_resultset(MYSQL *mysql)
|
||||
FAIL_IF(!result, "Invalid resultset");
|
||||
mysql_free_result(result);
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prepare_resultset");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1067,6 +1081,8 @@ static int test_select_show(MYSQL *mysql)
|
||||
FAIL_IF(rowcount != 1, "rowcount != 1");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_show");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1149,6 +1165,8 @@ static int test_simple_update(MYSQL *mysql)
|
||||
FAIL_IF(rowcount != 1, "rowcount != 1");
|
||||
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_update");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1244,6 +1262,8 @@ static int test_long_data(MYSQL *mysql)
|
||||
goto error;
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
|
||||
error:
|
||||
@@ -1593,6 +1613,8 @@ static int test_long_data_bin(MYSQL *mysql)
|
||||
FAIL_IF(rowcount != 1, "rowcount != 1");
|
||||
mysql_free_result(result);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_long_data_bin");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -1678,6 +1700,8 @@ static int test_simple_delete(MYSQL *mysql)
|
||||
|
||||
FAIL_IF(rowcount, "rowcount > 0");
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_simple_delete");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1780,6 +1804,8 @@ static int test_update(MYSQL *mysql)
|
||||
rowcount++;
|
||||
FAIL_IF(rowcount != 1, "rowcount != 1");
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_update");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1832,6 +1858,8 @@ static int test_prepare_noparam(MYSQL *mysql)
|
||||
|
||||
FAIL_IF(rowcount != 1, "rowcount != 1");
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS my_prepare");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1918,6 +1946,8 @@ static int test_bind_result(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "MYSQL_NO_DATA expected");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -2021,6 +2051,8 @@ static int test_bind_result_ext(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "MYSQL_NO_DATA expected");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -2144,6 +2176,8 @@ static int test_bind_result_ext1(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "MYSQL_NO_DATA expected");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bind_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -2277,6 +2311,8 @@ static int test_buffers(MYSQL *mysql)
|
||||
FAIL_UNLESS(length == 7, "length != 7");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_buffer");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -2692,6 +2728,9 @@ static int test_insert(MYSQL *mysql)
|
||||
FAIL_UNLESS((int) tiny_data == rc, "rowcount != tinydata");
|
||||
mysql_free_result(result);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_prep_insert");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -2984,7 +3023,6 @@ static int test_date(MYSQL *mysql)
|
||||
{
|
||||
int rc;
|
||||
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
@@ -2995,7 +3033,9 @@ static int test_date(MYSQL *mysql)
|
||||
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return test_bind_date_conv(mysql, 5);
|
||||
rc= test_bind_date_conv(mysql, 5);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -3016,7 +3056,9 @@ static int test_date_date(MYSQL *mysql)
|
||||
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return test_bind_date_conv(mysql, 3);
|
||||
rc= test_bind_date_conv(mysql, 3);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* Test all time types to TIMESTAMP and TIMESTAMP to all types */
|
||||
@@ -3036,7 +3078,9 @@ static int test_date_ts(MYSQL *mysql)
|
||||
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return test_bind_date_conv(mysql, 2);
|
||||
rc= test_bind_date_conv(mysql, 2);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
||||
@@ -3054,7 +3098,9 @@ static int test_date_dt(MYSQL *mysql)
|
||||
" c2 datetime, c3 datetime, c4 date)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return test_bind_date_conv(mysql, 2);
|
||||
rc= test_bind_date_conv(mysql, 2);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
|
||||
return rc;
|
||||
}
|
||||
|
||||
/* Test all time types to TIME and TIME to all types */
|
||||
@@ -3074,7 +3120,9 @@ static int test_date_time(MYSQL *mysql)
|
||||
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return test_bind_date_conv(mysql, 3);
|
||||
rc= test_bind_date_conv(mysql, 3);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS test_date");
|
||||
return rc;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -3447,6 +3495,8 @@ static int test_double_compare(MYSQL *mysql)
|
||||
rc++;
|
||||
FAIL_UNLESS((int)tiny_data == rc, "rowcount != tinydata");
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_double_compare");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3665,6 +3715,8 @@ static int test_multi_stmt(MYSQL *mysql)
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
mysql_stmt_close(stmt2);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_multi_table");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -3840,6 +3892,8 @@ static int test_null(MYSQL *mysql)
|
||||
}
|
||||
FAIL_UNLESS(rc == (int) nData, "rc != nData");
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_null");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4055,6 +4109,8 @@ static int test_select(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 1, "rc != 1");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4124,6 +4180,8 @@ static int test_select_prepare(MYSQL *mysql)
|
||||
rc++;
|
||||
FAIL_UNLESS(rc == 1, "rowcount != 1");
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4292,6 +4350,8 @@ static int test_set_option(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 4, "rowcount != 4");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_limit");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4518,6 +4578,8 @@ static int test_sqlmode(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_piping");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4622,6 +4684,8 @@ static int test_stmt_close(MYSQL *mysql)
|
||||
rc++;
|
||||
FAIL_UNLESS(rc == 1, "rwcount != 1");
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_stmt_close");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4668,6 +4732,8 @@ static int test_new_date(MYSQL *mysql)
|
||||
FAIL_IF(rc != MYSQL_NO_DATA, "NO DATA expected");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4706,6 +4772,8 @@ static int test_long_data1(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
rc= mysql_stmt_close(stmt);
|
||||
check_stmt_rc(rc, stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS tld");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4736,6 +4804,8 @@ int test_blob_9000(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS tb9000");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4899,6 +4969,8 @@ static int test_bit2tiny(MYSQL *mysql)
|
||||
|
||||
mysql_stmt_free_result(stmt);
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS justbit");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@@ -99,6 +99,8 @@ static int test_conc67(MYSQL *mysql)
|
||||
FAIL_IF(rc != MYSQL_NO_DATA, "Eof expected");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS conc67");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -214,6 +216,8 @@ session_id char(9) NOT NULL, \
|
||||
FAIL_IF(rowcount != 1, "rowcount != 1");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -306,6 +310,8 @@ static int test_bug1180(MYSQL *mysql)
|
||||
FAIL_IF(rowcount != 0, "rowcount != 0");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_select");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -414,6 +420,8 @@ static int test_bug1644(MYSQL *mysql)
|
||||
FAIL_IF(row, "row != NULL");
|
||||
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS foo_dfr");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -657,6 +665,8 @@ static int test_bug1500(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 1, "rowcount != 1");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_bg1500");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1041,6 +1051,8 @@ static int test_ushort_bug(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_ushort");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1186,6 +1198,8 @@ static int test_bug2247(MYSQL *mysql)
|
||||
FAIL_UNLESS(exp_count == mysql_stmt_affected_rows(stmt), "affected_rows != exp_count");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, drop);
|
||||
check_mysql_rc(rc, mysql)
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -1363,6 +1377,7 @@ static int test_bug27592(MYSQL *mysql)
|
||||
}
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1656,6 +1671,8 @@ static int test_ps_conj_select(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 3, "rc != 3");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "drop table if exists t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -1732,6 +1749,8 @@ static int test_ps_null_param(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
mysql_stmt_close(stmt);
|
||||
}
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_ps_nulls");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3281,6 +3300,8 @@ static int test_mem_overun(MYSQL *mysql)
|
||||
mysql_free_result(field_res);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "drop table if exists t_mem_overun");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3316,7 +3337,9 @@ static int test_bug8722(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
mysql_stmt_close(stmt);
|
||||
stmt_text= "drop table if exists t1, v1";
|
||||
rc= mysql_real_query(mysql, stmt_text, strlen(stmt_text));
|
||||
rc= mysql_query(mysql, "DROP TABLE t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "DROP VIEW v1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
@@ -3420,6 +3443,8 @@ static int test_decimal_bug(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "drop table if exists test_decimal_bug");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3585,6 +3610,8 @@ static int test_explain_bug(MYSQL *mysql)
|
||||
|
||||
mysql_free_result(result);
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_explain");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
error:
|
||||
mysql_free_result(result);
|
||||
@@ -3664,6 +3691,8 @@ static int test_sshort_bug(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_sshort");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3741,6 +3770,8 @@ static int test_stiny_bug(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_stiny");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3779,6 +3810,8 @@ static int test_bug53311(MYSQL *mysql)
|
||||
FAIL_IF(mysql_stmt_errno(stmt) == 0, "Errno != 0 expected");
|
||||
rc= mysql_stmt_close(stmt);
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS bug53311");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -3905,6 +3938,10 @@ static int test_conc141(MYSQL *mysql)
|
||||
rc= mysql_stmt_execute(stmt);
|
||||
check_stmt_rc(rc, stmt);
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS conc141");
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "DROP PROCEDURE IF EXISTS p_conc141");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4007,6 +4044,8 @@ static int test_conc154(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -4052,6 +4091,8 @@ static int test_conc155(MYSQL *mysql)
|
||||
}
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4097,6 +4138,8 @@ static int test_conc168(MYSQL *mysql)
|
||||
FAIL_IF(strcmp(buffer, "2016-03-09 07:51:49.010"), "expected: 2016-03-09 07:51:49.010");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS conc168");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4222,6 +4265,8 @@ static int test_conc177(MYSQL *mysql)
|
||||
|
||||
FAIL_IF(strcmp(buf1, "00000001"), "Expected 00000001");
|
||||
FAIL_IF(strcmp(buf2, "0001"), "Expected 0001");
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4245,6 +4290,8 @@ static int test_conc179(MYSQL *mysql)
|
||||
FAIL_IF(mysql_stmt_warning_count(stmt) < 2, "expected 2 or more warnings");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -4293,6 +4340,8 @@ static int test_conc182(MYSQL *mysql)
|
||||
while(!mysql_stmt_fetch(stmt))
|
||||
diag("b1: %s", buf1);
|
||||
rc= mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -4330,6 +4379,8 @@ static int test_conc181(MYSQL *mysql)
|
||||
diag("rc=%d err=%d float=%f, %d", rc, err, f, MYSQL_DATA_TRUNCATED);
|
||||
|
||||
rc= mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@@ -126,6 +126,8 @@ static int test_multi_result(MYSQL *mysql)
|
||||
FAIL_IF(mysql_stmt_field_count(stmt) != 0, "expected 0 fields");
|
||||
|
||||
rc= mysql_stmt_close(stmt);
|
||||
rc = mysql_query(mysql, "DROP PROCEDURE IF EXISTS p1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -413,6 +415,8 @@ int test_sp_reset2(MYSQL *mysql)
|
||||
|
||||
rc= mysql_query(mysql, "DROP PROCEDURE p1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -477,6 +481,8 @@ int test_query(MYSQL *mysql)
|
||||
check_stmt_rc(rc, stmt);
|
||||
}
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP PROCEDURE IF EXISTS p1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
@@ -356,6 +356,8 @@ static int test_store_result(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -413,6 +415,8 @@ static int test_store_result1(MYSQL *mysql)
|
||||
FAIL_UNLESS(rc == 3, "rowcount != 3");
|
||||
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -495,6 +499,8 @@ static int test_store_result2(MYSQL *mysql)
|
||||
rc= mysql_stmt_fetch(stmt);
|
||||
FAIL_UNLESS(rc == MYSQL_NO_DATA, "rc != MYSQL_NO_DATA");
|
||||
mysql_stmt_close(stmt);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_store_result");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -689,6 +695,8 @@ static int test_field_flags(MYSQL *mysql)
|
||||
FAIL_UNLESS(field->flags & NOT_NULL_FLAG, "Wrong flags for field 4");
|
||||
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_flags");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -737,6 +745,11 @@ static int test_field_names(MYSQL *mysql)
|
||||
rc++;
|
||||
FAIL_UNLESS(rc == 0, "rowcount != 0");
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_names1");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_field_names2");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -809,6 +822,8 @@ static int test_func_fields(MYSQL *mysql)
|
||||
FAIL_IF(field, "no more fields expected");
|
||||
|
||||
mysql_free_result(result);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS test_dateformat");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
|
@@ -20,16 +20,25 @@
|
||||
#include "my_test.h"
|
||||
#include <ma_pthread.h>
|
||||
|
||||
#define FNLEN 4096
|
||||
|
||||
static int skip_ssl= 1;
|
||||
static uchar have_openssl= 1;
|
||||
|
||||
const char *ssluser= "ssluser";
|
||||
const char *sslpw= "sslpw";
|
||||
char sslhost[128];
|
||||
char sslcert[FNLEN];
|
||||
char sslkey[FNLEN];
|
||||
char sslkey_enc[FNLEN];
|
||||
char sslca[FNLEN];
|
||||
char sslcrl[FNLEN];
|
||||
|
||||
pthread_mutex_t LOCK_test;
|
||||
|
||||
int check_skip_ssl()
|
||||
{
|
||||
const char *ssldir= NULL;
|
||||
#ifndef HAVE_TLS
|
||||
diag("client library built without OpenSSL support -> skip");
|
||||
return 1;
|
||||
@@ -39,6 +48,15 @@ int check_skip_ssl()
|
||||
diag("server doesn't support SSL -> skip");
|
||||
return 1;
|
||||
}
|
||||
if (!(ssldir= getenv("SECURE_LOAD_PATH")))
|
||||
{
|
||||
diag("certificate directory not found");
|
||||
return 1;
|
||||
}
|
||||
snprintf(sslcert, FNLEN - 1, "%s/%s", ssldir, "client-cert.pem");
|
||||
snprintf(sslkey, FNLEN - 1, "%s/%s", ssldir, "client-key.pem");
|
||||
snprintf(sslkey_enc, FNLEN - 1, "%s/%s", ssldir, "client-key-enc.pem");
|
||||
snprintf(sslca, FNLEN - 1, "%s/%s", ssldir, "cacert.pem");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -96,6 +114,8 @@ static int test_ssl(MYSQL *mysql)
|
||||
{
|
||||
if (!strcmp(row[0], "YES"))
|
||||
skip_ssl= 0;
|
||||
if (strcmp(row[1], "YES"))
|
||||
have_openssl= 0;
|
||||
diag("SSL: %s", row[0]);
|
||||
}
|
||||
mysql_free_result(res);
|
||||
@@ -140,7 +160,7 @@ static int test_ssl_cipher(MYSQL *unused __attribute__((unused)))
|
||||
my= mysql_init(NULL);
|
||||
FAIL_IF(!my, "mysql_init() failed");
|
||||
|
||||
mysql_ssl_set(my,0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(my,0, 0, sslca, 0, 0);
|
||||
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0), mysql_error(my));
|
||||
@@ -169,8 +189,8 @@ static int test_conc95(MYSQL *unused __attribute__((unused)))
|
||||
|
||||
mysql= mysql_init(NULL);
|
||||
mysql_ssl_set(mysql,
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem",
|
||||
sslkey,
|
||||
sslcert,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL);
|
||||
@@ -220,7 +240,7 @@ static int test_multi_ssl_connections(MYSQL *unused __attribute__((unused)))
|
||||
mysql[i]= mysql_init(NULL);
|
||||
FAIL_IF(!mysql[i],"mysql_init() failed");
|
||||
|
||||
mysql_ssl_set(mysql[i], 0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(mysql[i], 0, 0, sslca, 0, 0);
|
||||
|
||||
mysql_real_connect(mysql[i], hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -264,7 +284,7 @@ DWORD WINAPI ssl_thread(void *dummy)
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
mysql_ssl_set(mysql, 0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(mysql, 0, 0, sslca, 0, 0);
|
||||
|
||||
if(!mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0))
|
||||
@@ -337,6 +357,8 @@ static int test_ssl_threads(MYSQL *mysql)
|
||||
diag("Found: %s", row[0]);
|
||||
FAIL_IF(strcmp(row[0], "50") != 0, "Expected 50");
|
||||
mysql_free_result(res);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF exists ssltest");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -350,9 +372,9 @@ static int test_phpbug51647(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(mysql, sslkey,
|
||||
sslcert,
|
||||
sslca, 0, 0);
|
||||
|
||||
FAIL_IF(!mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0), mysql_error(mysql));
|
||||
@@ -372,9 +394,9 @@ static int test_password_protected(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key-enc.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(mysql, sslkey_enc,
|
||||
sslcert,
|
||||
sslca, 0, 0);
|
||||
|
||||
mysql_options(mysql, MARIADB_OPT_TLS_PASSPHRASE, "qwerty");
|
||||
|
||||
@@ -397,7 +419,7 @@ static int test_conc50(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/my_cert.pem", NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, NULL, "/home/georg/work/mariadb/bb-10.2-georg/unittest/libmariadb/certs/my_cert.pem", NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -415,10 +437,16 @@ static int test_conc50_1(MYSQL *unused __attribute__((unused)))
|
||||
if (check_skip_ssl())
|
||||
return SKIP;
|
||||
|
||||
if (!have_openssl)
|
||||
{
|
||||
diag("Server with OpenSSL required");
|
||||
return SKIP;
|
||||
}
|
||||
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, NULL, sslca, NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -440,7 +468,7 @@ static int test_conc50_2(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/not-found.pem", NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, NULL, "/home/georg/work/mariadb/bb-10.2-georg/unittest/libmariadb/certs/not-found.pem", NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -463,7 +491,7 @@ static int test_conc127(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/dummy.pem", NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, NULL, "/home/georg/work/mariadb/bb-10.2-georg/unittest/libmariadb/certs/dummy.pem", NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -494,7 +522,7 @@ static int test_conc50_3(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, NULL, sslca, NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -515,7 +543,7 @@ static int test_conc50_4(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", NULL, NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, sslca, NULL, NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -539,7 +567,7 @@ static int verify_ssl_server_cert(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, NULL, NULL, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", NULL, NULL);
|
||||
mysql_ssl_set(mysql, NULL, NULL, sslca, NULL, NULL);
|
||||
mysql_options(mysql, MYSQL_OPT_SSL_VERIFY_SERVER_CERT, &verify);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
@@ -573,7 +601,7 @@ static int test_bug62743(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem", NULL, NULL, NULL, NULL);
|
||||
mysql_ssl_set(mysql, sslkey, NULL, NULL, NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -584,8 +612,8 @@ static int test_bug62743(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem", NULL, NULL, NULL);
|
||||
mysql_ssl_set(mysql, sslkey,
|
||||
sslcert, NULL, NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -595,7 +623,7 @@ static int test_bug62743(MYSQL *unused __attribute__((unused)))
|
||||
mysql= mysql_init(NULL);
|
||||
FAIL_IF(!mysql, "Can't allocate memory");
|
||||
|
||||
mysql_ssl_set(mysql, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem", "blablubb", NULL, NULL, NULL);
|
||||
mysql_ssl_set(mysql, sslkey, "blablubb", NULL, NULL, NULL);
|
||||
|
||||
mysql_real_connect(mysql, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0);
|
||||
@@ -618,11 +646,11 @@ DWORD WINAPI thread_conc102(void)
|
||||
mysql_thread_init();
|
||||
mysql= mysql_init(NULL);
|
||||
|
||||
mysql_ssl_set(mysql, "@CMAKE_SOURCE_DIR@/unitt/libmariadb/certs/client-key.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem",
|
||||
mysql_ssl_set(mysql, "/home/georg/work/mariadb/bb-10.2-georg/unitt/libmariadb/certs/client-key.pem",
|
||||
sslcert,
|
||||
sslca,
|
||||
NULL, NULL);
|
||||
mysql_ssl_set(mysql,0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(mysql,0, 0, sslca, 0, 0);
|
||||
|
||||
if(!mysql_real_connect(mysql, hostname, username, password, schema,
|
||||
port, socketname, 0))
|
||||
@@ -699,10 +727,12 @@ static int test_conc_102(MYSQL *mysql)
|
||||
diag("Found: %s", row[0]);
|
||||
FAIL_IF(strcmp(row[0], "50") != 0, "Expected 50");
|
||||
mysql_free_result(res);
|
||||
rc= mysql_query(mysql, "DROP TABLE IF EXISTS t_conc102");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
const char *ssl_cert_finger_print= "@SSL_CERT_FINGER_PRINT@";
|
||||
const char *ssl_cert_finger_print= "@CERT_FINGER_PRINT@";
|
||||
|
||||
static int test_ssl_fp(MYSQL *unused __attribute__((unused)))
|
||||
{
|
||||
@@ -717,11 +747,11 @@ static int test_ssl_fp(MYSQL *unused __attribute__((unused)))
|
||||
my= mysql_init(NULL);
|
||||
FAIL_IF(!my, "mysql_init() failed");
|
||||
|
||||
mysql_ssl_set(my,0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(my,0, 0, sslca, 0, 0);
|
||||
|
||||
mysql_options(my, MARIADB_OPT_SSL_FP, ssl_cert_finger_print);
|
||||
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, ssluser, sslpw, schema,
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, username, password, schema,
|
||||
port, socketname, 0), mysql_error(my));
|
||||
|
||||
FAIL_IF(check_cipher(my) != 0, "Invalid cipher");
|
||||
@@ -753,11 +783,11 @@ static int test_ssl_fp_list(MYSQL *unused __attribute__((unused)))
|
||||
my= mysql_init(NULL);
|
||||
FAIL_IF(!my, "mysql_init() failed");
|
||||
|
||||
mysql_ssl_set(my,0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(my,0, 0, sslca, 0, 0);
|
||||
|
||||
mysql_options(my, MARIADB_OPT_SSL_FP_LIST, "./fingerprint.list");
|
||||
mysql_options(my, MARIADB_OPT_SSL_FP_LIST, "@CERT_PATH@/server-cert.sha1");
|
||||
|
||||
if(!mysql_real_connect(my, hostname, ssluser, sslpw, schema,
|
||||
if(!mysql_real_connect(my, hostname, username, password, schema,
|
||||
port, socketname, 0))
|
||||
{
|
||||
diag("Error: %s", mysql_error(my));
|
||||
@@ -782,7 +812,7 @@ static int test_ssl_version(MYSQL *unused __attribute__((unused)))
|
||||
my= mysql_init(NULL);
|
||||
FAIL_IF(!my, "mysql_init() failed");
|
||||
|
||||
mysql_ssl_set(my,0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(my,0, 0, sslca, 0, 0);
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0), mysql_error(my));
|
||||
|
||||
@@ -812,7 +842,7 @@ static int test_schannel_cipher(MYSQL *unused __attribute__((unused)))
|
||||
my= mysql_init(NULL);
|
||||
FAIL_IF(!my, "mysql_init() failed");
|
||||
|
||||
mysql_ssl_set(my,0, 0, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem", 0, 0);
|
||||
mysql_ssl_set(my,0, 0, sslca, 0, 0);
|
||||
mysql_options(my, MARIADB_OPT_TLS_CIPHER_STRENGTH, &cipher_strength);
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, ssluser, sslpw, schema,
|
||||
port, socketname, 0), mysql_error(my));
|
||||
@@ -843,6 +873,12 @@ static int test_cipher_mapping(MYSQL *unused __attribute__((unused)))
|
||||
if (check_skip_ssl())
|
||||
return SKIP;
|
||||
|
||||
if (!have_openssl)
|
||||
{
|
||||
diag("test requires Server with OpenSSL");
|
||||
return SKIP;
|
||||
}
|
||||
|
||||
while (ciphers[i] != NULL)
|
||||
{
|
||||
MYSQL *mysql= mysql_init(NULL);
|
||||
@@ -973,9 +1009,9 @@ static int test_openssl_1(MYSQL *mysql)
|
||||
|
||||
/* ssluser3 connect with cipher and certs */
|
||||
my= mysql_init(NULL);
|
||||
mysql_ssl_set(my, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem",
|
||||
mysql_ssl_set(my, sslkey,
|
||||
sslcert,
|
||||
sslca,
|
||||
NULL,
|
||||
"AES256-SHA");
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, "ssluser3", NULL, schema,
|
||||
@@ -997,14 +1033,20 @@ static int test_openssl_1(MYSQL *mysql)
|
||||
|
||||
/* ssluser4 connect with cipher and certs */
|
||||
my= mysql_init(NULL);
|
||||
mysql_ssl_set(my, "@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-key.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/client-cert.pem",
|
||||
"@CMAKE_SOURCE_DIR@/unittest/libmariadb/certs/cacert.pem",
|
||||
mysql_ssl_set(my, sslkey,
|
||||
sslcert,
|
||||
sslca,
|
||||
NULL,
|
||||
"AES256-SHA");
|
||||
FAIL_IF(!mysql_real_connect(my, hostname, "ssluser4", NULL, schema,
|
||||
port, socketname, 0), mysql_error(my));
|
||||
|
||||
for (i=1; i < 6; i++)
|
||||
{
|
||||
sprintf(query, "DROP USER IF EXISTS 'ssluser%d'@'%s'", i, sslhost);
|
||||
rc= mysql_query(mysql, query);
|
||||
check_mysql_rc(rc, mysql);
|
||||
}
|
||||
mysql_close(my);
|
||||
|
||||
return OK;
|
||||
@@ -1037,6 +1079,18 @@ static int test_ssl_timeout(MYSQL *unused __attribute__((unused)))
|
||||
mysql_close(mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
static int drop_ssl_user(MYSQL *mysql)
|
||||
{
|
||||
int rc;
|
||||
|
||||
rc= mysql_query(mysql, "DELETE FROM mysql.user where user like 'ssl%'");
|
||||
check_mysql_rc(rc, mysql);
|
||||
rc= mysql_query(mysql, "DELETE FROM mysql.db where user like 'ssl%'");
|
||||
check_mysql_rc(rc, mysql);
|
||||
return OK;
|
||||
}
|
||||
|
||||
struct my_tests_st my_tests[] = {
|
||||
{"test_ssl", test_ssl, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
{"test_ssl_timeout", test_ssl_timeout, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
@@ -1047,7 +1101,7 @@ struct my_tests_st my_tests[] = {
|
||||
{"test_conc127", test_conc127, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
/* Both tests work with GNU tls, however we can't create fingerprints with
|
||||
gnutls-cli in CMakeLists.txt */
|
||||
#ifdef HAVE_OPENSSL
|
||||
#ifndef HAVE_SCHANNEL
|
||||
{"test_ssl_fp", test_ssl_fp, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
{"test_ssl_fp_list", test_ssl_fp_list, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
#endif
|
||||
@@ -1070,6 +1124,7 @@ struct my_tests_st my_tests[] = {
|
||||
#else
|
||||
{"test_schannel_cipher", test_schannel_cipher, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
#endif
|
||||
{"drop_ssl_user", drop_ssl_user, TEST_CONNECTION_NEW, 0, NULL, NULL},
|
||||
{NULL, NULL, 0, 0, NULL, NULL}
|
||||
};
|
||||
|
||||
|
@@ -72,6 +72,9 @@ static int test_conc_27(MYSQL *mysql)
|
||||
rc= mysql_query(mysql, "INSERT INTO t_conc27 VALUES(0)");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
rc= mysql_query(mysql, "SET @a:=@@max_connections");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
rc= mysql_query(mysql, "SET GLOBAL max_connections=100000");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
@@ -94,8 +97,12 @@ static int test_conc_27(MYSQL *mysql)
|
||||
WaitForSingleObject(hthreads[i], INFINITE);
|
||||
#endif
|
||||
}
|
||||
|
||||
pthread_mutex_destroy(&LOCK_test);
|
||||
|
||||
rc= mysql_query(mysql, "SET GLOBAL max_connections=@a");
|
||||
check_mysql_rc(rc, mysql);
|
||||
|
||||
rc= mysql_query(mysql, "SELECT a FROM t_conc27");
|
||||
check_mysql_rc(rc,mysql);
|
||||
|
||||
@@ -108,6 +115,8 @@ static int test_conc_27(MYSQL *mysql)
|
||||
diag("row=%s", row[0]);
|
||||
FAIL_IF(atoi(row[0]) != THREAD_NUM, "expected value THREAD_NUM");
|
||||
mysql_free_result(res);
|
||||
rc= mysql_query(mysql, "DROP TABLE t_conc27");
|
||||
check_mysql_rc(rc,mysql);
|
||||
|
||||
return OK;
|
||||
}
|
||||
|
Reference in New Issue
Block a user