X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest%2Ftest_alarm.c;h=951b7f07b3f1ef3b8df1a8fefbfbbcfb45542f97;hb=9a8864c8b5da6b07db0b2a67b9a1897a341ca7da;hp=d83591c9783196f002af34acc5c4bdf8a9030410;hpb=775a8cfc46969a4bb0e7206a2e7b2a630f2f0966;p=dpdk.git diff --git a/app/test/test_alarm.c b/app/test/test_alarm.c index d83591c978..951b7f07b3 100644 --- a/app/test/test_alarm.c +++ b/app/test/test_alarm.c @@ -1,34 +1,5 @@ -/*- - * BSD LICENSE - * - * Copyright(c) 2010-2014 Intel Corporation. All rights reserved. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Intel Corporation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* SPDX-License-Identifier: BSD-3-Clause + * Copyright(c) 2010-2014 Intel Corporation */ #include @@ -37,7 +8,6 @@ #include #include #include -#include #include #include @@ -47,6 +17,7 @@ #define RTE_TEST_ALARM_TIMEOUT 10 /* ms */ #define RTE_TEST_CHECK_PERIOD 3 /* ms */ +#define RTE_TEST_MAX_REPEAT 20 static volatile int flag; @@ -96,6 +67,7 @@ static int test_multi_alarms(void) { int rm_count = 0; + int count = 0; cb_count.cnt = 0; printf("Expect 6 callbacks in order...\n"); @@ -169,7 +141,10 @@ test_multi_alarms(void) printf("Error, cancelling head-of-list leads to premature callback\n"); return -1; } - rte_delay_ms(10); + + while (flag != 2 && count++ < RTE_TEST_MAX_REPEAT) + rte_delay_ms(10); + if (flag != 2) { printf("Error - expected callback not called\n"); rte_eal_alarm_cancel(test_remove_in_callback, (void *)-1); @@ -203,7 +178,10 @@ static int test_alarm(void) { int count = 0; - +#ifdef RTE_EXEC_ENV_FREEBSD + printf("The alarm API is not supported on FreeBSD\n"); + return 0; +#endif /* check if the callback will be called */ printf("check if the callback will be called\n"); flag = 0; @@ -212,7 +190,7 @@ test_alarm(void) printf("fail to set alarm callback\n"); return -1; } - while (flag == 0 && count ++ < 6) + while (flag == 0 && count++ < RTE_TEST_MAX_REPEAT) rte_delay_ms(RTE_TEST_CHECK_PERIOD); if (flag == 0){ @@ -253,8 +231,4 @@ test_alarm(void) return 0; } -static struct test_command alarm_cmd = { - .command = "alarm_autotest", - .callback = test_alarm, -}; -REGISTER_TEST_COMMAND(alarm_cmd); +REGISTER_TEST_COMMAND(alarm_autotest, test_alarm);