Re: Testing foreign platform code


Subject: Re: Testing foreign platform code
From: Thomas Fletcher (thomasf@qnx.com)
Date: Thu Mar 02 2000 - 07:45:27 CST


On Thu, 2 Mar 2000, Aaron Lehmann wrote:

>
> > - fixed misc. build breakage on non-Unix platforms (YMMV)
>
> Just wondering, how do developers usually deal with updating code on other
> platforms? Is it up to someone who can code for that operating system to
> keep it in sync with hackers' changes to other platforms, or do people
> make attempts to update the other platforms and hope they work? I'm hoping
> to avoid the donut penalty when I work on non-XP code. With the number of
> platforms rising steadily, it seems like it is unresonable to test most
> small patches on all platforms before commiting them (BeOS... QNX...
> Mac... Gnome...).

 I would say that it depends on the patch. For resonably
benign things I would say that it is worth just going ahead
and patching all platforms and making a very verbose
announcement about the change so that people on the other
platforms can verify the repercussions of this change.

 I know that sometimes I've been caught in a backlog of
changes and things stopped working ... apparently for
no reason and I had to backtrace through to see what
might have changed to cause this to happen. For example
loosing the margins and justification happened after
Bruce's change to better handle line calculations.
That was partly my fault for not using the standard
Graphics class to calculate point size ... and it took
a lot of debugging to figure the connection between
the patch and the problem.

 My personal opinion would be for the code to look something
like this if you are ever unsure of a patch on a platform
that you don't work with.

#error Please check the validity of this patch ref: user@hostname
... put patched code in

 This is better than an assert, because I toggle between
building debug and non-debug so I'm bound to hit it
and be forced to investigate. It also means that we
_force_ a developer from that platform to take a look
at the change before they can continue with their work,
which I think is a valid thing to do to keep platforms
in sync.

 Of course I don't mind being interrupted if it means
that the development between platforms is better synced.

Thomas

 

-------------------------------------------------------------
Thomas (toe-mah) Fletcher QNX Software Systems
thomasf@qnx.com Neutrino Development Group
(613)-591-0931 http://www.qnx.com/~thomasf



This archive was generated by hypermail 2b25 : Thu Mar 02 2000 - 07:45:54 CST