From: Kevin Locke Date: Fri, 23 Sep 2016 03:33:07 +0000 (-0600) Subject: configurator: Use native directory separator X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=3c95fa61256fc559c2cd235caee10046e7464b68;hp=891b43ea4b6d09db68ee83f7086b5673e2806733 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 --- 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);