1
0
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:
Georg Richter
2017-03-04 17:37:39 +01:00
parent 27d81167fc
commit 4ab155cf39
23 changed files with 409 additions and 469 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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-----

View File

@@ -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-----

View File

@@ -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-----

View File

@@ -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-----

View File

@@ -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-----

View File

@@ -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-----

View File

@@ -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-----

View File

@@ -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}
};

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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[] = {

View File

@@ -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;
}

View File

@@ -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++) {

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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}
};

View File

@@ -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;
}