Mercurial > hg > nginx-tests
comparison h2.t @ 766:a764054d457f
Tests: adopt h2.t to the changed max_field_size behaviour.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 28 Oct 2015 00:11:46 +0300 |
parents | 14d6f69b7d9d |
children | fc846cf75c34 |
comparison
equal
deleted
inserted
replaced
765:14d6f69b7d9d | 766:a764054d457f |
---|---|
30 eval { IO::Socket::SSL::SSL_VERIFY_NONE(); }; | 30 eval { IO::Socket::SSL::SSL_VERIFY_NONE(); }; |
31 plan(skip_all => 'IO::Socket::SSL too old') if $@; | 31 plan(skip_all => 'IO::Socket::SSL too old') if $@; |
32 | 32 |
33 my $t = Test::Nginx->new()->has(qw/http http_ssl http_v2 proxy cache/) | 33 my $t = Test::Nginx->new()->has(qw/http http_ssl http_v2 proxy cache/) |
34 ->has(qw/limit_conn rewrite realip shmem/) | 34 ->has(qw/limit_conn rewrite realip shmem/) |
35 ->has_daemon('openssl')->plan(279); | 35 ->has_daemon('openssl')->plan(282); |
36 | 36 |
37 # Some systems may have also a bug in not treating zero writev iovcnt as EINVAL | 37 # Some systems may have also a bug in not treating zero writev iovcnt as EINVAL |
38 | 38 |
39 $t->todo_alerts(); | 39 $t->todo_alerts(); |
40 | 40 |
195 | 195 |
196 server { | 196 server { |
197 listen 127.0.0.1:8087 http2; | 197 listen 127.0.0.1:8087 http2; |
198 server_name localhost; | 198 server_name localhost; |
199 | 199 |
200 http2_max_field_size 32; | 200 http2_max_field_size 22; |
201 } | 201 } |
202 | 202 |
203 server { | 203 server { |
204 listen 127.0.0.1:8088 http2; | 204 listen 127.0.0.1:8088 http2; |
205 server_name localhost; | 205 server_name localhost; |
1838 | 1838 |
1839 } | 1839 } |
1840 | 1840 |
1841 # max_field_size | 1841 # max_field_size |
1842 | 1842 |
1843 TODO: { | |
1844 local $TODO = 'not yet'; | |
1845 | |
1843 $sess = new_session(8087); | 1846 $sess = new_session(8087); |
1844 $sid = new_stream($sess, { headers => [ | 1847 $sid = new_stream($sess, { headers => [ |
1845 { name => ':method', value => 'GET', mode => 0 }, | 1848 { name => ':method', value => 'GET', mode => 0 }, |
1846 { name => ':scheme', value => 'http', mode => 0 }, | 1849 { name => ':scheme', value => 'http', mode => 0 }, |
1847 { name => ':path', value => '/t2.html', mode => 1 }, | 1850 { name => ':path', value => '/t2.html', mode => 1 }, |
1848 { name => ':authority', value => 'localhost', mode => 1 }, | 1851 { name => ':authority', value => 'localhost', mode => 1 }, |
1849 { name => 'longname10', value => 'valu5' x 4 . 'x', mode => 2 }]}); | 1852 { name => 'longname10' x 2 . 'x', value => 'value', mode => 2 }]}); |
1850 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 1853 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); |
1851 | 1854 |
1852 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | 1855 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; |
1853 ok($frame, 'field size less'); | 1856 ok($frame, 'field name size less'); |
1854 | 1857 |
1855 $sid = new_stream($sess, { headers => [ | 1858 $sid = new_stream($sess, { headers => [ |
1856 { name => ':method', value => 'GET', mode => 0 }, | 1859 { name => ':method', value => 'GET', mode => 0 }, |
1857 { name => ':scheme', value => 'http', mode => 0 }, | 1860 { name => ':scheme', value => 'http', mode => 0 }, |
1858 { name => ':path', value => '/t2.html', mode => 1 }, | 1861 { name => ':path', value => '/t2.html', mode => 1 }, |
1859 { name => ':authority', value => 'localhost', mode => 1 }, | 1862 { name => ':authority', value => 'localhost', mode => 1 }, |
1860 { name => 'longname10', value => 'valu5' x 4 . 'x', mode => 2 }]}); | 1863 { name => 'longname10' x 2 . 'x', value => 'value', mode => 2 }]}); |
1861 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 1864 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); |
1862 | 1865 |
1863 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | 1866 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; |
1864 ok($frame, 'field size second'); | 1867 ok($frame, 'field name size second'); |
1865 | 1868 |
1866 $sess = new_session(8087); | 1869 $sess = new_session(8087); |
1867 $sid = new_stream($sess, { headers => [ | 1870 $sid = new_stream($sess, { headers => [ |
1868 { name => ':method', value => 'GET', mode => 0 }, | 1871 { name => ':method', value => 'GET', mode => 0 }, |
1869 { name => ':scheme', value => 'http', mode => 0 }, | 1872 { name => ':scheme', value => 'http', mode => 0 }, |
1870 { name => ':path', value => '/t2.html', mode => 1 }, | 1873 { name => ':path', value => '/t2.html', mode => 1 }, |
1871 { name => ':authority', value => 'localhost', mode => 1 }, | 1874 { name => ':authority', value => 'localhost', mode => 1 }, |
1872 { name => 'longname10', value => 'valu5' x 4 . 'xx', mode => 2 }]}); | 1875 { name => 'longname10' x 2 . 'xx', value => 'value', mode => 2 }]}); |
1873 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 1876 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); |
1874 | 1877 |
1875 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | 1878 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; |
1876 ok($frame, 'field size equal'); | 1879 ok($frame, 'field name size equal'); |
1880 | |
1881 } | |
1877 | 1882 |
1878 $sess = new_session(8087); | 1883 $sess = new_session(8087); |
1879 $sid = new_stream($sess, { headers => [ | 1884 $sid = new_stream($sess, { headers => [ |
1880 { name => ':method', value => 'GET', mode => 0 }, | 1885 { name => ':method', value => 'GET', mode => 0 }, |
1881 { name => ':scheme', value => 'http', mode => 0 }, | 1886 { name => ':scheme', value => 'http', mode => 0 }, |
1882 { name => ':path', value => '/t2.html', mode => 1 }, | 1887 { name => ':path', value => '/t2.html', mode => 1 }, |
1883 { name => ':authority', value => 'localhost', mode => 1 }, | 1888 { name => ':authority', value => 'localhost', mode => 1 }, |
1884 { name => 'longname10', value => 'valu5' x 4 . 'xxx', mode => 2 }]}); | 1889 { name => 'longname10' x 2 . 'xxx', value => 'value', mode => 2 }]}); |
1885 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | 1890 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); |
1886 | 1891 |
1887 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | 1892 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; |
1888 is($frame, undef, 'field size greater'); | 1893 is($frame, undef, 'field name size greater'); |
1894 | |
1895 TODO: { | |
1896 local $TODO = 'not yet'; | |
1897 | |
1898 $sess = new_session(8087); | |
1899 $sid = new_stream($sess, { headers => [ | |
1900 { name => ':method', value => 'GET', mode => 0 }, | |
1901 { name => ':scheme', value => 'http', mode => 0 }, | |
1902 { name => ':path', value => '/t2.html', mode => 1 }, | |
1903 { name => ':authority', value => 'localhost', mode => 1 }, | |
1904 { name => 'name', value => 'valu5' x 4 . 'x', mode => 2 }]}); | |
1905 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | |
1906 | |
1907 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | |
1908 ok($frame, 'field value size less'); | |
1909 | |
1910 $sess = new_session(8087); | |
1911 $sid = new_stream($sess, { headers => [ | |
1912 { name => ':method', value => 'GET', mode => 0 }, | |
1913 { name => ':scheme', value => 'http', mode => 0 }, | |
1914 { name => ':path', value => '/t2.html', mode => 1 }, | |
1915 { name => ':authority', value => 'localhost', mode => 1 }, | |
1916 { name => 'name', value => 'valu5' x 4 . 'xx', mode => 2 }]}); | |
1917 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | |
1918 | |
1919 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | |
1920 ok($frame, 'field value size equal'); | |
1921 | |
1922 } | |
1923 | |
1924 $sess = new_session(8087); | |
1925 $sid = new_stream($sess, { headers => [ | |
1926 { name => ':method', value => 'GET', mode => 0 }, | |
1927 { name => ':scheme', value => 'http', mode => 0 }, | |
1928 { name => ':path', value => '/t2.html', mode => 1 }, | |
1929 { name => ':authority', value => 'localhost', mode => 1 }, | |
1930 { name => 'name', value => 'valu5' x 4 . 'xxx', mode => 2 }]}); | |
1931 $frames = h2_read($sess, all => [{ sid => $sid, fin => 1 }]); | |
1932 | |
1933 ($frame) = grep { $_->{type} eq 'DATA' } @$frames; | |
1934 is($frame, undef, 'field value size greater'); | |
1889 | 1935 |
1890 # max_header_size | 1936 # max_header_size |
1891 | 1937 |
1892 $sess = new_session(8088); | 1938 $sess = new_session(8088); |
1893 $sid = new_stream($sess, { headers => [ | 1939 $sid = new_stream($sess, { headers => [ |