I've always found the 50 or so executables that Open Babel currently
creates as part of the test build to be annoying. They slow the build,
hog screen space on the MSVC IDE, and yet are still not fine-grained
enough to indicate which test inside the executable actually failed.

CMake provides a test runner for just this purpose. If you take a look
at my combinetests branch
(https://github.com/baoilleach/openbabel/tree/combinetests) I have
modified two of the tests (automorphism and builder) to suit this
framework. These are combined into a single executable test_runner and
when you run ctest you get:

Test project C:/Tools/openbabel/mySmilesValence/windows-vc2008/build
      Start  1: test_automorphism_1
 1/53 Test  #1: test_automorphism_1 ..............   Passed    0.10 sec
      Start  2: test_automorphism_2
 2/53 Test  #2: test_automorphism_2 ..............   Passed    0.10 sec
      Start  3: test_automorphism_3
 3/53 Test  #3: test_automorphism_3 ..............   Passed    0.09 sec
      Start  4: test_automorphism_4
 4/53 Test  #4: test_automorphism_4 ..............   Passed    0.08 sec
      Start  5: test_automorphism_5
 5/53 Test  #5: test_automorphism_5 ..............   Passed    0.11 sec
      Start  6: test_automorphism_6
 6/53 Test  #6: test_automorphism_6 ..............   Passed    0.09 sec
      Start  7: test_automorphism_7
 7/53 Test  #7: test_automorphism_7 ..............   Passed    0.10 sec
      Start  8: test_automorphism_8
 8/53 Test  #8: test_automorphism_8 ..............   Passed    0.09 sec
      Start  9: test_automorphism_9
 9/53 Test  #9: test_automorphism_9 ..............   Passed    0.09 sec
      Start 10: test_automorphism_10
10/53 Test #10: test_automorphism_10 .............   Passed    0.08 sec
      Start 11: test_builder_1
11/53 Test #11: test_builder_1 ...................   Passed   14.49 sec
      Start 12: test_builder_2
12/53 Test #12: test_builder_2 ...................   Passed    1.12 sec
      Start 13: test_builder_3
13/53 Test #13: test_builder_3 ...................   Passed    0.73 sec
      Start 14: test_builder_4
14/53 Test #14: test_builder_4 ...................   Passed    0.54 sec
      Start 15: test_builder_5
15/53 Test #15: test_builder_5 ...................   Passed    0.52 sec

If you just want to run a particular test, you can still run the tests
individually at the commandline (or in a debug session) with
"test_runner buildertest 5" (this is exactly how the test suite runs
the tests).

So there you have it: more finely grained test failures, a single
executable, and still the ability to run a single test. What's not to
like?

I'm happy to modify the tests to suit the proposed framework, but it's
somewhat tedious so now would be a good time to say whether you think
this is a bad idea.

Regards,
    Noel

------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to