[Buildbot-devel] WebStatus ponderings
Marcus Lindblom
macke at yar.nu
Thu Jan 7 20:12:50 UTC 2010
On 2010-01-06 17:25, Dustin J. Mitchell wrote:
> On Wed, Jan 6, 2010 at 4:14 AM, Marcus Lindblom<macke at yar.nu> wrote:
>> 1. We need to write a testcase that does this. ;)
>
> Anyone want to have some fun with htmlunit?
I was thinking 'drunk monkey style' testing. Follow every link and make
sure nothing is broken.
Checking every page for some known content OTOH, is a much grander goal,
but yes, I suppose some form of web-based testing framework would help,
esp with testimg forms and all.
Otherwise, we just need test data and some more test_webparts.py hacking.
>> 2. All pages that respond to parameters on the URL should have a help
>> text or a form where one can enter said data. It helps quite a bit when
>> testing these things. (The best way would be to handle this somehow via
>> HtmlResource, so that a page could describe it's options and have the
>> form be automatically generated and parsed back.)
>
> This would be pretty cool - much better than burying that info in the
> manual. It doesn't necessarily need to be a web form, like the
> waterfall help, but that seems like a pretty easy way to set it up.
I was thinking that perhaps the manual should be bundled with webstatus
somehow, anyway, Perhaps it suffices to link to the manual, if it's
presented at a known local URL?
(Also, I'd love to see some TLC given to the manual's layout/style,
similar to the new Python docs.)
>> 3. Someone (myself?) should hack together a better view of all the
>> changes that come in (they're only visible in waterfall, and there's no
>> concise list of them anywhere). Also, the ability to link incoming
>> changes/revisions to external web-views (hgwebdir.cgi, svnserve, viewvc,
>> trac, etc) would be cool& integratey (;-P).
>
> I think that's what the "links" attribute of a Change is for, but this
> seems disused. Perhaps it could be revived?
The problem is how to populate it properly. It feels wrong to insert
this in the change hook, and there are a few places here and there where
we list a revision without a change. (i.e. when we retrieve it in from
the SourceStep.)
I like Benoit's proposal by adding a location to change. Then it would
be up to another object to create an URL from location + change id,
which necessarily needs user configuration. The same object would be
used for any revisions ids the system comes up with, regardless of them
coming from a change or not.
>> 3b. A Repository class would propbablt be a good thing to have, and
>> might suit what we're talking about with the multi-repo support. (I
>> haven't looked closely at those patches yet.)
>
> I had considered the very similar idea of a SourceManager in the
> one-oh work, and it might apply here, too. A single object that knows
> everything about the source of the code. It would provide
> pre-configured Source steps for you, could tell the web status which
> changes are which and what order they come in, calculate lists of
> changes and blamelists given an arbitrary two sourcestamps, etc. It's
> a cool idea that just needs some further development!
Indeed. The notion of branches and 'latest' would work pretty well there
too.
>> 4. Some sort of regexp->link to link "#xyz" entries in change comments
>> to bug issue pages would also be nice . A new param to webstatus taking
>> a regexp substitution and a jinja-filter ought to be enough
>> (i.e. we just write {{ c.comments|e|issue_links }} in the template where
>> issue_links is a python function applying the regex).
>
> Jinja is going to enable all kinds of goodness, isn't it?
;)
I'll see if I can get that thing working. It'd be cool to have.
For git/hg revision ids (which are 40 or 12 hex chars, respectively),
the same thing would work with linking changes, actually. :)
Cheers,
/Marcus
More information about the devel
mailing list