Boost logo

Boost-Build :

From: Jurko Gospodnetiæ (jurko.gospodnetic_at_[hidden])
Date: 2008-07-05 09:05:02


   Hi Juergen.

> But I've got to test if BBv2 sets up includes, defines and library
> paths correctly and is able to compile, link and execute a sample
> against a complex beast like Qt4 with alls its caveats.
> And given the fact that you can configure qt4.jam to have different
> locations for all of the above, it may be quite hard for a "end-user"
> to debug this...

   Ok, I feel like I'm missing the point somewhere but can't figure our
where. Boost Build's testing framework allows you to run all of the
registered tests by running test_all.py or running a specific test by
running its own specific .py file.

   Test runner can configure the test environment for running the tests
by using a test-config.ini configuration file - which is a replacement
for standard user-config.ini & site-config.ini files. In case you really
want to use user's actual config files you can make your test set not
set the use_test_config parameter (defaults is True) when creating its
Tester class. I am not sure now whether regular site-config &
user-config files are read in case no test-config file is used but that
should not be difficult to check nor change if there is a need for this.

>>> But I'd rather do the testing on "end-user" level.
>> Again... not sure what 'end-user level' means here.
>
> Someone who just uses Boost.Build. My Jamfile contain something along:
>
> [ run qtcore.cpp /qt//QtCore ]
>
> so I've got both a test-case for finding out whether compiling, linking
> and execution against QtCore works as well as an example on how to
> write sich a Jamfile. Could even be linked to from the docs.
> And using QtTest is non-trivial, because no-one would think of
>
> # ToDo: better support for "automoc" aka '#include "qttest.moc"'
> [ run qttest.cpp [ cast _ moccable-cpp : qttest.cpp ] /qt//QtTest ]
>
> in order to run the moc on qttest.cpp (which is the way Qt's automagic
> test registration works.
> Okay, I should try and start documenting this :-))

   Ok, but I still do not see anything preventing you from preparing as
elaborate a test case as you desire, placing all of the files needed for
it in a separate folder and then running that Jamfile from the regular
Boost Build test system. Your Jamfile would contain all the stuff it
contains now and users could run the Jamfile in that folder directly if
needed but could also run it using its runner .py script or as a part of
the whole Boost Build test suite.

   Best regards,
     Jurko Gospodnetiæ


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk