-
Rahul Sisondia authored
Description: ------------ The test was originally written for blocking client. I was trying to test execute the same test for nonblocking client. That's when it was found to be misbehaving on Windows. That's why The test was disabled for async client earlier. (1) It turns out that on Windows platform, by default, MTR uses PIPE connection to connect mysql_test client to the server. The nonblocking client APIs are supposed to work with TCP/SSL connections. Therefore, unless we specify the connection type to TCP/SSL in test, it may fails Windows. (2) That means we must use connect() command to specify the connection type as TCP or SSL in the test. Also, we must not execute the tests on Windows with --async-client option (Bug#31068788 has been raised to remove this option). (3) Even if someone executes the nonblocking client tests with connection type PIPE or Shared Memory. Test should throw error rather getting crashed. Fix: ---- (1) Enabled the tests for nonblocking clients which were disabled earlier. Used connection type TCP to verify them. (2) Crash used to happen because we missed to initialise the "set_blocking_flag" function pointer in the vio structure for PIPE|Shared Memory connections. (3) After the crash, test fails without any concrete error. Leaving the user in guess mode. We now print the last error message if select API fails. Not directly related : Returning error and printing the DBUG message in case if someone tries to set the nonblocking flag other than supported connection type. Testing: ------- Enabled the tests. verified on Windows platform. Review: ------ RB#24165
Rahul Sisondia authoredDescription: ------------ The test was originally written for blocking client. I was trying to test execute the same test for nonblocking client. That's when it was found to be misbehaving on Windows. That's why The test was disabled for async client earlier. (1) It turns out that on Windows platform, by default, MTR uses PIPE connection to connect mysql_test client to the server. The nonblocking client APIs are supposed to work with TCP/SSL connections. Therefore, unless we specify the connection type to TCP/SSL in test, it may fails Windows. (2) That means we must use connect() command to specify the connection type as TCP or SSL in the test. Also, we must not execute the tests on Windows with --async-client option (Bug#31068788 has been raised to remove this option). (3) Even if someone executes the nonblocking client tests with connection type PIPE or Shared Memory. Test should throw error rather getting crashed. Fix: ---- (1) Enabled the tests for nonblocking clients which were disabled earlier. Used connection type TCP to verify them. (2) Crash used to happen because we missed to initialise the "set_blocking_flag" function pointer in the vio structure for PIPE|Shared Memory connections. (3) After the crash, test fails without any concrete error. Leaving the user in guess mode. We now print the last error message if select API fails. Not directly related : Returning error and printing the DBUG message in case if someone tries to set the nonblocking flag other than supported connection type. Testing: ------- Enabled the tests. verified on Windows platform. Review: ------ RB#24165
Loading