hyperium / h3

MIT License
610 stars 81 forks source link

Setup h3spec in CI #110

Open seanmonstar opened 2 years ago

seanmonstar commented 2 years ago

Similar to how we check h2spec in h2, it could be a good idea to set up a CI job to check the library with h3spec (or alternatives if they are more complete).

Ruben2424 commented 2 years ago

I have done the CI Setup in #112. But some tests get skiped because these are failing.

The skiped:

        --skip "/QUIC servers/MUST send PROTOCOL_VIOLATION if CRYPTO in 0-RTT is received [TLS 8.3]/" \
        --skip "/QUIC servers/MUST send TRANSPORT_PARAMETER_ERROR if original_destination_connection_id is received [Transport 18.2]/" \
        --skip "/QUIC servers/MUST send TRANSPORT_PARAMETER_ERROR if retry_source_connection_id is received [Transport 18.2]/" \
        --skip "/QUIC servers/MUST send PROTOCOL_VIOLATION on no frames [Transport 12.4]/" \
        --skip "/HTTP/3 servers/MUST send H3_MESSAGE_ERROR if a pseudo-header is duplicated [HTTP/3 4.1.1]/" \
        --skip "/HTTP/3 servers/MUST send H3_FRAME_UNEXPECTED if CANCEL_PUSH is received in a request stream [HTTP/3 7.2.5]/" \
        --skip "/HTTP/3 servers/MUST send QPACK_ENCODER_STREAM_ERROR if a new dynamic table capacity value exceeds the limit [QPACK 4.1.3]/" \
        --skip "/HTTP/3 servers/MUST send QPACK_DECODER_STREAM_ERROR if Insert Count Increment is 0 [QPACK 4.4.3]/" \

Some of them may be outdated. But some need to be fixed.