For full up plugin testing we (Yahoo!) are using the AUTest framework. In fact 
there are already plugin based tests checked in to master (see 
tests/gold_tests/pluginTests/header_rewrite for an example). I think that is 
fine for testing the plugin in situ and we should adopt it as our preferred 
platform. If you have TSQA tests, those should be ported to AUTest. If you want 
to test a C plugin it works just as well as testing a C++ one. If we are going 
to test plugins as plugins, I think AUTest is the correct approach. I would 
like, over the long run, to change all of the current regression tests to 
either real unit tests or full up AUTest based.

Unit testing is a bit different, and more akin to "make check" where autonomous 
programs run to test low level features of the plugin code. This is currently 
done mostly via either hand rolled code (e.g. test_Map.cc) or using TestBox in 
a regression test. This is more of testing modules or classes in a plugin 
rather than an explicit plugin test and would (I presume) be used in the core 
as well. I looked at the Google Mocks stuff and PR 408 and I was not very 
impressed. It did not seem like a good test setup. Google Test, at least, seems 
somewhat useful (quite reminiscent of lib/ts/TestBox.h). In any case, as I 
commented on Gancho's PR for that, it needs to be integrated so, at a minimum, 
the make files detect the use or non-use of the test framework and do the right 
thing, rather than failing annoyingly. In essence, it needs to be handled in 
the same way as other auto tools modules, such as libxml or do as James 
suggested and directly bundle it as with Lua.

Reply via email to