ref: 586383d59c850b76eda3bfcc73b0734126bc6f4d
parent: 356932621cc8ea0697e04ceb19d5a19e90772710
author: Paul Brossier <piem@piem.org>
date: Thu Nov 29 10:04:58 EST 2018
[tests] [win] more windows workaround to pass strings via -D
--- a/tests/utils_tests.h
+++ b/tests/utils_tests.h
@@ -20,6 +20,13 @@
#define PATH_MAX 1024
#endif
+// This macro is used to pass a string to msvc compiler: since msvc's -D flag
+// strips the quotes, we define the string without quotes and re-add them with
+// this macro.
+
+#define REDEFINESTRING(x) #x
+#define DEFINEDSTRING(x) REDEFINESTRING(x)
+
#ifndef AUBIO_TESTS_SOURCE
#error "AUBIO_TESTS_SOURCE is not defined"
#endif
@@ -134,7 +141,7 @@
int err = 0;
char** argv = (char**)calloc(argc, sizeof(char*));
argv[0] = __FILE__;
- argv[1] = AUBIO_TESTS_SOURCE;
+ argv[1] = DEFINEDSTRING(AUBIO_TESTS_SOURCE);
// check if the file can be read
if ( check_source(argv[1]) ) return 1;
err = main(argc, argv);
--- a/tests/wscript_build
+++ b/tests/wscript_build
@@ -24,5 +24,5 @@
use = uselib,
install_path = None,
defines = ['AUBIO_UNSTABLE_API=1',
- 'AUBIO_TESTS_SOURCE=\"{}\"'.format(test_sound_abspath)]
+ 'AUBIO_TESTS_SOURCE={}'.format(test_sound_abspath)]
)