X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-odp.c;h=30cdbbf2eab77ad54a1b94d601441db58fbcc80e;hb=HEAD;hp=442cc29c923191687ce719c4a26fc9f8db248a95;hpb=1f317cb5c2aa446c4b0252634a4a70dcc3682f93;p=sliver-openvswitch.git diff --git a/tests/test-odp.c b/tests/test-odp.c index 442cc29c9..30cdbbf2e 100644 --- a/tests/test-odp.c +++ b/tests/test-odp.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012, 2013 Nicira, Inc. + * Copyright (c) 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. @@ -26,6 +26,7 @@ #include "ofpbuf.h" #include "util.h" #include "vlog.h" +#include "ovstest.h" static int parse_keys(bool wc_keys) @@ -75,7 +76,8 @@ parse_keys(bool wc_keys) /* Convert cls_rule back to odp_key. */ ofpbuf_uninit(&odp_key); ofpbuf_init(&odp_key, 0); - odp_flow_key_from_flow(&odp_key, &flow, flow.in_port.odp_port); + odp_flow_key_from_flow(&odp_key, &flow, NULL, + flow.in_port.odp_port); if (ofpbuf_size(&odp_key) > ODPUTIL_FLOW_KEY_BYTES) { printf ("too long: %"PRIu32" > %d\n", @@ -215,19 +217,25 @@ parse_filter(char *filter_parse) return 0; } -int -main(int argc, char *argv[]) +static void +test_odp_main(int argc, char *argv[]) { + int exit_code = 0; + set_program_name(argv[0]); if (argc == 2 &&!strcmp(argv[1], "parse-keys")) { - return parse_keys(false); + exit_code =parse_keys(false); } else if (argc == 2 &&!strcmp(argv[1], "parse-wc-keys")) { - return parse_keys(true); + exit_code =parse_keys(true); } else if (argc == 2 && !strcmp(argv[1], "parse-actions")) { - return parse_actions(); + exit_code = parse_actions(); } else if (argc == 3 && !strcmp(argv[1], "parse-filter")) { - return parse_filter(argv[2]); + exit_code =parse_filter(argv[2]); } else { ovs_fatal(0, "usage: %s parse-keys | parse-wc-keys | parse-actions", argv[0]); } + + exit(exit_code); } + +OVSTEST_REGISTER("test-odp", test_odp_main);