X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-vconn.c;h=ec66f862890b432387e8aba6823c38d0522691a3;hb=6dc5374435cc25bc4051b27bd52635e609a8872a;hp=1e4e7870b5724718c3629ec970219f8738e8aa40;hpb=82c8c53c5b0dbbd6c56be6febf3a24b374ae0303;p=sliver-openvswitch.git diff --git a/tests/test-vconn.c b/tests/test-vconn.c index 1e4e7870b..ec66f8628 100644 --- a/tests/test-vconn.c +++ b/tests/test-vconn.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc. + * Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,6 +22,7 @@ #include #include #include "command-line.h" +#include "fatal-signal.h" #include "ofp-msgs.h" #include "ofp-util.h" #include "ofpbuf.h" @@ -33,6 +34,7 @@ #include "timeval.h" #include "util.h" #include "vlog.h" +#include "ovstest.h" #undef NDEBUG #include @@ -59,9 +61,9 @@ static void check_errno(int a, int b, const char *as, const char *file, int line) { if (a != b) { - char *str_b = strdup(strerror(abs(b))); + char *str_b = strdup(ovs_strerror(abs(b))); ovs_fatal(0, "%s:%d: %s is %d (%s) but should be %d (%s)", - file, line, as, a, strerror(abs(a)), b, str_b); + file, line, as, a, ovs_strerror(abs(a)), b, str_b); } } @@ -156,14 +158,14 @@ test_refuse_connection(int argc OVS_UNUSED, char *argv[]) if (!strcmp(type, "tcp")) { if (error != ECONNRESET && error != EPIPE) { ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)", - error, strerror(error)); + error, ovs_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)); + error, ovs_strerror(error)); } } else { ovs_fatal(0, "invalid connection type %s", type); @@ -194,7 +196,7 @@ test_accept_then_close(int argc OVS_UNUSED, char *argv[]) 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)); + error, ovs_strerror(error)); } } else { CHECK_ERRNO(error, EPROTO); @@ -229,7 +231,7 @@ test_read_hello(int argc OVS_UNUSED, char *argv[]) if (retval == sizeof hello) { enum ofpraw raw; - CHECK(hello.version, OFP10_VERSION); + CHECK(hello.version, OFP13_VERSION); CHECK(ofpraw_decode_partial(&raw, &hello, sizeof hello), 0); CHECK(raw, OFPRAW_OFPT_HELLO); CHECK(ntohs(hello.length), sizeof hello); @@ -249,7 +251,7 @@ test_read_hello(int argc OVS_UNUSED, char *argv[]) error = vconn_connect_block(vconn); if (error != ECONNRESET && error != EPIPE) { ovs_fatal(0, "unexpected vconn_connect() return value %d (%s)", - error, strerror(error)); + error, ovs_strerror(error)); } vconn_close(vconn); } @@ -302,7 +304,7 @@ test_send_hello(const char *type, const void *out, size_t out_size, if (retval == sizeof hello) { enum ofpraw raw; - CHECK(hello.version, OFP10_VERSION); + CHECK(hello.version, OFP13_VERSION); CHECK(ofpraw_decode_partial(&raw, &hello, sizeof hello), 0); CHECK(raw, OFPRAW_OFPT_HELLO); CHECK(ntohs(hello.length), sizeof hello); @@ -353,9 +355,9 @@ test_send_plain_hello(int argc OVS_UNUSED, char *argv[]) const char *type = argv[1]; struct ofpbuf *hello; - hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP10_VERSION, + hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP13_VERSION, htonl(0x12345678), 0); - test_send_hello(type, hello->data, hello->size, 0); + test_send_hello(type, ofpbuf_data(hello), ofpbuf_size(hello), 0); ofpbuf_delete(hello); } @@ -369,11 +371,11 @@ test_send_long_hello(int argc OVS_UNUSED, char *argv[]) struct ofpbuf *hello; enum { EXTRA_BYTES = 8 }; - hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP10_VERSION, + hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP13_VERSION, htonl(0x12345678), EXTRA_BYTES); ofpbuf_put_zeros(hello, EXTRA_BYTES); ofpmsg_update_length(hello); - test_send_hello(type, hello->data, hello->size, 0); + test_send_hello(type, ofpbuf_data(hello), ofpbuf_size(hello), 0); ofpbuf_delete(hello); } @@ -385,9 +387,9 @@ test_send_echo_hello(int argc OVS_UNUSED, char *argv[]) const char *type = argv[1]; struct ofpbuf *echo; - echo = ofpraw_alloc_xid(OFPRAW_OFPT_ECHO_REQUEST, OFP10_VERSION, + echo = ofpraw_alloc_xid(OFPRAW_OFPT_ECHO_REQUEST, OFP13_VERSION, htonl(0x12345678), 0); - test_send_hello(type, echo->data, echo->size, EPROTO); + test_send_hello(type, ofpbuf_data(echo), ofpbuf_size(echo), EPROTO); ofpbuf_delete(echo); } @@ -411,10 +413,10 @@ test_send_invalid_version_hello(int argc OVS_UNUSED, char *argv[]) const char *type = argv[1]; struct ofpbuf *hello; - hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP10_VERSION, + hello = ofpraw_alloc_xid(OFPRAW_OFPT_HELLO, OFP13_VERSION, htonl(0x12345678), 0); - ((struct ofp_header *) hello->data)->version = 0; - test_send_hello(type, hello->data, hello->size, EPROTO); + ((struct ofp_header *) ofpbuf_data(hello))->version = 0; + test_send_hello(type, ofpbuf_data(hello), ofpbuf_size(hello), EPROTO); ofpbuf_delete(hello); } @@ -430,17 +432,17 @@ static const struct command commands[] = { {NULL, 0, 0, NULL}, }; -int -main(int argc, char *argv[]) +static void +test_vconn_main(int argc, char *argv[]) { set_program_name(argv[0]); vlog_set_levels(NULL, VLF_ANY_FACILITY, VLL_EMER); vlog_set_levels(NULL, VLF_CONSOLE, VLL_DBG); - signal(SIGPIPE, SIG_IGN); + fatal_ignore_sigpipe(); time_alarm(10); run_command(argc - 1, argv + 1, commands); - - return 0; } + +OVSTEST_REGISTER("test-vconn", test_vconn_main);