On Fri, Mar 30, 2018 at 09:29:51AM +0200, Niels Möller wrote:
Daniel P. Berrangé berrange@redhat.com writes:
The only scope for errors here is when the nettle developers are creating the symbol version file,
That's me... And I imagine we'll get into the territory of subtle breakages the first time I mess up an update to that file.
and this is pretty minor IME maintaining such version files for libvirt.
How do you write testcases to verify that the version list is correct?
We've not added any tests for symbol versioning correctness - we just rely on whoever adds the API to pay attention to the file comments.
eg the tail of the libvirt_public.syms file current looks like this...
... LIBVIRT_3.9.0 { global: virDomainSetLifecycleAction; } LIBVIRT_3.7.0;
LIBVIRT_4.1.0 { global: virStoragePoolLookupByTargetPath; } LIBVIRT_3.9.0;
# .... define new API here using predicted next version number ....
and we rely on our code reviewers to watch for people making mistakes. We've not had any mistakes committed before but then we are lucky to have a large pool of active reviewers to notice this.
Regards, Daniel