Boost logo

Boost Testing :

From: Rene Rivera (grafik.list_at_[hidden])
Date: 2005-10-19 09:16:34


Jim Douglas wrote:
> Rene Rivera wrote:
>>Jim Douglas wrote:
[...]
>>Indeed, it's a bad thing. And is certainly something that should get
>>fixed. I think the place to do it is at the top of
>>boost/python/type_id.hpp where it does the check to set the
>>BOOST_PYTHON_HAVE_GCC_CP_DEMANGLE, if you notice it already has an
>>exception for EDG compilers. You would just need to add one for QCC
>>and/or Dinkumware.
>
> You missed the point slightly. The decision should not be made according
> to the compiler (i.e. tools) but against the version of C++ standard
> library,

I don't think I said otherwise :-\ But I guess I could have said "QCC
and/or STD library". Basically I don't know when cxxabi.h is or not
available in the QNX setup so it would be up to you to find out and
modify the check in type_id.hpp accordingly.

> or maybe there should be a "#define BOOST_HAVE_CXXABI_H"
> somewhere which is set in the appropriate 'boost/config/stdlib/*.hpp'
> file? (and detected in the configure script)

Perhaps but that's really up to Dave and John who maintain Boost.Python
and Boost.Config respectively.

>>> BOOST_PLATFORM_CONFIG ="boost/config/platform/qnx.hpp"
>>
>>Strange, did you add that qnx.hpp file?
>
> Guilty as charged. It picks up on the __QNXNTO__ definition and is
> currently empty, but available for experimentation.

But by doing that you've prevented the "boost/config/posix_features.hpp"
header from getting included. So you'll need to include it from the
qnx.hpp file so that all the various POSIX checks and settings are correct.

>>>/root/workspaces/Libs/boost_dev/libs/config/test/boost_has_stdint_h.ipp:29: error: `
>>> int_fast8_t' undeclared (first use this function)
>>
>>Hm, that's something I already fixed in the boost/cstdint.hpp header.
>
> Does it always use the 'boost/cstdint.hpp' file, or does it prefer the
> 'cstdint' file if it is present?

It always uses the boost/cstdint.hpp file. Which in turn include the
cstdint file if present, and attempts to correct any bugs in the cstdint
file.

> When did you make the change?

Ah, more than a month ago now. My change kicks in when the "__QNX__"
macro is defined.

>>>/root/workspaces/Libs/boost_dev/boost/integer_traits.hpp:117:2: #error No WCHAR_MIN and WCHAR_MAX present, please adjust integer_traits<> for your compiler.
>>
>>Not sure about this one.
>
> Is there a clue in:
>
> BOOST_NO_STD_WSTREAMBUF [no value]
> BOOST_NO_STD_WSTRING [no value]
>
> ???

Yea, but I'm not sure why they are defined when usually libstdc++
support wide char io.

> One further request - in order to break down the problem into smaller
> manageable chinks it would be great to be able to run the tests
> individually. I followed the instructions in the docs but without
> success. Can you confirm the procedure please?

For most libraries it should be as easy as:

cd libs/any/test
bjam -sTOOLS=... -sBUILD=... test

Which will run all the tests for that one library. It's also possible to
run one specific test by using the test name instead of "test". First
caveat, some libraries don't have a test directory and the only way to
run the tests in that case is from the status directory. Second caveat,
there are some libraries where the test directories are deeper in their
libs subdirectory.

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - Grafik/jabber.org

Boost-testing list run by mbergal at meta-comm.com