X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-odp.c;h=268a10518749801910d531b64c06da327e7cf655;hb=994145e0f7c66d4cdada1d15a5fd4699931069fc;hp=2b4cfe19f85be85ff53c0198f3212f11f7ddf71e;hpb=eb1b39b31365161d4e4a6e948147fec239de9782;p=sliver-openvswitch.git diff --git a/tests/test-odp.c b/tests/test-odp.c index 2b4cfe19f..268a10518 100644 --- a/tests/test-odp.c +++ b/tests/test-odp.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011, 2012 Nicira, Inc. + * Copyright (c) 2011, 2012, 2013 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,10 +28,11 @@ static int parse_keys(void) { + int exit_code = 0; struct ds in; ds_init(&in); - vlog_set_levels_from_string("odp_util:console:dbg"); + vlog_set_levels_from_string_assert("odp_util:console:dbg"); while (!ds_get_test_line(&in, stdin)) { enum odp_key_fitness fitness; struct ofpbuf odp_key; @@ -69,7 +70,13 @@ parse_keys(void) /* Convert cls_rule back to odp_key. */ ofpbuf_uninit(&odp_key); ofpbuf_init(&odp_key, 0); - odp_flow_key_from_flow(&odp_key, &flow); + odp_flow_key_from_flow(&odp_key, &flow, flow.in_port); + + if (odp_key.size > ODPUTIL_FLOW_KEY_BYTES) { + printf ("too long: %zu > %d\n", + odp_key.size, ODPUTIL_FLOW_KEY_BYTES); + exit_code = 1; + } /* Convert odp_key to string. */ ds_init(&out); @@ -82,7 +89,7 @@ parse_keys(void) } ds_destroy(&in); - return 0; + return exit_code; } static int @@ -91,7 +98,7 @@ parse_actions(void) struct ds in; ds_init(&in); - vlog_set_levels_from_string("odp_util:console:dbg"); + vlog_set_levels_from_string_assert("odp_util:console:dbg"); while (!ds_get_test_line(&in, stdin)) { struct ofpbuf odp_actions; struct ds out;