VirtualBox

source: vbox/trunk/src/libs/openssl-3.0.7/test/recipes/81-test_cmp_cli.t@ 99507

最後變更 在這個檔案從99507是 94320,由 vboxsync 提交於 3 年 前

libs/openssl-3.0.1: Export to OSE and fix copyright headers in Makefiles, bugref:10128

檔案大小: 3.0 KB
 
1#! /usr/bin/env perl
2# Copyright 2007-2021 The OpenSSL Project Authors. All Rights Reserved.
3# Copyright Nokia 2007-2019
4# Copyright Siemens AG 2015-2019
5#
6# Licensed under the Apache License 2.0 (the "License"). You may not use
7# this file except in compliance with the License. You can obtain a copy
8# in the file LICENSE in the source distribution or at
9# https://www.openssl.org/source/license.html
10
11use strict;
12use warnings;
13
14use POSIX;
15use File::Compare qw/compare_text/;
16use OpenSSL::Test qw/:DEFAULT with srctop_file srctop_dir bldtop_dir result_file/;
17use OpenSSL::Test::Utils;
18
19BEGIN {
20 setup("test_cmp_cli");
21}
22use lib srctop_dir('Configurations');
23use lib bldtop_dir('.');
24
25plan skip_all => "These tests are not supported in a fuzz build"
26 if config('options') =~ /-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION/;
27
28plan skip_all => "These tests are not supported in a no-cmp build"
29 if disabled("cmp");
30
31# Prevent MSys2 filename munging for arguments that look like file paths but
32# aren't
33$ENV{MSYS2_ARG_CONV_EXCL} = "/CN=";
34
35my @app = qw(openssl cmp);
36
37my @cmp_basic_tests = (
38 [ "show help", [ "-help" ], 1 ],
39 [ "CLI option not starting with '-'", [ "days", "1" ], 0 ],
40 [ "unknown CLI option", [ "-dayss" ], 0 ],
41 [ "bad int syntax: non-digit", [ "-days", "a/" ], 0 ],
42 [ "bad int syntax: float", [ "-days", "3.14" ], 0 ],
43 [ "bad int syntax: trailing garbage", [ "-days", "314_+" ], 0 ],
44 [ "bad int: out of range", [ "-days", "2147483648" ], 0 ],
45 );
46
47my @cmp_server_tests = (
48 [ "with polling", [ "-poll_count", "1" ], 1 ]
49 );
50
51# loader_attic doesn't build on VMS, so we don't test it
52push @cmp_server_tests, (
53 [ "with loader_attic engine", [ "-engine", "loader_attic"], 1 ]
54 )
55 unless disabled('loadereng');
56
57plan tests => @cmp_basic_tests + @cmp_server_tests;
58
59foreach (@cmp_basic_tests) {
60 my $title = $$_[0];
61 my $params = $$_[1];
62 my $expected = $$_[2];
63 ok($expected == run(app([@app, "-config", '', @$params])),
64 $title);
65}
66
67# these use the mock server directly in the cmp app, without TCP
68foreach (@cmp_server_tests) {
69 my $title = $$_[0];
70 my $extra_args = $$_[1];
71 my $expected = $$_[2];
72 my $secret = "pass:test";
73 my $rsp_cert = srctop_file('test', 'certs', 'ee-cert-1024.pem');
74 my $outfile = result_file("test.certout.pem");
75 ok($expected ==
76 run(app([@app, "-config", '', @$extra_args,
77 "-use_mock_srv", "-srv_ref", "mock server",
78 "-srv_secret", $secret,
79 "-rsp_cert", $rsp_cert,
80 "-cmd", "cr",
81 "-subject", "/CN=any",
82 "-newkey", srctop_file('test', 'certs', 'ee-key-1024.pem'),
83 "-secret", $secret,
84 "-ref", "client under test",
85 "-certout", $outfile]))
86 && compare_text($outfile, $rsp_cert) == 0,
87 $title);
88 # not unlinking $outfile
89}
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette