Philippe Bossut wrote:
John Anderson wrote:
Having written my first functional test yesterday I have some
thoughts. The biggest problem I encountered when trying to write and
debug tests is navigating all the layers:
my test <-> CATS <-> CPIA Script <-> Chandler
Fortunately I'm very familiar with Chandler, somewhat familiar with
CPIA Script and CATS is small enough to grock without much effort.
However, I suspect most developers would find all the layers daunting
and trying to debug things would only make it worse.
Agree with that.
I think it would be preferable to make the small changes necessary to
CPIA Script to make it appropriate for testing instead of adding
another layer, e.g. CATS.
Improving CPIA Script to make scripting easier is indeed a good idea.
I don't think it will replace entirely a test harness though like CATS
or, better, OAF (proposed by Mikeal). There's a lot of test functions
(batch, log, data gathering and stats) that have no place in a
Chandler level scripting language. John, I suggest you read Mikeal
proposal
(http://wiki.osafoundation.org/bin/view/Projects/OpenAutomationFramework)
first. Keep in mind also that Mikeal is trying to solve a problem that
includes Chandler and Cosmo.
Similarly, I think it's preferable to modify Chandler to eliminate
some of CPIA Script.
What alternative to CPIA scripting do you propose? No scripting at
all? Another script mechanism? Leverage an existing one?
I may have left you with some incorrect impressions. I read Mikeal's
proposal, and agree it's addressing areas like batch, log, data
gathering and stats, that have no place in Chandler scripting. As a
writer of a functional test, however, I'm hoping that I don't need to
know much about all that just to add another functional test to the
build cycle. I'm more concerned about how hard it's going to be for
people to write and debug new functional tests. This is an area I think
we could make some improvements, which would lead to better tests,
quicker release cycles, and higher quality software.
I'm not proposing an alternative to CPIA script, just improvements to
it. For example, with some minor changes to the way blocks and events
are named and looked up we could probably eliminate much of the
differences in how you access these Items in CPIA script and CPIA. Since
CPIA and CPIA script are both just Python running in Chandler, there
should be much that is in common.
Cheers,
- Philippe
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev