tile: fix build
[dpdk.git] / app / test / test_cycles.c
index db8e58d..f189797 100644 (file)
@@ -1,13 +1,13 @@
 /*-
  *   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
@@ -17,7 +17,7 @@
  *     * 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
@@ -52,7 +52,7 @@
  *   of cycles is correct with regard to the frequency of the timer.
  */
 
-int
+static int
 test_cycles(void)
 {
        unsigned i;
@@ -88,3 +88,50 @@ test_cycles(void)
 
        return 0;
 }
+
+REGISTER_TEST_COMMAND(cycles_autotest, test_cycles);
+
+/*
+ * rte_delay_us_callback test
+ *
+ * - check if callback is correctly registered/unregistered
+ *
+ */
+
+static unsigned int pattern;
+static void my_rte_delay_us(unsigned int us)
+{
+       pattern += us;
+}
+
+static int
+test_user_delay_us(void)
+{
+       pattern = 0;
+
+       rte_delay_us(2);
+       if (pattern != 0)
+               return -1;
+
+       /* register custom delay function */
+       rte_delay_us_callback_register(my_rte_delay_us);
+
+       rte_delay_us(2);
+       if (pattern != 2)
+               return -1;
+
+       rte_delay_us(3);
+       if (pattern != 5)
+               return -1;
+
+       /* restore original delay function */
+       rte_delay_us_callback_register(rte_delay_us_block);
+
+       rte_delay_us(3);
+       if (pattern != 5)
+               return -1;
+
+       return 0;
+}
+
+REGISTER_TEST_COMMAND(user_delay_us, test_user_delay_us);