test #448
h2spec-http2 ✅
❌ h2spec-http2.xml
94 tests were completed in NaNms with 72 passed, 22 failed and 0 skipped.
✅ 3.5. HTTP/2 Connection Preface
✅ Sends client connection preface
✅ Sends invalid connection preface
✅ 4.1. Frame Format
✅ Sends a frame with unknown type
✅ Sends a frame with undefined flag
✅ Sends a frame with reserved field bit
✅ 4.2. Frame Size
✅ Sends a DATA frame with 2^14 octets in length
✅ Sends a large size DATA frame that exceeds the SETTINGS_MAX_FRAME_SIZE
✅ Sends a large size HEADERS frame that exceeds the SETTINGS_MAX_FRAME_SIZE
✅ 4.3. Header Compression and Decompression
✅ Sends invalid header block fragment
✅ Sends a PRIORITY frame while sending the header blocks
✅ Sends a HEADERS frame to another stream while sending the header blocks
❌ 5.1. Stream States
✅ idle: Sends a DATA frame
✅ idle: Sends a RST_STREAM frame
❌ idle: Sends a WINDOW_UPDATE frame
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ idle: Sends a CONTINUATION frame
✅ half closed (remote): Sends a DATA frame
✅ half closed (remote): Sends a HEADERS frame
✅ half closed (remote): Sends a CONTINUATION frame
✅ closed: Sends a DATA frame after sending RST_STREAM frame
✅ closed: Sends a HEADERS frame after sending RST_STREAM frame
✅ closed: Sends a CONTINUATION frame after sending RST_STREAM frame
✅ closed: Sends a DATA frame
✅ closed: Sends a HEADERS frame
✅ closed: Sends a CONTINUATION frame
✅ 5.1.1. Stream Identifiers
✅ Sends even-numbered stream identifier
✅ Sends stream identifier that is numerically smaller than previous
❌ 5.1.2. Stream Concurrency
❌ Sends HEADERS frames that causes their advertised concurrent stream limit to be exceeded
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ 5.3.1. Stream Dependencies
✅ Sends HEADERS frame that depends on itself
✅ Sends PRIORITY frame that depend on itself
✅ 5.4.1. Connection Error Handling
✅ Sends an invalid PING frame for connection close
✅ 5.5. Extending HTTP/2
✅ Sends an unknown extension frame
✅ Sends an unknown extension frame in the middle of a header block
✅ 6.1. DATA
✅ Sends a DATA frame with 0x0 stream identifier
✅ Sends a DATA frame on the stream that is not in "open" or "half-closed (local)" state
✅ Sends a DATA frame with invalid pad length
✅ 6.10. CONTINUATION
✅ Sends multiple CONTINUATION frames preceded by a HEADERS frame
✅ Sends a CONTINUATION frame followed by any frame other than CONTINUATION
✅ Sends a CONTINUATION frame with 0x0 stream identifier
✅ Sends a CONTINUATION frame preceded by a HEADERS frame with END_HEADERS flag
✅ Sends a CONTINUATION frame preceded by a CONTINUATION frame with END_HEADERS flag
✅ Sends a CONTINUATION frame preceded by a DATA frame
✅ 6.2. HEADERS
✅ Sends a HEADERS frame without the END_HEADERS flag, and a PRIORITY frame
✅ Sends a HEADERS frame to another stream while sending a HEADERS frame
✅ Sends a HEADERS frame with 0x0 stream identifier
✅ Sends a HEADERS frame with invalid pad length
✅ 6.3. PRIORITY
✅ Sends a PRIORITY frame with 0x0 stream identifier
✅ Sends a PRIORITY frame with a length other than 5 octets
✅ 6.4. RST_STREAM
✅ Sends a RST_STREAM frame with 0x0 stream identifier
✅ Sends a RST_STREAM frame on a idle stream
✅ Sends a RST_STREAM frame with a length other than 4 octets
❌ 6.5. SETTINGS
❌ Sends a SETTINGS frame with ACK flag and payload
GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
❌ Sends a SETTINGS frame with a stream identifier other than 0x0
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ Sends a SETTINGS frame with a length other than a multiple of 6 octets
❌ 6.5.2. Defined SETTINGS Parameters
❌ SETTINGS_ENABLE_PUSH (0x2): Sends the value other than 0 or 1
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ SETTINGS_INITIAL_WINDOW_SIZE (0x4): Sends the value above the maximum flow control window size
✅ SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value below the initial value
✅ SETTINGS_MAX_FRAME_SIZE (0x5): Sends the value above the maximum allowed frame size
✅ Sends a SETTINGS frame with unknown identifier
❌ 6.5.3. Settings Synchronization
❌ Sends multiple values of SETTINGS_INITIAL_WINDOW_SIZE
DATA Frame (length:1, flags:0x00, stream_id:1)
✅ Sends a SETTINGS frame without ACK flag
✅ 6.7. PING
✅ Sends a PING frame
✅ Sends a PING frame with ACK
✅ Sends a PING frame with a stream identifier field value other than 0x0
✅ Sends a PING frame with a length field value other than 8
✅ 6.8. GOAWAY
✅ Sends a GOAWAY frame with a stream identifier other than 0x0
❌ 6.9. WINDOW_UPDATE
❌ Sends a WINDOW_UPDATE frame with a flow control window increment of 0
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ Sends a WINDOW_UPDATE frame with a flow control window increment of 0 on a stream
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ Sends a WINDOW_UPDATE frame with a length other than 4 octets
GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
❌ 6.9.1. The Flow-Control Window
❌ Sends SETTINGS frame to set the initial window size to 1 and sends HEADERS frame
DATA Frame (length:1, flags:0x00, stream_id:1)
❌ Sends multiple WINDOW_UPDATE frames increasing the flow control window to above 2^31-1
GOAWAY Frame (Error Code: FLOW_CONTROL_ERROR)
❌ Sends multiple WINDOW_UPDATE frames increasing the flow control window to above 2^31-1 on a stream
RST_STREAM Frame (Error Code: FLOW_CONTROL_ERROR)
❌ 6.9.2. Initial Flow-Control Window Size
❌ Changes SETTINGS_INITIAL_WINDOW_SIZE after sending HEADERS frame
DATA Frame (length:1, flags:0x00, stream_id:1)
❌ Sends a SETTINGS frame for window size to be negative
DATA Frame (length:1, flags:0x00, stream_id:1)
✅ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value
✅ 7. Error Codes
✅ Sends a GOAWAY frame with unknown error code
✅ Sends a RST_STREAM frame with unknown error code
✅ 8.1. HTTP Request/Response Exchange
✅ Sends a second HEADERS frame without the END_STREAM flag
❌ 8.1.2. HTTP Header Fields
❌ Sends a HEADERS frame that contains the header field name in uppercase letters
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ 8.1.2.1. Pseudo-Header Fields
❌ Sends a HEADERS frame that contains a unknown pseudo-header field
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ Sends a HEADERS frame that contains the pseudo-header field defined for response
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ Sends a HEADERS frame that contains a pseudo-header field as trailers
❌ Sends a HEADERS frame that contains a pseudo-header field that appears in a header block after a regular header field
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ 8.1.2.2. Connection-Specific Header Fields
❌ Sends a HEADERS frame that contains the connection-specific header field
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ Sends a HEADERS frame that contains the TE header field with any value other than "trailers"
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ 8.1.2.3. Request Pseudo-Header Fields
✅ Sends a HEADERS frame with empty ":path" pseudo-header field
✅ Sends a HEADERS frame that omits ":method" pseudo-header field
✅ Sends a HEADERS frame that omits ":scheme" pseudo-header field
✅ Sends a HEADERS frame that omits ":path" pseudo-header field
✅ Sends a HEADERS frame with duplicated ":method" pseudo-header field
✅ Sends a HEADERS frame with duplicated ":scheme" pseudo-header field
✅ Sends a HEADERS frame with duplicated ":path" pseudo-header field
❌ 8.1.2.6. Malformed Requests and Responses
❌ Sends a HEADERS frame with the "content-length" header field which does not equal the DATA frame payload length
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
❌ Sends a HEADERS frame with the "content-length" header field which does not equal the sum of the multiple DATA frames payload length
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
✅ 8.2. Server Push
✅ Sends a PUSH_PROMISE frame
Annotations
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
5.1. Stream States ► idle: Sends a WINDOW_UPDATE frame
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Raw output
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Timeout
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
5.1.2. Stream Concurrency ► Sends HEADERS frames that causes their advertised concurrent stream limit to be exceeded
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Raw output
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
GOAWAY Frame (Error Code: REFUSED_STREAM)
RST_STREAM Frame (Error Code: REFUSED_STREAM)
Connection closed
DATA Frame (length:0, flags:0x01, stream_id:65)
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.5. SETTINGS ► Sends a SETTINGS frame with ACK flag and payload
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
Raw output
GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
Connection closed
Timeout
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.5. SETTINGS ► Sends a SETTINGS frame with a stream identifier other than 0x0
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Raw output
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
SETTINGS Frame (length:0, flags:0x01, stream_id:0)
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.5.2. Defined SETTINGS Parameters ► SETTINGS_ENABLE_PUSH (0x2): Sends the value other than 0 or 1
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Raw output
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
SETTINGS Frame (length:0, flags:0x01, stream_id:0)
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.5.3. Settings Synchronization ► Sends multiple values of SETTINGS_INITIAL_WINDOW_SIZE
Failed test found in:
h2spec-http2.xml
Error:
DATA Frame (length:1, flags:0x00, stream_id:1)
Raw output
DATA Frame (length:1, flags:0x00, stream_id:1)
DATA Frame (length:16, flags:0x00, stream_id:1)
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.9. WINDOW_UPDATE ► Sends a WINDOW_UPDATE frame with a flow control window increment of 0
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Raw output
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Connection closed
Timeout
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.9. WINDOW_UPDATE ► Sends a WINDOW_UPDATE frame with a flow control window increment of 0 on a stream
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
Raw output
GOAWAY Frame (Error Code: PROTOCOL_ERROR)
RST_STREAM Frame (Error Code: PROTOCOL_ERROR)
Connection closed
DATA Frame (length:0, flags:0x01, stream_id:1)
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.9. WINDOW_UPDATE ► Sends a WINDOW_UPDATE frame with a length other than 4 octets
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
Raw output
GOAWAY Frame (Error Code: FRAME_SIZE_ERROR)
Connection closed
Timeout
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.9.1. The Flow-Control Window ► Sends SETTINGS frame to set the initial window size to 1 and sends HEADERS frame
Failed test found in:
h2spec-http2.xml
Error:
DATA Frame (length:1, flags:0x00, stream_id:1)
Raw output
DATA Frame (length:1, flags:0x00, stream_id:1)
DATA Frame (length:16, flags:0x00, stream_id:1)
Check failure on line 0 in h2spec-http2.xml
github-actions / h2spec-http2
6.9.1. The Flow-Control Window ► Sends multiple WINDOW_UPDATE frames increasing the flow control window to above 2^31-1
Failed test found in:
h2spec-http2.xml
Error:
GOAWAY Frame (Error Code: FLOW_CONTROL_ERROR)
Raw output
GOAWAY Frame (Error Code: FLOW_CONTROL_ERROR)
Timeout