summaryrefslogtreecommitdiffstats
path: root/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-04-19 02:57:58 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 02:57:58 +0000
commitbe1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch)
tree9754ff1ca740f6346cf8483ec915d4054bc5da2d /web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t
parentInitial commit. (diff)
downloadnetdata-upstream.tar.xz
netdata-upstream.zip
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t')
-rw-r--r--web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t61
1 files changed, 61 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t b/web/server/h2o/libh2o/misc/p5-Server-Starter/t/02-startfail.t
new file mode 100644
index 00000000..0985534b
--- /dev/null
+++ b/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');
+ }
+ },
+);