[squeak-dev] ConflictFinder update

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] ConflictFinder update

Andreas.Raab
Folks -

I spent a bit of time on the weekend to add various improvements to
ConflictFinder and try them out. Most importantly, CF now has the
ability to run all the tests and detect any newly found failures (i.e.,
it's running all tests that are in the image and blames newly failing
tests on the latest loaded package).

Interestingly, I found that at this point in time this isn't as helpful
as I had assumed - I think that's mostly because test coverage isn't
great at this point and maybe because most blatant failures can be
easily detected by the basic conflict tests. So while I think this will
be helpful in the long term it's turned off for the moment which
dramatically increases the speed of the process.

That said, thanks to the people running ConflictFinder we have some
early feedback about general issues with the current 3.10 universe:

* Missing Dependencies: There seem to be a *lot* of packages that miss
either some or all dependencies. Not sure what to do about them but I've
seen lots of packages with warnings reported from MC about missing
dependencies.

* Package renames: It seems that some packages (Polymorph in particular)
were renamed halfways along the way but the obsolete versions are still
available. This often results in bogus conflicts (different category
names) and also clutters the user-visible space (for Polymorph for
example there seem to be three different names under which it goes:
Polymorph, UI Theme, and Look Enhancements).

* Platform dependencies: Some packages (TimeZoneDB, ExternalWebBrowser)
will only load and work on a particular platform. TimeZoneDB for example
fails to load on Windows boxes since it tries to access some Unix path
directly.

* Overrides: We all know that overrides are evil but occasionally
necessary. I am wondering how we should treat them integration testing.
Any ideas?

Also, there is the question of how we want to go forward from here. For
example, should we try to fix these issues in the current 3.10 universe,
or should we work forward from here and start fresh with a 3.11 universe
at which point we could start running these tests for example weekly and
have feedback about many of the above issues much earlier in the
process. We could then also make a much more well-informed decision
about what the "stable 3.11 universe" really means (i.e., for example
only provide packages that pass the integration tests).

Comments, advice, offers for help are all welcome.

Cheers,
   - Andreas

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] ConflictFinder update

keith1y
> Also, there is the question of how we want to go forward from here.
> For example, should we try to fix these issues in the current 3.10
> universe, or should we work forward from here and start fresh with a
> 3.11 universe at which point we could start running these tests for
> example weekly and have feedback about many of the above issues much
> earlier in the process. We could then also make a much more
> well-informed decision about what the "stable 3.11 universe" really
> means (i.e., for example only provide packages that pass the
> integration tests).

I think it would be ironic, if having put all of this work into
improving compatibility between images (aka LevelPlayingField) 3.11 were
to loose any compatability with 3.10 and the packages which work in it.

Therefore I would expect moving forward 3.11+ would support the 3.10
"universe" (as defined in Sake/Packages class PackagesDev), effectively
inheriting from it.  Items which are 3.10 only, having been obsoleted by
3.11+ would need to be moved from the PackagesDev to PackagesSqueak310
(which doesnt yet exist).

I myself dont see the goal of a "universe" to be just "all that works
perfectly". Sake/Packages also includes the idea of #beta packages,
which just load the latest code whatever it is. So in that case it might
be useful to automatically put feedback from your conflict tests into
the package definitions themselves. So that we can see the current
conflict finder test status. btw. Package definitions do have the
facility to store arbitrary documentation following the coded definition.

Keith



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] ConflictFinder update

David T. Lewis
In reply to this post by Andreas.Raab
On Mon, Dec 22, 2008 at 09:17:49PM -0800, Andreas Raab wrote:
>
> TimeZoneDB for example
> fails to load on Windows boxes since it tries to access some Unix path
> directly.

Oops, sorry about that. I put a fix on SqueakSource and will update
SqueakMap and Universes when I get a chance (within a few days).

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] ConflictFinder update

Ralph Johnson
In reply to this post by Andreas.Raab
> Also, there is the question of how we want to go forward from here. For
> example, should we try to fix these issues in the current 3.10 universe, or
> should we work forward from here and start fresh with a 3.11 universe at
> which point we could start running these tests for example weekly and have
> feedback about many of the above issues much earlier in the process. We
> could then also make a much more well-informed decision about what the
> "stable 3.11 universe" really means (i.e., for example only provide packages
> that pass the integration tests).

If you advertise the problems in 3.10 then people will fix them.  In
the long run, the best way to make universe that is consistent ais to
start over and add packages one at a time.  But I think you can make
3.10 a lot better just by reporting problems.

-Ralph