#include <errno.h>
#include <string.h>
#include <unistd.h>
+
+#ifdef RTE_EXEC_ENV_WINDOWS
+int
+test_mp_secondary(void)
+{
+ printf("mp_secondary not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+#else
+
#include <sys/wait.h>
#include <libgen.h>
#include <dirent.h>
#include <rte_lcore.h>
#include <rte_errno.h>
#include <rte_branch_prediction.h>
-#include <rte_atomic.h>
#include <rte_ring.h>
#include <rte_debug.h>
#include <rte_log.h>
#include <rte_mempool.h>
-#ifdef RTE_LIBRTE_HASH
+#ifdef RTE_LIB_HASH
#include <rte_hash.h>
#include <rte_fbk_hash.h>
-#endif /* RTE_LIBRTE_HASH */
+#endif /* RTE_LIB_HASH */
-#ifdef RTE_LIBRTE_LPM
+#ifdef RTE_LIB_LPM
#include <rte_lpm.h>
-#endif /* RTE_LIBRTE_LPM */
+#endif /* RTE_LIB_LPM */
#include <rte_string_fns.h>
#include "process.h"
-#define launch_proc(ARGV) process_dup(ARGV, \
- sizeof(ARGV)/(sizeof(ARGV[0])), __func__)
+#define launch_proc(ARGV) process_dup(ARGV, RTE_DIM(ARGV), __func__)
/*
* This function is called in the primary i.e. main test, to spawn off secondary
#endif
snprintf(coremask, sizeof(coremask), "%x", \
- (1 << rte_get_master_lcore()));
+ (1 << rte_get_main_lcore()));
ret |= launch_proc(argv1);
+ printf("### Testing rte_mp_disable() reject:\n");
+ if (rte_mp_disable()) {
+ printf("Error: rte_mp_disable() has been accepted\n");
+ ret |= -1;
+ } else {
+ printf("# Checked rte_mp_disable() is refused\n");
+ }
ret |= launch_proc(argv2);
ret |= !(launch_proc(argv3));
}
printf("# Checked rte_mempool_create() OK\n");
-#ifdef RTE_LIBRTE_HASH
+#ifdef RTE_LIB_HASH
const struct rte_hash_parameters hash_params = { .name = "test_mp_hash" };
rte_errno=0;
if ((rte_hash_create(&hash_params) != NULL) &&
printf("# Checked rte_fbk_hash_create() OK\n");
#endif
-#ifdef RTE_LIBRTE_LPM
+#ifdef RTE_LIB_LPM
rte_errno=0;
struct rte_lpm_config config;
return run_object_creation_tests();
}
+#endif /* !RTE_EXEC_ENV_WINDOWS */
+
REGISTER_TEST_COMMAND(multiprocess_autotest, test_mp_secondary);