From 3c95fa61256fc559c2cd235caee10046e7464b68 Mon Sep 17 00:00:00 2001 From: Kevin Locke Date: Thu, 22 Sep 2016 21:33:07 -0600 Subject: [PATCH] configurator: Use native directory separator Although Windows APIs generally permit "/" or "\\" for directory separators in paths, cmd.exe does not recognize "./" when invoking executables using a relative path and prints the following error: '.' is not recognized as an internal or external command, operable program or batch file. Therefore, use "\\" when invoking tests on Windows. Signed-off-by: Kevin Locke Reviewed-by: David Gibson Signed-off-by: David Gibson --- tools/configurator/configurator.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/configurator/configurator.c b/tools/configurator/configurator.c index e322c76c..0252fc1c 100644 --- a/tools/configurator/configurator.c +++ b/tools/configurator/configurator.c @@ -38,6 +38,12 @@ #define OUTPUT_FILE "configurator.out" #define INPUT_FILE "configuratortest.c" +#ifdef _WIN32 +#define DIR_SEP "\\" +#else +#define DIR_SEP "/" +#endif + static int verbose; enum test_style { @@ -585,7 +591,7 @@ static bool run_test(const char *cmd, struct test *test) free(output); /* We run INSIDE_MAIN tests for sanity checking. */ if ((test->style & EXECUTE) || (test->style & INSIDE_MAIN)) { - output = run("./" OUTPUT_FILE, &status); + output = run("." DIR_SEP OUTPUT_FILE, &status); if (!(test->style & EXECUTE) && status != 0) errx(1, "Test for %s failed with %i:\n%s", test->name, status, output); -- 2.39.2