< WebAuth 4.1.1 | Russ Allbery > Eagle's Path > April 2012 | rra-c-util 4.3 > |
Since I synchronized the latest WebAuth release with this, I should actually release it, although there may be some follow-on changes and another release from some other things in progress.
The biggest change in this release is that I redid the source organization so that everything is under tests, and I redid the includes in the TAP library so that they assume they're under tests/tap and not just a directory named tap.
I have mixed feelings about this, since it forces a particular code layout
on users of the library unless they patch the TAP library. However, I
wanted to introduce a macros.h header that was used by other TAP headers,
and if I stayed with having the TAP library reference headers under a tap
directory and then users add a -I flag to find the headers, every test
program that used the library would have to have a -I flag to pick up the
nested includes. With non-recursive Automake, that's horribly painful
unless you build the entire project with a -I flag pointing to the TAP
directory (which also seems wrong). The only other alternative was to use
#include ""
, but I find that very fragile.
Also in this release are various portability fixes. Feature-test macros
were an interesting experiment, but they make everything difficult on
Solaris, so now feature-test macros are only used if specifically
requested or when built with gcc -ansi
(or similar flags). I also
avoided using local in the TAP shell library (not supported by Solaris) in
favor of regular global variables with a tap_
prefix. Finally, the
is_double function and all the floating point code is now in separate
files that can be copied in as desired, avoiding the need to link with -lm
on Solaris systems if is_double is not used anywhere in the test suite.
You can get the latest version from the C TAP Harness distribution page.
Posted: 2012-04-25 21:35 — Why no comments?
< WebAuth 4.1.1 | Russ Allbery > Eagle's Path > April 2012 | rra-c-util 4.3 > |