[PATCH v9 2/9] app/test: remove POSIX-specific code
From: Jie Zhou <hidden>
Date: 2021-12-01 18:06:08
Subsystem:
the rest · Maintainer:
Linus Torvalds
- Remove header inclusion of netinet/in.h and terminos.h - Include rte_os_shim.h - Replace sleep and usleep with rte_delay_us_sleep - Use NUL on Windows as /dev/null for Linux - Exclude tests not yet supported on Windows, e.g. multi-process, and IP address parsing (the test cases use linux netinet/in.h u6_addr and better have a separate patch to add such tests on Windows) Signed-off-by: Jie Zhou <redacted> --- app/test/commands.c | 2 -- app/test/packet_burst_generator.c | 1 + app/test/process.h | 4 +++- app/test/test.c | 5 ++++- app/test/test_byteorder.c | 2 +- app/test/test_cmdline.c | 2 ++ app/test/test_cmdline_lib.c | 13 +++++++++---- app/test/test_crc.c | 1 - app/test/test_pmd_perf.c | 6 +++++- app/test/test_ring_stress_impl.h | 2 +- app/test/test_telemetry_data.c | 2 ++ 11 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/app/test/commands.c b/app/test/commands.c
index 2dced3bc44..887cabad64 100644
--- a/app/test/commands.c
+++ b/app/test/commands.c@@ -8,8 +8,6 @@ #include <stdint.h> #include <string.h> #include <stdlib.h> -#include <netinet/in.h> -#include <termios.h> #include <inttypes.h> #include <errno.h> #include <sys/queue.h>
diff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c
index 8ac24577ba..6b42b9b83b 100644
--- a/app/test/packet_burst_generator.c
+++ b/app/test/packet_burst_generator.c@@ -5,6 +5,7 @@ #include <rte_byteorder.h> #include <rte_mbuf.h> #include <rte_ip.h> +#include <rte_os_shim.h> #include "packet_burst_generator.h"
diff --git a/app/test/process.h b/app/test/process.h
index 5b10cf64df..1f073b9c5c 100644
--- a/app/test/process.h
+++ b/app/test/process.h@@ -7,12 +7,14 @@ #include <errno.h> /* errno */ #include <limits.h> /* PATH_MAX */ +#ifndef RTE_EXEC_ENV_WINDOWS #include <libgen.h> /* basename et al */ +#include <sys/wait.h> +#endif #include <stdlib.h> /* NULL */ #include <string.h> /* strerror */ #include <unistd.h> /* readlink */ #include <dirent.h> -#include <sys/wait.h> #include <rte_string_fns.h> /* strlcpy */
diff --git a/app/test/test.c b/app/test/test.c
index 5194131026..e69cae3eea 100644
--- a/app/test/test.c
+++ b/app/test/test.c@@ -8,7 +8,6 @@ #include <stdarg.h> #include <stdlib.h> #include <errno.h> -#include <termios.h> #include <ctype.h> #include <sys/queue.h>
@@ -63,7 +62,9 @@ do_recursive_call(void) const char *env_var; int (*action_fn)(void); } actions[] = { +#ifndef RTE_EXEC_ENV_WINDOWS { "run_secondary_instances", test_mp_secondary }, +#endif #ifdef RTE_LIB_PDUMP #ifdef RTE_NET_RING { "run_pdump_server_tests", test_pdump },
@@ -82,7 +83,9 @@ do_recursive_call(void) { "test_file_prefix", no_action }, { "test_no_huge_flag", no_action }, #ifdef RTE_LIB_TIMER +#ifndef RTE_EXEC_ENV_WINDOWS { "timer_secondary_spawn_wait", test_timer_secondary }, +#endif #endif };
diff --git a/app/test/test_byteorder.c b/app/test/test_byteorder.c
index 03c08d9abf..de14ed539e 100644
--- a/app/test/test_byteorder.c
+++ b/app/test/test_byteorder.c@@ -46,7 +46,7 @@ test_byteorder(void) return -1; res_u16 = rte_bswap16(0x1337); - printf("const %"PRIx16" -> %"PRIx16"\n", 0x1337, res_u16); + printf("const %"PRIx16" -> %"PRIx16"\n", (uint16_t)0x1337, res_u16); if (res_u16 != 0x3713) return -1;
diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c
index 115bee966d..9a76bd299f 100644
--- a/app/test/test_cmdline.c
+++ b/app/test/test_cmdline.c@@ -31,6 +31,7 @@ test_cmdline(void) return -1; if (test_parse_num_invalid_param() < 0) return -1; +#ifndef RTE_EXEC_ENV_WINDOWS printf("Testing parsing IP addresses...\n"); if (test_parse_ipaddr_valid() < 0) return -1;
@@ -38,6 +39,7 @@ test_cmdline(void) return -1; if (test_parse_ipaddr_invalid_param() < 0) return -1; +#endif printf("Testing parsing strings...\n"); if (test_parse_string_valid() < 0) return -1;
diff --git a/app/test/test_cmdline_lib.c b/app/test/test_cmdline_lib.c
index f50ccdb599..fcd58cb76a 100644
--- a/app/test/test_cmdline_lib.c
+++ b/app/test/test_cmdline_lib.c@@ -8,7 +8,6 @@ #include <stdarg.h> #include <stdlib.h> #include <errno.h> -#include <termios.h> #include <ctype.h> #include <sys/queue.h>
@@ -22,6 +21,12 @@ #include "test_cmdline.h" +#ifndef RTE_EXEC_ENV_WINDOWS +#define NULL_INPUT "/dev/null" +#else +#define NULL_INPUT "NUL" +#endif + /****************************************************************/ /* static functions required for some tests */ static void
@@ -156,10 +161,10 @@ test_cmdline_socket_fns(void) cl = cmdline_stdin_new(&ctx, NULL); if (cl != NULL) goto error; - cl = cmdline_file_new(NULL, "prompt", "/dev/null"); + cl = cmdline_file_new(NULL, "prompt", NULL_INPUT); if (cl != NULL) goto error; - cl = cmdline_file_new(&ctx, NULL, "/dev/null"); + cl = cmdline_file_new(&ctx, NULL, NULL_INPUT); if (cl != NULL) goto error; cl = cmdline_file_new(&ctx, "prompt", NULL);
@@ -171,7 +176,7 @@ test_cmdline_socket_fns(void) cmdline_free(cl); return -1; } - cl = cmdline_file_new(&ctx, "prompt", "/dev/null"); + cl = cmdline_file_new(&ctx, "prompt", NULL_INPUT); if (cl == NULL) { printf("Error: failed to open /dev/null for reading!"); return -1;
diff --git a/app/test/test_crc.c b/app/test/test_crc.c
index bf1d344359..0ed080e482 100644
--- a/app/test/test_crc.c
+++ b/app/test/test_crc.c@@ -14,7 +14,6 @@ #define CRC32_VEC_LEN2 348 #define CRC16_VEC_LEN1 12 #define CRC16_VEC_LEN2 2 -#define LINE_LEN 75 /* CRC test vector */ static const uint8_t crc_vec[CRC_VEC_LEN] = {
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index 0aa9dc1b1c..25611bfe9b 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c@@ -296,6 +296,7 @@ reset_count(void) idle = 0; } +#ifndef RTE_EXEC_ENV_WINDOWS static void stats_display(uint16_t port_id) {
@@ -325,6 +326,7 @@ signal_handler(int signum) if (signum == SIGUSR2) stats_display(0); } +#endif struct rte_mbuf **tx_burst;
@@ -638,7 +640,7 @@ exec_burst(uint32_t flags, int lcore) i = (i >= conf->nb_ports - 1) ? 0 : (i + 1); } - sleep(5); + rte_delay_us(5 * US_PER_S); /* only when polling second */ if (flags == SC_BURST_XMIT_FIRST)
@@ -669,8 +671,10 @@ test_pmd_perf(void) printf("Start PMD RXTX cycles cost test.\n"); +#ifndef RTE_EXEC_ENV_WINDOWS signal(SIGUSR1, signal_handler); signal(SIGUSR2, signal_handler); +#endif nb_ports = rte_eth_dev_count_avail(); if (nb_ports < NB_ETHPORTS_USED) {
diff --git a/app/test/test_ring_stress_impl.h b/app/test/test_ring_stress_impl.h
index 2825a9dce6..62f046a91a 100644
--- a/app/test/test_ring_stress_impl.h
+++ b/app/test/test_ring_stress_impl.h@@ -360,7 +360,7 @@ test_mt1(int (*test)(void *)) /* signal worker to start test */ __atomic_store_n(&wrk_cmd, WRK_CMD_RUN, __ATOMIC_RELEASE); - usleep(run_time * US_PER_S); + rte_delay_us(run_time * US_PER_S); /* signal worker to start test */ __atomic_store_n(&wrk_cmd, WRK_CMD_STOP, __ATOMIC_RELEASE);
diff --git a/app/test/test_telemetry_data.c b/app/test/test_telemetry_data.c
index 18b93db8ef..73eee293a1 100644
--- a/app/test/test_telemetry_data.c
+++ b/app/test/test_telemetry_data.c@@ -4,7 +4,9 @@ #include <string.h> #include <sys/socket.h> +#ifndef RTE_EXEC_ENV_WINDOWS #include <sys/un.h> +#endif #include <unistd.h> #include <limits.h>
--
2.31.0.vfs.0.1