|
Boost Interest : |
Subject: [Boost-cmake] CMake Boost and test cases
From: Petr Machata (pmachata_at_[hidden])
Date: 2012-01-16 16:50:52
Hi there,
I was trying to run tests in the CMake-ified boost, and found that many
tests fail even to configure.
Often what happens is that shared-build test requests a component that
is only build statically. These seem relatively easy, if tedious to
fix--you just have to construct the name of full dependency, with
explicit -static- or -shared- marker. I added in an include file that
contains this logic for boost_test_exec_monitor, because many modules
request that.
After fixing all these, another issue came up: in some modules,
e.g. phoenix, the list of tests only includes directories, and
boost_test_run is then run with the directory as an argument, which
fails at config time. These are less straightforward to fix. I can
expand this into list of files easily enough. But some tests are
compile only, some should be run, some are expected to pass, others to
fail, and it's not immediately clear which are which. Then there are
test monitors, and presumably some tests will define functions like
cpp_main instead of mere main, and these should be linked with the
monitor library... I _think_ I fixed phoenix, but it's hard to tell,
because I didn't get clean config, and therefore didn't attempt to run
anything. It should at least be less broken. I gave up after phoenix.
Hmm, so, is this a known thing? Perhaps I'm just missing some magic
that makes it all work. I know cmake boost is in a lot of flux, so
chances are this area just needs some work.
(I'll attach a patch. I can form the same as git pull request if that's
preferred.)
Thanks,
PM