Hi I've started looking a bit into the testing on Windows. This was mostly
initiated because I accidentally built the test_interactive project which CMake
creates for VC++ builds and it popped up a wxWidgets window - so with Cygwin
installed it does seem there is hope for getting the tests to work.
I then tried the RUN_TESTS project and a couple of other test projects without
much luck. A handful of problems immediately stuck out
1) My build directory has spaces - I know a recipe for making life difficult -
however I do this because I use the name of the generator, the config type and
a flag for static or dynamic as part of my build directory name so I get
different directories for 64/32 bit static/dynamic and release/debug combos. As
the generators have spaces, so do my paths. Running ctest with -VV gives the
output
5: Test command: C:\cygwin64\bin\bash.exe "-c" "EXAMPLES_DIR=D:/usr/local/src/pl
plot-plplot/build/Visual Studio 11 64s/examples SRC_EXAMPLES_DIR=D:/usr/local/sr
c/plplot-plplot/examples OUTPUT_DIR=D:/usr/local/src/plplot-plplot/build/Visual
Studio 11 64s/ctest_examples_output_dir ./plplot-test.sh --verbose --front-end=c
--device=xfig"
5: Test timeout computed to be: 1500
5: /usr/bin/bash: Studio: command not found
Basically the spaces in the path are messing up the command passed to bash.
Alan, do you know if this is something we can control or is it a cmake/ctest
bug?
Running the test command myself with the spaces escaped correctly leads to
another couple of bugs being discovered
2) The shell scripts used in the tests are given Windows line endings by Git
when downloaded and bash complains a lot about that. Is there any way we can
flag to Git to keep the Linux line endings for the shell scripts?
Running dos2linux on the files is the immediate workaround for this, but then I
hit one more snag
3) When I run the script with corrected line endings I get the following
error./test_c.sh: line 44: D:/usr/local/src/plplot-plplot/build/Visual Studio
11 64s/
examples/c/x00c: No such file or directoryChecking I find the error is correct.
Instead my executables are in examples/c/Release or examples/c/Debug i.e. they
are in a directory which corresponds to the configuration type. If I copy my
executables up one level then I can run the test and it works fine, giving me a
host of postscript files in this case in the ctest_examples_output_dir.
So It seems there are three things that need addressing here1) Spaces in paths
(again)2) Windows/Linux line endings in scripts3) Different build locations for
the examples using Windows/VC++ compared to on Linux/gcc systems
Initially any suggestions for which of these we can deal with and which need to
be passed on to CMake would be good. Alan I'm looking towards you obviously
here for advice.Once we know what we can deal with I can look at options.
Phil
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel