> On 03/15/2009 01:54 PM, Kinkie wrote: > >>> The key question for me right now is how to test this to avoid >>> committing code that does not link right in some environments. Any >>> suggestions? >> >> Build-farm. >> The memory for eu has been bought, and will be installed soon. This >> will allow us to have many x86-based OSes available, hopefully doing a >> full test-build at each bzr commit. > > If some ACL type is not registered with Squid executable, do you think > test-build would expose the problem, with the current set of tests? I > doubt it would.
Sometimes yes, sometimes no. It will if the unit test uses the self-registering class and is linked to the convenience library. You can test your approaches by removing the PokeAllModules() hack for DiskIO (see DiskIO/modules.sh). It's there to do exactly what you describe in (2a). Poking the Instance() methods of all modules to make them link and exist. The FindDefault() unit-test will fail (returns NULL) if no store-dirs are linked. > > This lack of runtime testing of registered types is probably the reason > why I have not noticed the problem reported by Christos even though I > did run test-build script. I am guessing we need to add test cases that > test registration. Yes, probably is. I've only seen DiskIO needing the hack to fix it so far. Amos
