test: skip poll_duplex and poll_unidirectional on PASE

Issuing a shutdown() on IBM i PASE with parameter SHUT_WR
also sends a normal close sequence to the partner program.
This leads to timing issues and ECONNRESET failures in the
test poll_duplex and poll_unidirectional.

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/apis/shutdn.htm

PR-URL: https://github.com/libuv/libuv/pull/2782
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This commit is contained in:
Xu Meng 2020-04-13 05:04:49 -05:00 committed by Richard Lau
parent 0e00e14003
commit f52786b4ba
No known key found for this signature in database
GPG Key ID: C43CEC45C17AB93C

View File

@ -592,10 +592,19 @@ static void start_poll_test(void) {
MAKE_VALGRIND_HAPPY();
}
/* Issuing a shutdown() on IBM i PASE with parameter SHUT_WR
* also sends a normal close sequence to the partner program.
* This leads to timing issues and ECONNRESET failures in the
* test 'poll_duplex' and 'poll_unidirectional'.
*
* https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/apis/shutdn.htm
*/
TEST_IMPL(poll_duplex) {
#if defined(NO_SELF_CONNECT)
RETURN_SKIP(NO_SELF_CONNECT);
#elif defined(__PASE__)
RETURN_SKIP("API shutdown() may lead to timing issue on IBM i PASE");
#endif
test_mode = DUPLEX;
start_poll_test();
@ -606,6 +615,8 @@ TEST_IMPL(poll_duplex) {
TEST_IMPL(poll_unidirectional) {
#if defined(NO_SELF_CONNECT)
RETURN_SKIP(NO_SELF_CONNECT);
#elif defined(__PASE__)
RETURN_SKIP("API shutdown() may lead to timing issue on IBM i PASE");
#endif
test_mode = UNIDIRECTIONAL;
start_poll_test();