@@ -24,7 +24,7 @@ select STDERR; $| = 1;
2424select STDOUT ; $| = 1;
2525
2626my $t = Test::Nginx-> new()-> has(qw/ http http_v3 cryptx/ )
27- -> has_daemon(' openssl' )-> plan(5 )
27+ -> has_daemon(' openssl' )-> plan(6 )
2828 -> write_file_expand(' nginx.conf' , <<'EOF' );
2929
3030%%TEST_GLOBALS%%
@@ -84,7 +84,8 @@ local $TODO = 'no TLSv1.3 sessions in LibreSSL' if $t->has_module('LibreSSL');
8484
8585my $psk_list = $s -> {psk_list };
8686
87- $s = Test::Nginx::HTTP3-> new(8980, psk_list => $psk_list , early_data => {});
87+ $s = Test::Nginx::HTTP3-> new(8980, psk_list => $psk_list , early_data => {},
88+ start_chain => 1);
8889
8990TODO: {
9091local $TODO = ' no 0-RTT in OpenSSL compat layer'
@@ -99,7 +100,19 @@ is($frame->{headers}->{'x-early'}, '1', 'reused session is early');
99100
100101}
101102
103+ $s -> send_chain();
104+
102105$frames = $s -> read (all => [{ sid => $s -> new_stream(), fin => 1 }]);
106+
107+ TODO: {
108+ local $TODO = ' not yet'
109+ if $t -> has_version(' 1.27.1' ) && !$t -> has_version(' 1.27.4' );
110+
111+ ($frame ) = grep { $_ -> {type } eq " HANDSHAKE_DONE" } @$frames ;
112+ ok($frame , ' 1rtt after discarding 0rtt' );
113+
114+ }
115+
103116($frame ) = grep { $_ -> {type } eq " HEADERS" } @$frames ;
104117is($frame -> {headers }-> {' x-session' }, ' r' , ' reused session 1rtt' );
105118is($frame -> {headers }-> {' x-early' }, undef , ' reused session not early' );
0 commit comments