mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
08073700cc
HPE NonStop Port Changes for 3.0.0 Includes unthreaded, PUT, and SPT for OSS. The port changes include wrapping where necessary for FLOSS and appropriate configuration changes to support that. Two tests are excluded as being inappropriate for the platform. The changes are: * Added /usr/local/include to nonstop-nsx_spt_floss to load floss.h * Added SPT Floss variant for NonStop * Wrapped FLOSS definitions in OPENSSL_TANDEM_FLOSS to allow selective enablement. * SPT build configuration for NonStop * Skip tests not relevant for NonStop * PUT configuration changes required for NonStop platforms * Configurations/50-nonstop.conf: updates for TNS/X platform. * FLOSS instrumentation for HPE NonStop TNS/X and TNS/E platforms. * Configurations/50-nonstop.conf: modifications for non-PUT TNS/E platform b * Fix use of DELAY in ssltestlib.c for HPNS. * Fixed commit merge issues and added floss to http_server.c CLA: Permission is granted by the author to the OpenSSL team to use these modifications. Fixes #5087. Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com> Reviewed-by: Shane Lontis <shane.lontis@oracle.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12800)
66 lines
2.1 KiB
Perl
66 lines
2.1 KiB
Perl
#! /usr/bin/env perl
|
|
# Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
# this file except in compliance with the License. You can obtain a copy
|
|
# in the file LICENSE in the source distribution or at
|
|
# https://www.openssl.org/source/license.html
|
|
|
|
use OpenSSL::Test qw/:DEFAULT srctop_dir bldtop_dir/;
|
|
use OpenSSL::Test::Utils;
|
|
use File::Temp qw(tempfile);
|
|
|
|
#Load configdata.pm
|
|
|
|
BEGIN {
|
|
setup("test_shlibload");
|
|
}
|
|
use lib srctop_dir('Configurations');
|
|
use lib bldtop_dir('.');
|
|
use platform;
|
|
|
|
plan skip_all => "Test only supported in a shared build" if disabled("shared");
|
|
plan skip_all => "Test is disabled on AIX" if config('target') =~ m|^aix|;
|
|
plan skip_all => "Test is disabled on NonStop" if config('target') =~ m|^nonstop|;
|
|
plan skip_all => "Test only supported in a dso build" if disabled("dso");
|
|
|
|
plan tests => 10;
|
|
|
|
my $libcrypto = platform->sharedlib('libcrypto');
|
|
my $libssl = platform->sharedlib('libssl');
|
|
|
|
(my $fh, my $filename) = tempfile();
|
|
ok(run(test(["shlibloadtest", "-crypto_first", $libcrypto, $libssl, $filename])),
|
|
"running shlibloadtest -crypto_first $filename");
|
|
ok(check_atexit($fh));
|
|
unlink $filename;
|
|
($fh, $filename) = tempfile();
|
|
ok(run(test(["shlibloadtest", "-ssl_first", $libcrypto, $libssl, $filename])),
|
|
"running shlibloadtest -ssl_first $filename");
|
|
ok(check_atexit($fh));
|
|
unlink $filename;
|
|
($fh, $filename) = tempfile();
|
|
ok(run(test(["shlibloadtest", "-just_crypto", $libcrypto, $libssl, $filename])),
|
|
"running shlibloadtest -just_crypto $filename");
|
|
ok(check_atexit($fh));
|
|
unlink $filename;
|
|
($fh, $filename) = tempfile();
|
|
ok(run(test(["shlibloadtest", "-dso_ref", $libcrypto, $libssl, $filename])),
|
|
"running shlibloadtest -dso_ref $filename");
|
|
ok(check_atexit($fh));
|
|
unlink $filename;
|
|
($fh, $filename) = tempfile();
|
|
ok(run(test(["shlibloadtest", "-no_atexit", $libcrypto, $libssl, $filename])),
|
|
"running shlibloadtest -no_atexit $filename");
|
|
ok(!check_atexit($fh));
|
|
unlink $filename;
|
|
|
|
sub check_atexit {
|
|
my $fh = shift;
|
|
my $data = <$fh>;
|
|
|
|
return 1 if (defined $data && $data =~ m/atexit\(\) run/);
|
|
|
|
return 0;
|
|
}
|