i40e: fix crash on DCB query
[dpdk.git] / app / test / test_cmdline.c
1 /*-
2  *   BSD LICENSE
3  *
4  *   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
5  *   All rights reserved.
6  *
7  *   Redistribution and use in source and binary forms, with or without
8  *   modification, are permitted provided that the following conditions
9  *   are met:
10  *
11  *     * Redistributions of source code must retain the above copyright
12  *       notice, this list of conditions and the following disclaimer.
13  *     * Redistributions in binary form must reproduce the above copyright
14  *       notice, this list of conditions and the following disclaimer in
15  *       the documentation and/or other materials provided with the
16  *       distribution.
17  *     * Neither the name of Intel Corporation nor the names of its
18  *       contributors may be used to endorse or promote products derived
19  *       from this software without specific prior written permission.
20  *
21  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24  *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25  *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26  *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27  *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28  *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29  *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30  *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32  */
33
34 #include <stdio.h>
35
36 #include "test.h"
37 #include "test_cmdline.h"
38
39 static int
40 test_cmdline(void)
41 {
42         printf("Testind parsing ethernet addresses...\n");
43         if (test_parse_etheraddr_valid() < 0)
44                 return -1;
45         if (test_parse_etheraddr_invalid_data() < 0)
46                 return -1;
47         if (test_parse_etheraddr_invalid_param() < 0)
48                 return -1;
49         printf("Testind parsing port lists...\n");
50         if (test_parse_portlist_valid() < 0)
51                 return -1;
52         if (test_parse_portlist_invalid_data() < 0)
53                 return -1;
54         if (test_parse_portlist_invalid_param() < 0)
55                 return -1;
56         printf("Testind parsing numbers...\n");
57         if (test_parse_num_valid() < 0)
58                 return -1;
59         if (test_parse_num_invalid_data() < 0)
60                 return -1;
61         if (test_parse_num_invalid_param() < 0)
62                 return -1;
63         printf("Testing parsing IP addresses...\n");
64         if (test_parse_ipaddr_valid() < 0)
65                 return -1;
66         if (test_parse_ipaddr_invalid_data() < 0)
67                 return -1;
68         if (test_parse_ipaddr_invalid_param() < 0)
69                 return -1;
70         printf("Testing parsing strings...\n");
71         if (test_parse_string_valid() < 0)
72                 return -1;
73         if (test_parse_string_invalid_data() < 0)
74                 return -1;
75         if (test_parse_string_invalid_param() < 0)
76                 return -1;
77         printf("Testing circular buffer...\n");
78         if (test_cirbuf_char() < 0)
79                 return -1;
80         if (test_cirbuf_string() < 0)
81                 return -1;
82         if (test_cirbuf_align() < 0)
83                 return -1;
84         if (test_cirbuf_invalid_param() < 0)
85                 return -1;
86         printf("Testing library functions...\n");
87         if (test_cmdline_lib() < 0)
88                 return -1;
89         return 0;
90 }
91
92 static struct test_command cmdline_cmd = {
93         .command = "cmdline_autotest",
94         .callback = test_cmdline,
95 };
96 REGISTER_TEST_COMMAND(cmdline_cmd);