Our new smoke server now has some extra links with the name of SYN in the right margin of the page, where one SYN link corresponds to one smoke report:
Click on one of these links and you will be redirected to a list of Synopses. Enter one synopsis, say, ``02 Syntax'', and you will find out the magic.
As you can see, these synopses contain test passing/failing marks in the code snippets. (This feature was originally suggested by Christopher++ and Gaal++.) For example:
Note that TODO tests are marked as passing only if they're actually passing (i.e., unexpected passing from the perspective of implementers) and they're marked as failing only if they're actually failing (i.e. expected failing). I don't introduce special marks for these tests because added complexity will lead to unnecessary confusion.
Skipped tests have no marks at all and the intention is straightforward. Just don't mistake blank tests for smartlinks.pl's bugs or something like that. ;)
There's also brief stats info in the link name so that you can see how many sub-tests are failing and how many are not without actually expanding the code snippet. (Thanks Juerd++ for suggesting this one.) For instance:- Show the snippet from t/var/var.t (line 13 ~ line 132 —
30 √, 0 ×) -
On top of the web page, there's a header like this:
This page was generated at 2006-09-17 05:58:59 GMT. (syn r12136, pugs r13398)
where the revision number for pugs is extracted from the corresponding smoker's report. Christopher has ensured the version of the Pugs test suite used by the smoke server matches exactly the smoker's local Pugs. The timestamp was proposed by Juerd while the revision numbers for both syn and pugs were proposed by [particle]++.
All the Synopses on the smoke server are updated periodically by cron, even including old smoke reports that had been processed. We're trying to offer you the latest Perl 6 Spec everywhere. :)
For more details on the original motivation and Christopher's design decisions, please read the p6c threads below:
Thanks Gaal and Larry's
tests.yml while I was implementing smoke result rendering feature in
smartlinks.pl many weeks ago. At last but not least, I really appreciate Christopher's
work on the smoke server/client mechanism to make this feature truly useful.
(We don't need auto-smoking
on feather any more, whee!) And I also thank iblech++ (yes, iblech's alive!) for helping
Christopher through the whole process.
The Synopses on feather will still go without smoke results, since smoke results are always specific to a certain Perl 6 implementation or a Pugs backend. We hope you will still like it. :)
Audrey once said on #perl6 that she was biased to fix tests with smartlinks. And [particle] recently said that he had started a port of smartlinks.pl to PIR so as to cross-reference PGE's tests with the Synopses and parrot PDDs. Furthermore, I've seen more and more people are adding both tests and smartlinks to the Pugs test suite, which is really really wonderful. :D