X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-multipath.c;h=50747d9b6bba4ba5b1c60e441b02e4cb4c4658f1;hb=e79c9277c794b4dc83bb6cbc8c7ebaadd7fd630b;hp=e8aacfff4304f279e53042bc63b4e52b81240a66;hpb=bcd2633a5be6d9b1dc4a42425f48d72423890573;p=sliver-openvswitch.git diff --git a/tests/test-multipath.c b/tests/test-multipath.c index e8aacfff4..50747d9b6 100644 --- a/tests/test-multipath.c +++ b/tests/test-multipath.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2012 Nicira, Inc. + * Copyright (c) 2010, 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. @@ -26,25 +26,29 @@ #include "flow.h" #include "ofp-actions.h" -#include "random.h" #include "util.h" +#include "ovstest.h" -int -main(int argc, char *argv[]) +static void +test_multipath_main(int argc, char *argv[]) { enum { MP_MAX_LINKS = 63 }; struct ofpact_multipath mp; bool ok = true; + char *error; int n; set_program_name(argv[0]); - random_init(); if (argc != 2) { ovs_fatal(0, "usage: %s multipath_action", program_name); } - multipath_parse(&mp, argv[1]); + error = multipath_parse(&mp, argv[1]); + if (error) { + ovs_fatal(0, "%s", error); + } + for (n = 1; n <= MP_MAX_LINKS; n++) { enum { N_FLOWS = 65536 }; double disruption, perfect, distribution; @@ -60,9 +64,7 @@ main(int argc, char *argv[]) struct flow_wildcards wc; struct flow flow; - random_bytes(&flow, sizeof flow); - memset(flow.zeros, 0, sizeof flow.zeros); - flow.mpls_depth = 0; + flow_random_hash_fields(&flow); mp.max_link = n - 1; multipath_execute(&mp, &flow, &wc); @@ -127,9 +129,11 @@ main(int argc, char *argv[]) break; default: - NOT_REACHED(); + OVS_NOT_REACHED(); } } - return ok ? 0 : 1; + exit(ok ? 0 : 1); } + +OVSTEST_REGISTER("test-multipath", test_multipath_main);