Re: Techniques to detect API/ABI changes



2006/11/13, Philip Van Hoof <spam pvanhoof be>:
On Mon, 2006-11-13 at 20:15 +1100, James "Doc" Livingston wrote:
> On Sun, 2006-11-12 at 17:16 +0100, Øystein Gisnås wrote:
> > Is it possible to create some kind of automated tests of the API so
> > that both binary and semantic breakage can be detected? Does anyone
> > have thoughts on this or pointers to such tests or frameworks in other
> > projects?
>
> I'm fairly certain GStreamer has an automated test for checking for ABI
> breakage, which might be worth looking at. Semantic breakage would
> probably be a lot harder to detect though.

I'm pro such a test suite. So if somebody wants to put effort in
integrating with such a testing environment, go ahead.

I thought about for a second. We're basically talking unit tests here.
Unit tests for public symbols that really test the API like they
should. Does tinymail have any private methods by the way? Things that
can be tested with unit tests but are not exposed to the rest of the
system?

My idea is to put together a special suite of unit tests for testing
the API. It should only test what's exposed through the library
headers. I also think it should test against the libraries installed
on the system, that is using .pc files to resolve flags. That way we
can test against the installed version. During development, breakage
will show in the normal unit tests. When it's time for release we can
test the new codebase against the previous released version and in
theory get a list of broken APIs.

I hacked together a Makefile in a directory parallel to
libtinymail-test/, and it was quite simple to get things going..

-Øystein



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]