Boost logo

Boost :

Subject: Re: [boost] What Should we do About Boost.Test?
From: Richard (legalize+jeeves_at_[hidden])
Date: 2013-04-15 14:15:57


[Please do not mail me a copy of your followup]

Sorry to come late to this party, I usually do not read the developers
group on gmane because.... well.... I'm not a boost developer.

However, I am a heavy proponent of Boost.Test and a heavy user of it.

boost_at_[hidden] spake the secret code
<m24nmai27z.fsf_at_[hidden]> thusly:

>Look, I teach classes on Boost. If Boost.Test is not learnable and
>teachable, I have to tell my students to stay away from it. That's
>embarrassing for me, and bad for Boost.

I wrote the 5-part tutorial on using Boost.Test for TDD:
<http://legalizeadulthood.wordpress.com/2009/07/04/c-unit-tests-with-boost-test-part-1/>
<http://legalizeadulthood.wordpress.com/2009/07/05/c-unit-tests-with-boost-test-part-2/>
<http://legalizeadulthood.wordpress.com/2009/07/05/c-unit-tests-with-boost-test-part-3/>
<http://legalizeadulthood.wordpress.com/2009/07/05/c-unit-tests-with-boost-test-part-4/>
<http://legalizeadulthood.wordpress.com/2009/07/05/c-unit-tests-with-boost-test-part-5/>

>From the URLs you can see that I wrote those tutorials in the summer
of 2009 and it's been one of the most popular articles on my blog. I
routinely share them in the C++ newsgroup and in the boost user's
gmane newsgroup/list. I wrote them because I thought the
documentation made it very difficult to get what you needed from it.

At some point after posting this on newsgroups, Gennadiy said he was
going to include links to it in the Boost.Test documentation. As far
as I know, that never happened.

I would be happy to start working on improving the documentation; I
always found it to be the weakest part of the library. It works for
Gennadiy, but IMO he's too close to the library to see how the
documentation doesn't work for newcomers. I've written large
technical documents myself (500+ pages on Microsoft's Direct3D which
you can read from the link in my signature) and it is difficult to
step away from your own expertise and present material in a manner
that makes sense to newcomers.

I generally recommend people use google mock or some other mocking
library in conjunction with Boost.Test. While browsing around in the
code I did come across source files mentioning "mocks", but it was so
unlike every other approach to mock objects I've seen that I concluded
it was only for some sort of internal use to Boost.Test itself. Now I
see that it was intended for general use, but even from reading the
example source file, I can't say I'd recommend it over google mock or
turtle mock from what I understand at this point.

Reading this thread, I get the impression that Gennadiy is a little
defensive of the library. I guess who wouldn't be, if the thread opened
up with a statement to the effect of "let's dump this stuff because it's
junk". It is very much the product of one person and maybe that's why it
is suffering with so much impedence mismatch with other people's brains.

Even though I like Boost.Test, I have gotten mixed signals about
contirbutions towards improving it. I asked in the user's group
if Gennadiy would accept a patch that would allow me to write my own
assertions that supplied file/line information at the point the assertion
was invoked instead of at the point the assertion was implemented.
I asked on 23 Oct 2012 and didn't get an answer. I asked again a week
later and didn't get an answer then, either.

This left me without the feeling of "patches are welcome" that boost
usually gives me.

-- 
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
     The Computer Graphics Museum <http://computergraphicsmuseum.org>
         The Terminals Wiki <http://terminals.classiccmp.org>
  Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk