Re: [tap] Rethinking the TAP version
Michael G Schwern <schwern@pobox.com> Fri, 20 February 2009 23:24 UTC
Return-Path: <schwern@pobox.com>
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 1C1DD3A6B38 for <tap@core3.amsl.com>; Fri, 20 Feb 2009 15:24:10 -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 ke4iDdxOVX3z for <tap@core3.amsl.com>; Fri, 20 Feb 2009 15:24:09 -0800 (PST)
Received: from sasl.smtp.pobox.com (a-sasl-quonix.sasl.smtp.pobox.com [208.72.237.25]) by core3.amsl.com (Postfix) with ESMTP id 3A98A3A6AE9 for <tap@ietf.org>; Fri, 20 Feb 2009 15:24:07 -0800 (PST)
Received: from localhost.localdomain (unknown [127.0.0.1]) by b-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id 269402B936 for <tap@ietf.org>; Fri, 20 Feb 2009 18:24:22 -0500 (EST)
Received: from windhund.local (unknown [97.115.125.54]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTPSA id 6E8C82B935 for <tap@ietf.org>; Fri, 20 Feb 2009 18:24:21 -0500 (EST)
Message-ID: <499F3BA3.5010604@pobox.com>
Date: Fri, 20 Feb 2009 15:24:19 -0800
From: Michael G Schwern <schwern@pobox.com>
User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209)
MIME-Version: 1.0
To: tap@ietf.org
References: <499DF1D6.9020009@pobox.com> <20090220114947.GB16059@klangraum.plasmasturm.org>
In-Reply-To: <20090220114947.GB16059@klangraum.plasmasturm.org>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Pobox-Relay-ID: 9AB8047E-FFA5-11DD-A957-6F7C8D1D4FD0-02258300!a-sasl-quonix.pobox.com
Subject: Re: [tap] Rethinking the TAP version
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: Fri, 20 Feb 2009 23:24:10 -0000
Aristotle Pagaltzis wrote: > * Michael G Schwern <schwern@pobox.com> [2009-02-20 01:00]: >> I propose that the version number change to X.Y where X >> indicates the compatibility series and Y indicates an >> incremental, but still compatible, revision. Everything that >> can read protocol 2.0 can read 2.1 and 2.13 and 2.99 but if a >> 2.x parser sees 3.1 it knows it can't handle it and can act >> appropriately. Similarly, a 2.x parser is not guaranteed to be >> able to read 1.x. > > It sounds good in theory, but doesn’t work out very well in > practice. It’s only a win if you want to break backcompat often, > which is not a smart idea. But if you revv that major version > only once in every decade, you effectively create a new protocol > each time, not a revision to the old one. Going from `TAP version > 1.13` to `TAP version 2.0` is effectively indistinguishable from > going to `TAP2 version 1`, and you don’t need any version check > code to make consumers fail to parse future TAP versions. > > (That’s how we handled it in the Atom WG too. There’s no format > version in Atom; if backwards-incompatible changes are ever > necessary, the XML namespace will change, so old consumers will > fail to process the document at all.) I get what you're saying. The problem is we have no namespace. Technically, because we ignore anything we can't parse, everything is a TAP document. There's currently no way for a TAP parser to say "I can not parse this". TAP parsers will ignore any line they don't recognize. Upon failing to see a TAP version they will assume it's TAP version 12. At best, they'll see a suite with no tests and fail. At worst they'll only see the passing tests, miss new-style failures, and pass what should have failed. So we need some way to indicate a backwards incompatible change. -- <Schwern> What we learned was if you get confused, grab someone and swing them around a few times -- Life's lessons from square dancing
- [tap] Rethinking the TAP version Michael G Schwern
- Re: [tap] Rethinking the TAP version Aristotle Pagaltzis
- Re: [tap] Rethinking the TAP version Michael G Schwern
- Re: [tap] Rethinking the TAP version Eric Wilhelm
- Re: [tap] Rethinking the TAP version Aristotle Pagaltzis