summaryrefslogtreecommitdiffstats
path: root/src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 11:19:16 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-05 12:07:37 +0000
commitb485aab7e71c1625cfc27e0f92c9509f42378458 (patch)
treeae9abe108601079d1679194de237c9a435ae5b55 /src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t
parentAdding upstream version 1.44.3. (diff)
downloadnetdata-b485aab7e71c1625cfc27e0f92c9509f42378458.tar.xz
netdata-b485aab7e71c1625cfc27e0f92c9509f42378458.zip
Adding upstream version 1.45.3+dfsg.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t')
-rw-r--r--src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t b/src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t
new file mode 100644
index 000000000..0985534b2
--- /dev/null
+++ b/src/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t
@@ -0,0 +1,61 @@
+use strict;
+use warnings;
+
+use Test::TCP;
+use Test::More tests => 9;
+
+use Server::Starter qw(start_server);
+
+test_tcp(
+ server => sub {
+ my $port = shift;
+ start_server(
+ port => $port,
+ exec => [ $^X, qw(t/02-startfail-server.pl) ],
+ );
+ },
+ client => sub {
+ my ($port, $server_pid) = @_;
+ my $buf;
+ sleep 3;
+ {
+ my $sock = IO::Socket::INET->new(
+ PeerAddr => "127.0.0.1:$port",
+ Proto => 'tcp',
+ );
+ ok($sock, 'connect');
+ # check generation
+ ok($sock->sysread($buf, 1048576), 'read');
+ is($buf, 2, 'check generation');
+ }
+ # request restart, that will fail
+ kill 'HUP', $server_pid;
+ sleep 1;
+ {
+ my $sock = IO::Socket::INET->new(
+ PeerAddr => "127.0.0.1:$port",
+ Proto => 'tcp',
+ );
+ ok($sock, 'connect');
+ ok(
+ $sock->sysread($buf, 1048576),
+ 'read while worker is failing to reboot',
+ );
+ is($buf, 2, 'check generation');
+ }
+ # wait until server succeds in reboot
+ sleep 5;
+ {
+ my $sock = IO::Socket::INET->new(
+ PeerAddr => "127.0.0.1:$port",
+ Proto => 'tcp',
+ );
+ ok($sock, 'connect');
+ ok(
+ $sock->sysread($buf, 1048576),
+ 'read after worker succeeds to reboot',
+ );
+ is($buf, 5, 'check generation');
+ }
+ },
+);