comparison h2_headers.t @ 1381:97c8280de681

Tests: removed TODO and try_run() checks for legacy versions.
author Sergey Kandaurov <pluknet@nginx.com>
date Mon, 08 Oct 2018 15:30:39 +0300
parents 9b737ad4260b
children 2f7d7953b2a8
comparison
equal deleted inserted replaced
1380:f50c7d90f5c9 1381:97c8280de681
653 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; 653 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
654 ok($frame, 'response header - parts'); 654 ok($frame, 'response header - parts');
655 655
656 SKIP: { 656 SKIP: {
657 skip 'response header failed', 1 unless $frame; 657 skip 'response header failed', 1 unless $frame;
658 skip 'broken sendfile', 1 if $^O eq 'freebsd' and
659 $Config{osvers} =~ '11.0-release' and
660 $t->read_file('nginx.conf') =~ /sendfile on/;
661 658
662 is(length join('', @{$frame->{headers}->{'x-longheader'}}), 98304, 659 is(length join('', @{$frame->{headers}->{'x-longheader'}}), 98304,
663 'response header - headers'); 660 'response header - headers');
664 661
665 } 662 }
956 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; 953 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
957 is($frame->{headers}->{'x-referer'}, 'see-this', 'after invalid header name'); 954 is($frame->{headers}->{'x-referer'}, 'see-this', 'after invalid header name');
958 955
959 # missing mandatory request header ':scheme' 956 # missing mandatory request header ':scheme'
960 957
961 TODO: {
962 local $TODO = 'not yet' unless $t->has_version('1.13.2');
963
964 $s = Test::Nginx::HTTP2->new(); 958 $s = Test::Nginx::HTTP2->new();
965 $sid = $s->new_stream({ headers => [ 959 $sid = $s->new_stream({ headers => [
966 { name => ':method', value => 'GET', mode => 0 }, 960 { name => ':method', value => 'GET', mode => 0 },
967 { name => ':path', value => '/', mode => 0 }, 961 { name => ':path', value => '/', mode => 0 },
968 { name => ':authority', value => 'localhost', mode => 1 }]}); 962 { name => ':authority', value => 'localhost', mode => 1 }]});
969 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); 963 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]);
970 964
971 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; 965 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
972 is($frame->{headers}->{':status'}, 400, 'incomplete headers'); 966 is($frame->{headers}->{':status'}, 400, 'incomplete headers');
973 967
974 }
975
976 # empty request header ':authority' 968 # empty request header ':authority'
977 969
978 $s = Test::Nginx::HTTP2->new(); 970 $s = Test::Nginx::HTTP2->new();
979 $sid = $s->new_stream({ headers => [ 971 $sid = $s->new_stream({ headers => [
980 { name => ':method', value => 'GET', mode => 0 }, 972 { name => ':method', value => 'GET', mode => 0 },
986 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; 978 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
987 is($frame->{headers}->{':status'}, 400, 'empty authority'); 979 is($frame->{headers}->{':status'}, 400, 'empty authority');
988 980
989 # client sent invalid :path header 981 # client sent invalid :path header
990 982
991 TODO: {
992 local $TODO = 'not yet' unless $t->has_version('1.13.9');
993
994 $sid = $s->new_stream({ path => 't1.html' }); 983 $sid = $s->new_stream({ path => 't1.html' });
995 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]); 984 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]);
996 985
997 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; 986 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
998 is($frame->{headers}->{':status'}, 400, 'invalid path'); 987 is($frame->{headers}->{':status'}, 400, 'invalid path');
999
1000 }
1001 988
1002 ############################################################################### 989 ###############################################################################
1003 990
1004 sub http_daemon { 991 sub http_daemon {
1005 my $server = IO::Socket::INET->new( 992 my $server = IO::Socket::INET->new(