#include <string.h>
#include <stdarg.h>
+
+#ifdef RTE_EXEC_ENV_WINDOWS
+static int
+test_missing_c_flag(void)
+{
+ printf("missing_c_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_main_lcore_flag(void)
+{
+ printf("main_lcore_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_invalid_n_flag(void)
+{
+ printf("invalid_n_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_no_hpet_flag(void)
+{
+ printf("no_hpet_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_no_huge_flag(void)
+{
+ printf("no_huge_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_allow_flag(void)
+{
+ printf("allow_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_invalid_b_flag(void)
+{
+ printf("invalid_b_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_invalid_vdev_flag(void)
+{
+ printf("invalid_vdev_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_invalid_r_flag(void)
+{
+ printf("invalid_r_flag not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_memory_flags(void)
+{
+ printf("memory_flags not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_file_prefix(void)
+{
+ printf("file_prefix not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+static int
+test_misc_flags(void)
+{
+ printf("misc_flags not supported on Windows, skipping test\n");
+ return TEST_SKIPPED;
+}
+
+#else
+
#include <libgen.h>
#include <stdlib.h>
#include <errno.h>
DEFAULT_MEM_SIZE, "--single-file-segments",
"--file-prefix=" memtest1 };
+ /* primary process with memtest1 and --huge-unlink=never mode */
+ const char * const argv9[] = {prgname, "-m",
+ DEFAULT_MEM_SIZE, "--huge-unlink=never",
+ "--file-prefix=" memtest1 };
+
/* check if files for current prefix are present */
if (process_hugefiles(prefix, HUGEPAGE_CHECK_EXISTS) != 1) {
printf("Error - hugepage files for %s were not created!\n", prefix);
return -1;
}
+ /* this process will run with --huge-unlink,
+ * so it should not remove hugepage files when it exits
+ */
+ if (launch_proc(argv9) != 0) {
+ printf("Error - failed to run with --huge-unlink=never\n");
+ return -1;
+ }
+
+ /* check if hugefiles for memtest1 are present */
+ if (process_hugefiles(memtest1, HUGEPAGE_CHECK_EXISTS) == 0) {
+ printf("Error - hugepage files for %s were deleted!\n",
+ memtest1);
+ return -1;
+ }
+ if (process_hugefiles(memtest1, HUGEPAGE_DELETE) != 1) {
+ printf("Error - deleting hugepages failed!\n");
+ return -1;
+ }
+
return 0;
}
return 0;
}
-static int
-test_eal_flags(void)
-{
- int ret = 0;
-
- ret = test_missing_c_flag();
- if (ret < 0) {
- printf("Error in test_missing_c_flag()\n");
- return ret;
- }
-
- ret = test_main_lcore_flag();
- if (ret < 0) {
- printf("Error in test_main_lcore_flag()\n");
- return ret;
- }
-
- ret = test_invalid_n_flag();
- if (ret < 0) {
- printf("Error in test_invalid_n_flag()\n");
- return ret;
- }
-
- ret = test_no_hpet_flag();
- if (ret < 0) {
- printf("Error in test_no_hpet_flag()\n");
- return ret;
- }
-
- ret = test_no_huge_flag();
- if (ret < 0) {
- printf("Error in test_no_huge_flag()\n");
- return ret;
- }
-
- ret = test_allow_flag();
- if (ret < 0) {
- printf("Error in test_allow_flag()\n");
- return ret;
- }
-
- ret = test_invalid_b_flag();
- if (ret < 0) {
- printf("Error in test_invalid_b_flag()\n");
- return ret;
- }
-
-#ifdef RTE_NET_RING
- ret = test_invalid_vdev_flag();
- if (ret < 0) {
- printf("Error in test_invalid_vdev_flag()\n");
- return ret;
- }
-#endif
- ret = test_invalid_r_flag();
- if (ret < 0) {
- printf("Error in test_invalid_r_flag()\n");
- return ret;
- }
-
- ret = test_memory_flags();
- if (ret < 0) {
- printf("Error in test_memory_flags()\n");
- return ret;
- }
-
- ret = test_file_prefix();
- if (ret < 0) {
- printf("Error in test_file_prefix()\n");
- return ret;
- }
-
- ret = test_misc_flags();
- if (ret < 0) {
- printf("Error in test_misc_flags()");
- return ret;
- }
-
- return ret;
-}
-
-REGISTER_TEST_COMMAND(eal_flags_autotest, test_eal_flags);
+#endif /* !RTE_EXEC_ENV_WINDOWS */
-/* subtests used in meson for CI */
REGISTER_TEST_COMMAND(eal_flags_c_opt_autotest, test_missing_c_flag);
REGISTER_TEST_COMMAND(eal_flags_main_opt_autotest, test_main_lcore_flag);
REGISTER_TEST_COMMAND(eal_flags_n_opt_autotest, test_invalid_n_flag);