@@ -2374,7 +2374,41 @@ static int test_parsec(MYSQL *my)
2374
2374
return OK ;
2375
2375
}
2376
2376
2377
+ /* Test for PR250 */
2378
+ int test_tls_timeout (MYSQL * unused __attribute__((unused )))
2379
+ {
2380
+ unsigned int connect_timeout = 5 ;
2381
+ unsigned int read_write_timeout = 10 ;
2382
+ int rc ;
2383
+ time_t start , elapsed ;
2384
+
2385
+ MYSQL * mysql = mysql_init (NULL );
2386
+ mysql_ssl_set (mysql , NULL , NULL , NULL , NULL , NULL );
2387
+ mysql_options (mysql , MYSQL_OPT_CONNECT_TIMEOUT , (unsigned int * )& connect_timeout );
2388
+ mysql_options (mysql , MYSQL_OPT_READ_TIMEOUT , (unsigned int * )& read_write_timeout );
2389
+ mysql_options (mysql , MYSQL_OPT_WRITE_TIMEOUT , (unsigned int * )& read_write_timeout );
2390
+ if (!my_test_connect (mysql , hostname , username , password , schema , port , socketname , CLIENT_REMEMBER_OPTIONS , 1 ))
2391
+ {
2392
+ mysql_close (mysql );
2393
+ return FAIL ;
2394
+ }
2395
+
2396
+ start = time (NULL );
2397
+ rc = mysql_query (mysql , "SET @a:=SLEEP(12)" );
2398
+ elapsed = time (NULL ) - start ;
2399
+ diag ("elapsed: %lu" , (unsigned long )elapsed );
2400
+ FAIL_IF ((unsigned int )elapsed > read_write_timeout + 1 , "timeout ignored" );
2401
+
2402
+ FAIL_IF (!rc , "expected timeout error" );
2403
+ diag ("Error: %s" , mysql_error (mysql ));
2404
+
2405
+ mysql_close (mysql );
2406
+ return OK ;
2407
+ }
2408
+
2409
+
2377
2410
struct my_tests_st my_tests [] = {
2411
+ {"test_tls_timeout" , test_tls_timeout , TEST_CONNECTION_NONE , 0 , NULL , NULL },
2378
2412
{"test_parsec" , test_parsec , TEST_CONNECTION_DEFAULT , 0 , NULL , NULL },
2379
2413
{"test_conc505" , test_conc505 , TEST_CONNECTION_NONE , 0 , NULL , NULL },
2380
2414
{"test_conc632" , test_conc632 , TEST_CONNECTION_NONE , 0 , NULL , NULL },
@@ -2423,6 +2457,7 @@ struct my_tests_st my_tests[] = {
2423
2457
{"test_connection_timeout" , test_connection_timeout , TEST_CONNECTION_NONE , 0 , NULL , NULL },
2424
2458
{"test_connection_timeout2" , test_connection_timeout2 , TEST_CONNECTION_NONE , 0 , NULL , NULL },
2425
2459
{"test_connection_timeout3" , test_connection_timeout3 , TEST_CONNECTION_NONE , 0 , NULL , NULL },
2460
+ {"test_tls_timeout" , test_tls_timeout , TEST_CONNECTION_NONE , 0 , NULL , NULL },
2426
2461
{NULL , NULL , 0 , 0 , NULL , NULL }
2427
2462
};
2428
2463
0 commit comments