]> git.ipfire.org Git - thirdparty/openssl.git/blob - test/recipes/04-test_conf.t
Raise an error on syscall failure in tls_retry_write_records
[thirdparty/openssl.git] / test / recipes / 04-test_conf.t
1 #! /usr/bin/env perl
2 # Copyright 2017-2021 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 use strict;
10 use warnings;
11
12 use OpenSSL::Test qw(:DEFAULT data_file);
13 use OpenSSL::Test::Utils;
14 use File::Compare qw(compare_text);
15
16 setup('test_conf');
17
18 my %input_result = (
19 'dollarid_on.cnf' => 'dollarid_on.txt',
20 'dollarid_off.cnf' => 'dollarid_off.txt',
21 );
22
23 plan skip_all => 'This is unsupported for cross compiled configurations'
24 if config('CROSS_COMPILE');
25
26 plan tests => 2 * scalar(keys %input_result);
27
28 foreach (sort keys %input_result) {
29 SKIP: {
30 my $input_path = data_file($_);
31 my $expected_path = data_file($input_result{$_});
32 my $result_path = "test_conf-$_-stdout";
33
34 skip "Problem dumping $_", 1
35 unless ok(run(test([ 'confdump', $input_path ],
36 stdout => $result_path)),
37 "dumping $_");
38 is(compare_text($result_path, $expected_path, sub {
39 my $in1 = $_[0];
40 my $in2 = $_[1];
41 $in1 =~ s/\r\n/\n/g;
42 $in2 =~ s/\r\n/\n/g;
43 $in1 ne $in2}), 0,
44 "comparing the dump of $_ with $input_result{$_}");
45 }
46 }