Re: Interim release?

Magnus Lie Hetland <[email protected]> Sun, 11 Apr 2004 23:15:54 +0200
Newsgroups gmane.comp.python.anygui.devel
Message-ID <[email protected]>
Uriel <[email protected]>:
>
> Hi
> 
> I have been following this project for some time, and I think it's great
> to have a pythonic GUI framework, I was hopping to do some work in
> anygui for my own projects, but other projects that didn't need it
> took priority, still I hope to contribute something...

Excellent :)

> > What the heck -- why don't we just release?
> 
> Exactly what I thought while reading the previous thread, you lose
> nothing by making a release... just call it experimental-pre-alpha or
> whatever, and if someone complains, screw them... at least it get
> something out of the door for people to try, test and play with.

Exactly. I've been thinking that people can use the CVS version, but I
guess that's quite a bit of a threshold for many users.

Unless someone pipes in soon, saying that this is a Bad Idea(tm) I
guess I'll make a release.

> You mentioned in another email that there is a need to have a better
> way to run tests;

Yes, indeed. I've started a tentative framework for automated testing
here (permitting you to press a 'Passed' or 'Failed' button for each
test in sequence -- still semi-manual)

> while I was evaluating anygui some months ago, I tried to run the
> tests in the test/ directory, but it didn't really work very well,
> they are not very complete in their coverage, and a bit cumbersome
> to run...

Yes, I know. Sadly, full automatization is very hard, given the
graphical and interactive nature of the package.

BTW: Quite a few of the tests aren't even in use yet (such as the
canvas test).

> so just to try anygui I wrote a small testing framework using
> pyunit, the "framework" itself is ~50 lines, and I wrote a few tests
> for Button in another ~50 lines. 

Wow -- great!

> The idea was, IIRC, that each test should be isolated, and that due to
> the nature of GUIs, most of the evaluations had to be done by a human(to
> determine if what was supposed to show up in the screen actually did),

Indeed.

> so every test runs inside a frame and shows 3 buttons after the test
> have been run: Fail, Pass, Exit, the tests are run one after the other,

Right -- that's exactly the kind of thing I started to write (you can
find it in my sandbox directory in the nondist package in CVS). But I
didn't really get anywhere (just started to fiddle with it) -- if
you're working on something like this, keep it up!

> and the user only has to click the button depending on his evaluating of
> the results in the screen.  (probably a label explaining what one should
> expect from each test should be added)

Yes. I thought about another possibility for a while, that would work
even if Anygui didn't really work at all. (It would be good to be able
to run the tests even if, say, anygui.Window has a bug in it, right?)
That was using a local HTTP server to display successive HTML
documents describing the test, trying to launch the test, and having
the Pass/Fail thing being done through (local) CGI. Just an idea. Some
early code for this, too, can be found in my sandbox directory.

> The tests can also be "deferred", when testing something at "runtime",
> a button "Run" is presented, otherwise the test is run automatically,
> I'm not sure now why I did this, but it made sense at the time =)

Who knows. Might be a good idea :)

> I have no clue if this is really a good idea, but you might find it
> useful: http://www.binarydream.org/~uriel/anygui_utest/

Looks good.

Would you be interested in trying to clean up the tests in the
distribution, using this framework? (If you want check-in privileges,
just email me your SourceForge username.)

-- 
Magnus Lie Hetland  "Oppression and harassment is a small price to pay
http://hetland.org   to live in the land of the free."  -- C. M. Burns


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click