[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15243810#comment-15243810 ] Leif Hedstrom commented on TS-3808: --- All remaining Jira's are for 7.0.0, so moving this out to be continued for 7.0.0. If you rather close this, and make a new one for 7.0.0, please do so. > ☂ Testing HTTP/2 features by h2spec > > > Key: TS-3808 > URL: https://issues.apache.org/jira/browse/TS-3808 > Project: Traffic Server > Issue Type: Test > Components: HTTP/2 >Reporter: Masaori Koshiba >Assignee: Masaori Koshiba > Labels: Umbrella > Fix For: 7.0.0 > > > This is an umbrella ticket for testing HTTP/2 features of ATS by > [h2spec|https://github.com/summerwind/h2spec]. > Goal : pass all tests. > h3. Status > * ATS : {{9c707a89d58f0b635cc3c2070025ba08161beec0}} > * h2spec : {{v1.3.1}} > * All tests passed (71 tests, 71 passed, 0 skipped, 0 failed) > Basically ATS passes all tests, but we see failure intermittently. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14698928#comment-14698928 ] Masaori Koshiba commented on TS-3808: - TS-3834 is last one! We can resolve this in v6.0.0:D ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella Fix For: 6.1.0 This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{728f2c3a80c2a5947bed7d3bf1865f1a1a52d3f4}} * h2spec : {{v1.1.1}} * 68 tests, 66 passed, 1 skipped, 1 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** ✓ idle: Sends a RST_STREAM frame ** ✓ idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** ✓ Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** ✓ 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** ✓ Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** ✓ Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** ✓ Sends a CONTINUATION frame ** ✓ Sends multiple CONTINUATION frames ** ✓ Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** ✓ Sends a CONTINUATION frame followed by a frame on a different stream ** ✓ Sends a CONTINUATION frame with the stream identifier that is 0x0 ** ✓ Sends a CONTINUATION frame after the frame other than HEADERS, PUSH_PROMISE or CONTINUATION * 8.1. HTTP Request/Response Exchange ** ✓ Sends a HEADERS frame as HEAD request ** ✓ Sends
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14698963#comment-14698963 ] Masaori Koshiba commented on TS-3808: - I was wrong:\ Some tests have been added in master branch of h2spec since v1.1.1. And a test for {{4.3. Header Compression and Decompression}} is failed. This is reported as TS-3847. ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella Fix For: 6.1.0 This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{728f2c3a80c2a5947bed7d3bf1865f1a1a52d3f4}} * h2spec : {{v1.1.1}} * 68 tests, 66 passed, 1 skipped, 1 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** ✓ idle: Sends a RST_STREAM frame ** ✓ idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** ✓ Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** ✓ 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** ✓ Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** ✓ Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** ✓ Sends a CONTINUATION frame ** ✓ Sends multiple CONTINUATION frames ** ✓ Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** ✓ Sends a CONTINUATION frame followed by a frame on a different stream ** ✓ Sends a CONTINUATION frame with the stream identifier that is 0x0 ** ✓ Sends a CONTINUATION frame after the frame other than
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14693089#comment-14693089 ] Ryo Okubo commented on TS-3808: --- TS-3834 covers 5.4.1. Connection Error Handling ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella Fix For: 6.1.0 This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{35f11dd5aab06364547d423e26b3d5bc31c4b1e1}} * h2spec : {{v1.1.1}} * 68 tests, 48 passed, 1 skipped, 19 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** × idle: Sends a RST_STREAM frame ** × idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** × Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** × 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** × Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** × Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** × Sends a CONTINUATION frame ** × Sends multiple CONTINUATION frames ** × Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** × Sends a CONTINUATION frame followed by a frame on a different stream ** × Sends a CONTINUATION frame with the stream identifier that is 0x0 ** ✓ Sends a CONTINUATION frame after the frame other than HEADERS, PUSH_PROMISE or CONTINUATION * 8.1. HTTP Request/Response Exchange ** ✓ Sends a HEADERS frame as HEAD request ** × Sends a HEADERS frame
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14652894#comment-14652894 ] Masaori Koshiba commented on TS-3808: - TS-3814 covers {{8.1.2.2. Connection-Specific Header Fields}} ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{35f11dd5aab06364547d423e26b3d5bc31c4b1e1}} * h2spec : {{v1.1.1}} * 68 tests, 48 passed, 1 skipped, 19 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** × idle: Sends a RST_STREAM frame ** × idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** × Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** × 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** × Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** × Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** × Sends a CONTINUATION frame ** × Sends multiple CONTINUATION frames ** × Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** × Sends a CONTINUATION frame followed by a frame on a different stream ** × Sends a CONTINUATION frame with the stream identifier that is 0x0 * 8.1. HTTP Request/Response Exchange ** × Sends a HEADERS frame containing trailer part ** 8.1.2. HTTP Header Fields *** 8.1.2.2. Connection-Specific Header Fields × Sends a HEADERS frame that contains
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14651363#comment-14651363 ] Masaori Koshiba commented on TS-3808: - TS-3812 covers {{8.1. Sends a HEADERS frame containing trailer part}} ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{35f11dd5aab06364547d423e26b3d5bc31c4b1e1}} * h2spec : {{v1.1.1}} * 68 tests, 48 passed, 1 skipped, 19 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** × idle: Sends a RST_STREAM frame ** × idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** × Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** × 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** × Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** × Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** × Sends a CONTINUATION frame ** × Sends multiple CONTINUATION frames ** × Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** × Sends a CONTINUATION frame followed by a frame on a different stream ** × Sends a CONTINUATION frame with the stream identifier that is 0x0 * 8.1. HTTP Request/Response Exchange ** × Sends a HEADERS frame containing trailer part ** 8.1.2. HTTP Header Fields *** 8.1.2.2. Connection-Specific Header Fields × Sends a HEADERS frame that
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14651366#comment-14651366 ] Masaori Koshiba commented on TS-3808: - TS-3813 covers {{half closed (remote): Sends a HEADERS frame}} in {{5.1. Stream States}} ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{35f11dd5aab06364547d423e26b3d5bc31c4b1e1}} * h2spec : {{v1.1.1}} * 68 tests, 48 passed, 1 skipped, 19 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** × idle: Sends a RST_STREAM frame ** × idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** × Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** × 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** × Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** × Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** × Sends a CONTINUATION frame ** × Sends multiple CONTINUATION frames ** × Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** × Sends a CONTINUATION frame followed by a frame on a different stream ** × Sends a CONTINUATION frame with the stream identifier that is 0x0 * 8.1. HTTP Request/Response Exchange ** × Sends a HEADERS frame containing trailer part ** 8.1.2. HTTP Header Fields *** 8.1.2.2. Connection-Specific Header Fields × Sends a
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14650353#comment-14650353 ] Masakazu Kitajo commented on TS-3808: - TS-3811 covers 6.9.1 The Flow Control Window. ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{35f11dd5aab06364547d423e26b3d5bc31c4b1e1}} * h2spec : {{v1.1.1}} * 68 tests, 48 passed, 1 skipped, 19 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** × idle: Sends a RST_STREAM frame ** × idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** × Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** × 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** × Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** × Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** × Sends a CONTINUATION frame ** × Sends multiple CONTINUATION frames ** × Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** × Sends a CONTINUATION frame followed by a frame on a different stream ** × Sends a CONTINUATION frame with the stream identifier that is 0x0 * 8.1. HTTP Request/Response Exchange ** × Sends a HEADERS frame containing trailer part ** 8.1.2. HTTP Header Fields *** 8.1.2.2. Connection-Specific Header Fields × Sends a HEADERS frame that contains the
[jira] [Commented] (TS-3808) ☂ Testing HTTP/2 features by h2spec
[ https://issues.apache.org/jira/browse/TS-3808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14649705#comment-14649705 ] Masakazu Kitajo commented on TS-3808: - Some of stream errors are treated as connection errors. TS-3497 will fix it. ☂ Testing HTTP/2 features by h2spec Key: TS-3808 URL: https://issues.apache.org/jira/browse/TS-3808 Project: Traffic Server Issue Type: Test Components: HTTP/2 Reporter: Masaori Koshiba Labels: Umbrella This is an umbrella ticket for testing HTTP/2 features of ATS by [h2spec|https://github.com/summerwind/h2spec]. Goal : pass all tests. h3. Status * ATS : {{35f11dd5aab06364547d423e26b3d5bc31c4b1e1}} * h2spec : {{v1.1.1}} * 68 tests, 48 passed, 1 skipped, 19 failed h4. Details * 3.5. HTTP/2 Connection Preface ** ✓ Sends invalid connection preface * 4.2. Frame Size ** ✓ Sends large size frame that exceeds the SETTINGS_MAX_FRAME_SIZE * 4.3. Header Compression and Decompression ** ✓ Sends invalid header block fragment * 5.1. Stream States ** ✓ idle: Sends a DATA frame ** × idle: Sends a RST_STREAM frame ** × idle: Sends a WINDOW_UPDATE frame ** ✓ 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 CONTINUATION frame ** 5.1.1. Stream Identifiers *** ✓ Sends even-numbered stream identifier ** 5.1.2. Stream Concurrency *** Skipped: SETTINGS_MAX_CONCURRENT_STREAMS is unlimited * 5.3. Stream Priority ** 5.3.1. Stream Dependencies *** × Sends HEADERS frame that depend on itself *** ✓ Sends PRIORITY frame that depend on itself * 5.4. Error Handling ** 5.4.1. Connection Error Handling *** × Receives a GOAWAY frame * 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 opend ** ✓ Sends a DATA frame with invalid pad length * 6.2. HEADERS ** ✓ Sends a HEADERS frame followed by any frame other than CONTINUATION ** ✓ Sends a HEADERS frame followed by a frame on a different stream ** ✓ 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 ** ✓ Sends a SETTINGS frame that is not a zero-length with ACK flag ** ✓ Sends a SETTINGS frame with the stream identifier that is not 0x0 ** × 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 *** ✓ 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 * 6.7. PING ** ✓ Sends a PING frame ** ✓ Sends a PING frame with the stream identifier that is not 0x0 ** ✓ Sends a PING frame with a length field value other than 8 * 6.8. GOAWAY ** ✓ Sends a GOAWAY frame with the stream identifier that is not 0x0 * 6.9. WINDOW_UPDATE ** ✓ Sends a WINDOW_UPDATE frame ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 ** ✓ Sends a WINDOW_UPDATE frame with an flow control window increment of 0 on a stream ** ✓ Sends a WINDOW_UPDATE frame with a length other than a multiple of 4 octets ** 6.9.1. The Flow Control Window *** × Sends multiple WINDOW_UPDATE frames on a connection increasing the flow control window to above 2^31-1 *** × Sends multiple WINDOW_UPDATE frames on a stream increasing the flow control window to above 2^31-1 ** 6.9.2. Initial Flow Control Window Size *** ✓ Sends a SETTINGS_INITIAL_WINDOW_SIZE settings with an exceeded maximum window size value * 6.10. CONTINUATION ** × Sends a CONTINUATION frame ** × Sends multiple CONTINUATION frames ** × Sends a CONTINUATION frame followed by any frame other than CONTINUATION ** × Sends a CONTINUATION frame followed by a frame on a different stream ** × Sends a CONTINUATION frame with the stream identifier that is 0x0 * 8.1. HTTP Request/Response Exchange ** × Sends a HEADERS frame containing trailer part ** 8.1.2. HTTP Header Fields *** 8.1.2.2. Connection-Specific Header Fields × Sends a HEADERS frame