1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2010-2014 Intel Corporation 3 */ 4 5 #include <stdio.h> 6 #include <stdint.h> 7 8 #include <rte_common.h> 9 #include <rte_cycles.h> 10 11 #include "test.h" 12 13 /* 14 * rte_delay_us_callback test 15 * 16 * - check if callback is correctly registered/unregistered 17 * 18 */ 19 20 static unsigned int pattern; my_rte_delay_us(unsigned int us)21static void my_rte_delay_us(unsigned int us) 22 { 23 pattern += us; 24 } 25 26 static int test_user_delay_us(void)27test_user_delay_us(void) 28 { 29 pattern = 0; 30 31 rte_delay_us(2); 32 if (pattern != 0) 33 return -1; 34 35 /* register custom delay function */ 36 rte_delay_us_callback_register(my_rte_delay_us); 37 38 rte_delay_us(2); 39 if (pattern != 2) 40 return -1; 41 42 rte_delay_us(3); 43 if (pattern != 5) 44 return -1; 45 46 /* restore original delay function */ 47 rte_delay_us_callback_register(rte_delay_us_block); 48 49 rte_delay_us(3); 50 if (pattern != 5) 51 return -1; 52 53 return 0; 54 } 55 56 REGISTER_FAST_TEST(user_delay_us, true, true, test_user_delay_us); 57