h2specd

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

h2specd

Kazu Yamamoto (山本和彦)
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

Reply | Threaded
Open this post in threaded view
|

Re: h2specd

Ilya Grigorik
Neat! 

As an idea, and since h2 push is a hot topic... I'd be really nice if we had some tests for that. Although, admittedly it'd be nice if we had agreement on what those behaviors ought to be - e.g. see [1]. In absence of that, perhaps even simple logging for what happens when such cases are triggered would be a nice head start.

On Thu, Aug 4, 2016 at 6:44 PM, Kazu Yamamoto <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

Re: h2specd

Tom Bergan
In reply to this post by Kazu Yamamoto (山本和彦)
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 <[hidden email]> 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


Reply | Threaded
Open this post in threaded view
|

RE: h2specd

Mike Bishop
In reply to this post by Kazu Yamamoto (山本和彦)
I like the idea, but I misunderstood the intent from your message.  I read it as a set of tests *for* an HTTP/2 server, but looking at the GitHub page, it appears to *be* an HTTP server that tests clients.  Is that correct?  If so, I'd like to see the reverse as well -- submitting similar cases to an HTTP/2 server to test compliance.

-----Original Message-----
From: Kazu Yamamoto [mailto:[hidden email]]
Sent: Thursday, August 4, 2016 6:45 PM
To: [hidden email]
Cc: [hidden email]
Subject: h2specd

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


Reply | Threaded
Open this post in threaded view
|

Re: h2specd

Matthew Kerwin

On 9 August 2016 at 09:50, Mike Bishop <[hidden email]> wrote:
I like the idea, but I misunderstood the intent from your message.  I read it as a set of tests *for* an HTTP/2 server, but looking at the GitHub page, it appears to *be* an HTTP server that tests clients.  Is that correct?  If so, I'd like to see the reverse as well -- submitting similar cases to an HTTP/2 server to test compliance.


​h2spec
already exists[1]; I use it to test my dev server.
h2specd is, presumably the daemon/server equivalent.

Cheers

--
  Matthew Kerwin
  http://matthew.kerwin.net.au/
Reply | Threaded
Open this post in threaded view
|

Re: h2specd

Kazu Yamamoto (山本和彦)
In reply to this post by Mike Bishop
Hi Mike,

> I like the idea, but I misunderstood the intent from your message.
> I read it as a set of tests *for* an HTTP/2 server, but looking at
> the GitHub page, it appears to *be* an HTTP server that tests
> clients.  Is that correct?  If so, I'd like to see the reverse as
> well -- submitting similar cases to an HTTP/2 server to test
> compliance.

I'm very sorry. You are right.

h2specd is a server to test *browsers*!

# I'm also a contributor to h2spec. I was confused when I wrote the
# message.

--Kazu