1#! /usr/bin/env perl 2# Copyright 2023 The OpenSSL Project Authors. All Rights Reserved. 3# 4# Licensed under the Apache License 2.0 (the "License"). You may not use 5# this file except in compliance with the License. You can obtain a copy 6# in the file LICENSE in the source distribution or at 7# https://www.openssl.org/source/license.html 8 9 10use OpenSSL::Test; 11use OpenSSL::Test::Utils; 12use OpenSSL::Test qw/:DEFAULT data_file bldtop_dir srctop_dir srctop_file/; 13 14setup("test_external_cf_quiche"); 15 16plan skip_all => "No external tests in this configuration" 17 if disabled("external-tests"); 18plan skip_all => "Cloudflare quiche tests not available on Windows or VMS" 19 if $^O =~ /^(VMS|MSWin32)$/; 20plan skip_all => "Cloudflare quiche tests only available with QUIC support" 21 if disabled("quic"); 22plan skip_all => "Cloudflare & Boringssl not checked out" 23 if ! -f srctop_file("cloudflare-quiche", "quiche", "deps", "boringssl", "LICENSE"); 24 25plan tests => 3; 26 27ok(run(cmd(["sh", data_file("quiche-build.sh")])), 28 "running Cloudflare quiche build"); 29 30ok(run(cmd(["sh", data_file("quiche-server.sh")])), 31 "running Cloudflare quiche server"); 32 33ok(run(test(["quic_client_test"])), 34 "running quic_client_test"); 35 36open my $fh, '<', "server.pid" 37 or die "Error opening server.pid - $!\n"; 38$serverpid = <$fh>; 39close($fh); 40 41kill('TERM', $serverpid); 42sleep(1); 43kill('KILL', $serverpid); 44waitpid($serverpid, 0); 45