Re: h2specd

Tom Bergan <tombergan@chromium.org> Mon, 08 August 2016 21:21 UTC

Return-Path: <ietf-http-wg-request+bounce-httpbisa-archive-bis2juki=lists.ie@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C833112D17E for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 8 Aug 2016 14:21:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -8.267
X-Spam-Level:
X-Spam-Status: No, score=-8.267 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.247, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=chromium.org
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FEVLBUIgBqeC for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Mon, 8 Aug 2016 14:21:06 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3ACBA12D191 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Mon, 8 Aug 2016 14:21:06 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.80) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1bWrvD-0004KF-No for ietf-http-wg-dist@listhub.w3.org; Mon, 08 Aug 2016 21:17:19 +0000
Resent-Date: Mon, 08 Aug 2016 21:17:19 +0000
Resent-Message-Id: <E1bWrvD-0004KF-No@frink.w3.org>
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtps (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <tombergan@chromium.org>) id 1bWrv7-0004J0-Pc for ietf-http-wg@listhub.w3.org; Mon, 08 Aug 2016 21:17:13 +0000
Received: from mail-it0-f51.google.com ([209.85.214.51]) by lisa.w3.org with esmtps (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <tombergan@chromium.org>) id 1bWrv0-00040M-51 for ietf-http-wg@w3.org; Mon, 08 Aug 2016 21:17:12 +0000
Received: by mail-it0-f51.google.com with SMTP id f6so94281851ith.0 for <ietf-http-wg@w3.org>; Mon, 08 Aug 2016 14:16:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=kkGwXK/8OKikXeGKLuXO9Z1u9j+4zMeE9ce7lVxMXJo=; b=kwDntXs0KzkIzOgdo7tSs2Ckv83u49FRjgvWVVBLkaKqePk8tCJd2nOfB5qGn2y5Si bD9hSPZ16i+pDacjJw3ZqSG63x8evS6SObn7mkfMDziST3NmsWmJyzkIqPGg91nkB50R EDTDMN0TMH9eK8eBfKBdfhgiunfN/IgfIQkDE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=kkGwXK/8OKikXeGKLuXO9Z1u9j+4zMeE9ce7lVxMXJo=; b=frYvP/LkaZcZRjpp1i9da+ZzWVZNC7GWIctj/Y55eHGUoNSBliNRk82ESKE6oZNcfk W089I9CcCDceXyomz16nTNXqpFC+qiZbcc/6luBsFcSZC1O0fj1TGm9WVFL4Qquu3Bbe AhM2exkRn8tcGxCfIZhGnvVxV3gK5FW4+bKu1uj8+RI/V4Erqal7BCu34XxtLp/l73j6 pzPOf91REGtQT5GcmY+IyFI99X8giUsdXKSXL/L/m/3SpfozWIZ4D4nZJi+seTVUkdei rqpJWtIu1XPbIYJCe/+8zd+AK/D1DsWoErRQA1R66blRL1hFA2Bvy9RqvrH3HCmP3/1m s3Kg==
X-Gm-Message-State: AEkoouvLXr2W/ZZzs9JJtImmK8MKjMYswNkoVW3CXsuU6KMRCJtyaRm71a7dc4bMrydpX0AP
X-Received: by 10.36.53.197 with SMTP id k188mr20118844ita.58.1470690999898; Mon, 08 Aug 2016 14:16:39 -0700 (PDT)
Received: from mail-io0-f174.google.com (mail-io0-f174.google.com. [209.85.223.174]) by smtp.gmail.com with ESMTPSA id h63sm15667ita.12.2016.08.08.14.16.39 for <ietf-http-wg@w3.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Aug 2016 14:16:39 -0700 (PDT)
Received: by mail-io0-f174.google.com with SMTP id q83so370421747iod.1 for <ietf-http-wg@w3.org>; Mon, 08 Aug 2016 14:16:39 -0700 (PDT)
X-Received: by 10.107.16.77 with SMTP id y74mr96078567ioi.161.1470690998827; Mon, 08 Aug 2016 14:16:38 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.48.136 with HTTP; Mon, 8 Aug 2016 14:16:38 -0700 (PDT)
In-Reply-To: <20160805.104444.1410432152555522623.kazu@iij.ad.jp>
References: <20160805.104444.1410432152555522623.kazu@iij.ad.jp>
From: Tom Bergan <tombergan@chromium.org>
Date: Mon, 08 Aug 2016 14:16:38 -0700
X-Gmail-Original-Message-ID: <CA+3+x5Fkdf3qOxBcZqnucx=U-Z5=ZbFqS4ezERtQBz7j=y+N6g@mail.gmail.com>
Message-ID: <CA+3+x5Fkdf3qOxBcZqnucx=U-Z5=ZbFqS4ezERtQBz7j=y+N6g@mail.gmail.com>
To: Kazu Yamamoto <kazu@iij.ad.jp>
Cc: HTTP Working Group <ietf-http-wg@w3.org>, razvan.certezeanu14@imperial.ac.uk
Content-Type: multipart/alternative; boundary="001a113e811c8fadb6053995ee16"
Received-SPF: pass client-ip=209.85.214.51; envelope-from=tombergan@chromium.org; helo=mail-it0-f51.google.com
X-W3C-Hub-Spam-Status: No, score=-4.7
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, W3C_AA=-1, W3C_WL=-1
X-W3C-Scan-Sig: lisa.w3.org 1bWrv0-00040M-51 b861126b249973078c1c823117b33e3e
X-Original-To: ietf-http-wg@w3.org
Subject: Re: h2specd
Archived-At: <http://www.w3.org/mid/CA+3+x5Fkdf3qOxBcZqnucx=U-Z5=ZbFqS4ezERtQBz7j=y+N6g@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/32232
X-Loop: ietf-http-wg@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>

That is great! It would also be great to have tests in the other direction.

A thought on the implementation: instead of forking Go's entire "net/http"
library, I think you could just import "golang.org/x/net/http2", make an
http2.Framer, then have each test case send a (mostly) canned list of raw
frames, where each test case closes the connection after the test case
completes. This way, you avoid any peculiarities in Go's http.Server and
also avoid accidentally leaking state between tests.

On Thu, Aug 4, 2016 at 6:44 PM, Kazu Yamamoto <kazu@iij.ad.jp> wrote:

> Hello,
>
> We IIJ-II have an intern student, Razvan Certezeanu (Cc:ed), this
> year.  He is now implementing a testing tool, called h2specd, for the
> HTTP/2 server side:
>
>         https://github.com/Certerazvi/h2specd
>
> Currently, only 12 test cases are provided and it is a little bit
> unstable.  But I think this is a good start. He stays in Japan until
> the end of August and concentrates to enhance h2specd. Any inputs are
> welcome.
>
> --Kazu
>
>