Re: [tap] "ok 1 description" vs "ok 1 - description"

Steffen Schwigon <ss5@renormalist.net> Wed, 04 February 2009 22:16 UTC

Return-Path: <ss5@renormalist.net>
X-Original-To: tap@core3.amsl.com
Delivered-To: tap@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 690273A6934 for <tap@core3.amsl.com>; Wed, 4 Feb 2009 14:16:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MYpA-xV3xwI4 for <tap@core3.amsl.com>; Wed, 4 Feb 2009 14:16:22 -0800 (PST)
Received: from h132974.serverkompetenz.net (renormalist.net [81.169.141.46]) by core3.amsl.com (Postfix) with ESMTP id BB8E23A685A for <tap@ietf.org>; Wed, 4 Feb 2009 14:16:21 -0800 (PST)
Received: from ss5 by h132974.serverkompetenz.net with local (Exim 4.63) (envelope-from <ss5@renormalist.net>) id 1LUq2J-0005rH-95 for tap@ietf.org; Wed, 04 Feb 2009 23:15:59 +0100
To: tap@ietf.org
References: <497A77D0.8070500@pobox.com> <335014.20536.qm@web65715.mail.ac4.yahoo.com> <20090124115427.GC9114@pjcj.net> <87vds4podb.fsf@renormalist.net> <497B8530.4080903@pobox.com> <873aezxgen.fsf@renormalist.net> <4984E18D.7000606@pobox.com> <87tz7fvv0h.fsf@renormalist.net> <49850F8C.4020904@pobox.com> <87eiyhvr4f.fsf@renormalist.net> <49893207.30406@pobox.com>
From: Steffen Schwigon <ss5@renormalist.net>
Date: Wed, 04 Feb 2009 23:15:59 +0100
In-Reply-To: <49893207.30406@pobox.com> (Michael G. Schwern's message of "Tue, 03 Feb 2009 22:13:27 -0800")
Message-ID: <87k585c0gw.fsf@renormalist.net>
User-Agent: Gnus/5.1008 (Gnus v5.10.8) XEmacs/21.4.19 (linux)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [tap] "ok 1 description" vs "ok 1 - description"
X-BeenThere: tap@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Test Anything Protocol WG discussions <tap.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tap>, <mailto:tap-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tap>
List-Post: <mailto:tap@ietf.org>
List-Help: <mailto:tap-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tap>, <mailto:tap-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Feb 2009 22:16:23 -0000

Hi!

[Don't worry. Just explanations follow, I will agree you in the end.]

[And I write some words bold, just for better readability, not
shouting.]


Michael G Schwern <schwern@pobox.com> writes:
> Steffen Schwigon wrote:
>> Hm, not neccessarily as I provide an API to evaluate the archived
>> TAP by descriptions. It would just work as long as I control the
>> evaluation environment, which I still do at the moment.
>
> Are you going to be passing interpretations of the descriptions back
> and forth between different implementations?

No, not back and forth, but through 3 independent layers:

 1. producer,
 2. abstract API (using TAP::Parser),
 3. query tools (using the API).

I am level 2, level 1 and 3 just use me.


> That is, when does the interpretation of the description matter to
> anything but a single implementation?

It's about beeing *the description is the interface*.

I do *not* provide TAP::Parser directly but provide an abstract API
which can search for a description and let others write third-party
tools which depend on what they themself pushed in the *beginning* of
the process queue and let them also query results at the *end* of the
queue about their own descriptions.

Then they depend on my middle layer (TAP::Parser) beeing *constant*
in these descriptions throughout the years.

Because if today they query results for "- DESCRIPTION" (because they
created it with dash) and TAP::Parser changes later then they will not
find the results because it's now just "DESCRIPTION".

Changing this behaviour was what I was worrying about in the beginning
of the discussion.


>>> What are you doing with them?
>> 
>> Archiving to track history of testruns and recognize result
>> changes. Probably similar to Smolder, I think, maybe more
>> finegrained. Therefore I care for single tests and their
>> descriptions.
>
> Looking at it another way, the WORST thing that happens with mixing
> a legacy producer which isn't aware of the dash with a post-spec,
> dash stripping parser is that the description might get interpreted
> wrong and you can't associate a description with it's historical
> results

Near the truth. Indeed. It's about matching "historical results", yes.

My users own the "entry" and the "exit" of the queue. My task is to
provide the stable "middle layer".


> (though that would indicate that the test started using a different
> producer, which stretching this scenario even further).

Hm, not exactly. My problem is about starting to use a different
*middle layer* in an environment with different producers at the same
time.


> Since using the description as a unique test ID is already a
> heuristic (something that was discussed in some depth at Oslo) your
> system must already be resistant to this problem.

Fully correct. But *that* (i.e., create useful descriptions they can
later query again) is *their* responsibility, because they own "entry"
and "exit".

My layer is the middle one, therefore *my* task is about the stability
of the description.


> Finally, if the parser always strips the optional dash it should always come
> out the same whether the producer uses a leading dash or not

*EXACTLY*. That's why in the mean time I *FULLY AGREE* with you.

(I hope you made it through here. :-)

Because that would make my middle layer independent from the different
provider styles by "stabilising" or "harmonizing" the descriptions in
a defined way.

And all my reports from different producers would always be queryable
in the same way, independent from their "dash style".


> EXCEPT for one contrived case.  When a description deliberately is
> supposed to have a leading " -".  I can only think of a fairly
> contrived example, but if you wanted to output, say, Morse code

I *really* had to lough here. :-)


> Is this edge case important?

Of course. Supporting Morse descriptions is a strong MUST HAVE. :-)
No, not really.


> It seems one simple way to allay your fears is to simply go through
> your historical TAP archives and look for instances where a
> description starts with "- ".

I don't need to. For the above "stabilizing" effect I'm willing to fix
the third party tools around me to just query without dashes, once
that dash is optional. And in the mean time I need to be able to fuzzy
search anyway somehow.

Am I strange? Or is it my approach? I should probably print out this
mail and present it on the next yapc::europe. :-)


Kind regards,
Steffen 
-- 
Steffen Schwigon <ss5@renormalist.net>
Dresden Perl Mongers <http://dresden-pm.org/>
German Perl-Workshop 2009 <http://www.perl-workshop.de/en/2009>