X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=tests%2Ftest-vconn.c;h=0b2b06355f1e368bf71b2bccdfc81bfcfd3e4d9d;hb=aabf5352bbf7e6fdc3d8da9f7f0b2e268da6ea68;hp=377f9fa9f526dbaa8648d60f93d1a29aa3fad864;hpb=b322930908706d7db5cb5d1658c5c64f2642300a;p=openvswitch diff --git a/tests/test-vconn.c b/tests/test-vconn.c index 377f9fa9..0b2b0635 100644 --- a/tests/test-vconn.c +++ b/tests/test-vconn.c @@ -159,8 +159,15 @@ test_refuse_connection(int argc OVS_UNUSED, char *argv[]) ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)", error, strerror(error)); } + } else if (!strcmp(type, "unix")) { + CHECK_ERRNO(error, EPIPE); + } else if (!strcmp(type, "ssl")) { + if (error != EPROTO && error != ECONNRESET) { + ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)", + error, strerror(error)); + } } else { - CHECK_ERRNO(error, !strcmp(type, "unix") ? EPIPE : EPROTO); + ovs_fatal(0, "invalid connection type %s", type); } vconn_close(vconn); @@ -174,13 +181,9 @@ static void test_accept_then_close(int argc OVS_UNUSED, char *argv[]) { const char *type = argv[1]; - int expected_error; struct fake_pvconn fpv; struct vconn *vconn; - - expected_error = (!strcmp(type, "unix") ? EPIPE - : !strcmp(type, "tcp") ? ECONNRESET - : EPROTO); + int error; fpv_create(type, &fpv); CHECK_ERRNO(vconn_open(fpv.vconn_name, OFP10_VERSION, &vconn, @@ -188,7 +191,17 @@ test_accept_then_close(int argc OVS_UNUSED, char *argv[]) vconn_run(vconn); stream_close(fpv_accept(&fpv)); fpv_close(&fpv); - CHECK_ERRNO(vconn_connect(vconn), expected_error); + + error = vconn_connect_block(vconn); + if (!strcmp(type, "tcp") || !strcmp(type, "unix")) { + if (error != ECONNRESET && error != EPIPE) { + ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)", + error, strerror(error)); + } + } else { + CHECK_ERRNO(error, EPROTO); + } + vconn_close(vconn); fpv_destroy(&fpv); }