Donald G Porter | 9 Jul 23:41
Favicon

Re: Updating Tktest suite - GSoC project

Ania Pawelczyk wrote:
> 1. Firstly bringing all tests to tcltest 2.0 syntax

If that's the first goal you've set for yourself, that's fine, and
I'm interested to review your progress and guide a bit.

> to be sure that the failure is not caused by dependences.
> to provide legibility, cohesion and get rid of
>     a great mess with the tcltest package.  (Rolf Ade)

I don't see a clear connection between making more use of tcltest 2
capabilities and these subpoints, FWIW

>>> I added my project's wiki page ...

>>     I think it's a mistake to set this work aside somewhere.  If you're
>>     going to work on updating the Tk test suite, let's get you registered
>>     as a Tk maintainer, ...

> I'm only a novice in Tcl/Tk and giving me the right to commit on SF 
> could be pretty huge for me:P Maybe overwhelmingly huge; I think I 
> should first get into Tcl/Tk, gain some experience, survive a flux of 
> criticism, grind my style... and then, possibly, I'll be prepared :P

If you're unwilling to take the full maintainer plunge right away, ok,
but at least submit your work as patches to the Tktoolkit Tracker.
That where contributions to Tk get reviewed in the usual way.  Doing
your work over on some private place is just a recipe for not getting
as many reviewers.

Reviewing actual proposed revisions to actual files will also bring
up issues in a more natural way than trying to answer a lot of "big
principle" questions up front, I think.  So I'm going to snip a lot
of that and let matters come up in the patches you offer.

That will also take a lot of this out of the TCLCORE mailing list
where it burdens all readers, and into the followup traffic of
particular Tracker entries, where the audience is more focused.

>>     As we often observe in
>>     the chatroom, the test suites include both tests and experiments.

> Q: what would you call an experiment? What is the difference? 

A test should exist for a purpose.  Many tests get written (or should
get written) to verify that some segment of C code produces the correct
result.  A test is a script designed to exercise a particular bit of
program logic, and which is written so that the result indicates whether
that bit of program logic operated correctly.  This usually means that
the expected result can be written down before ever running the script.
When running the test produces the correct expected result, you have
confidence you've coded that bit of logic correctly.

An experiment is when a script is written, perhaps for a targeted
testing purpose, perhaps not.  Then the script is run, and the result is
recorded and used as the expected result for the test.  From then
on the test is just a check that the result has not changed from the
first empircal result.  That's not a useless check; detecting changed
results has some value.  But it's not the same as a test which is
aimed at more logical correctness verification.

> Q: Do the test cases test everything (or most) that is needed? Is it the 
> widget/procedure's creator/mantainer job to create test case and 
> determine the result?

The theory is that the same maintainers who maintain a file like
tkFoo.c will also maintain the collection of tests, foo.test, for
the code in that file.  And that theory is mostly true as far as it
goes, but it only goes so far when we have a small number of Tk maintainers
and each of them has only a small amount of effort to devote to Tk.

--

-- 
| Don Porter          Mathematical and Computational Sciences Division |
| donald.porter@...             Information Technology Laboratory |
| http://math.nist.gov/~DPorter/                                  NIST |
|______________________________________________________________________|

-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08

Gmane