[Top][All Lists]

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

Re: Checking breakage of backward compatibility

From: Matt Rice
Subject: Re: Checking breakage of backward compatibility
Date: Thu, 5 Oct 2006 06:00:33 -0700 (PDT)

--- Matt Rice <address@hidden> wrote:
> --- Richard Frith-Macdonald
> <address@hidden> wrote:
> > It seems to me that it should be possible to
> > catalogue and check  
> > externally available symbols (classes, functions,
> > variables and  
> > constants) using standard tools to examine the
> > binary.  It should  
> > also be possible to write a small program to
> inspect
> > the objc runtime  
> > to determine ivar layout and method signature
> > changes.
> > 
> > Doing this would also be a useful exercise for
> > finding out what  
> > things are currently publicly exposed and should
> not
> > be.
> > 
> > Tests could be run nightly on the current SVN
> trunk,
> > providing  
> > warnings telling us if we need to revert
> problematic
> > changes made the  
> > previous day.
> > 
> well i'm always in favor of a simple brute force
> method
> if one exists,
> if we could take the testsuite and make it able to
> store a 'snapshot' of precompiled binaries.. and the
> test results which were written when they were
> compiled/run, then test for differences between the
> results and whatever version is currently
> installed...

ok i should also note I know this method isn't fool
proof only works for things which have existing tests,
and wouldn't test for adding methods/classes etc..

but figured it might inspire people to write tests for
functionality which they are using...

I should probably also note that I have some code
around here which dlopens a .so and dumps all its
subclasses/class methods etc, should be fairly simple
to add method signatures/ivar layout, and change the
output format to .plist or something

Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]