Last change
on this file since 105770 was 104078, checked in by vboxsync, 8 months ago |
openssl-3.1.5: Applied and adjusted our OpenSSL changes to 3.1.4. bugref:10638
|
File size:
1.8 KB
|
Line | |
---|
1 | #! /usr/bin/env perl
|
---|
2 | # Copyright 2015-2016 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 OpenSSL::Test qw/:DEFAULT srctop_file/;
|
---|
11 |
|
---|
12 | setup("test_ordinals");
|
---|
13 |
|
---|
14 | plan tests => 2;
|
---|
15 |
|
---|
16 | ok(testordinals(srctop_file("util", "libcrypto.num")), "Test libcrypto.num");
|
---|
17 | ok(testordinals(srctop_file("util", "libssl.num")), "Test libssl.num");
|
---|
18 |
|
---|
19 | sub testordinals
|
---|
20 | {
|
---|
21 | my $filename = shift;
|
---|
22 | my $cnt = 0;
|
---|
23 | my $ret = 1;
|
---|
24 | my $qualifier = "";
|
---|
25 | my $newqual;
|
---|
26 | my $lastfunc = "";
|
---|
27 |
|
---|
28 | open(my $fh, '<', $filename);
|
---|
29 | while (my $line = <$fh>) {
|
---|
30 | my @tokens = split(/(?:\s+|\s*:\s*)/, $line);
|
---|
31 | #Check the line looks sane
|
---|
32 | if ($#tokens < 5 || $#tokens > 6) {
|
---|
33 | print STDERR "Invalid line:\n$line\n";
|
---|
34 | $ret = 0;
|
---|
35 | last;
|
---|
36 | }
|
---|
37 | if ($tokens[3] eq "NOEXIST") {
|
---|
38 | #Ignore this line
|
---|
39 | next;
|
---|
40 | }
|
---|
41 | #Some ordinals can be repeated, e.g. if one is VMS and another is !VMS
|
---|
42 | $newqual = $tokens[4];
|
---|
43 | $newqual =~ s/!//g;
|
---|
44 | my $number = $tokens[1];
|
---|
45 | $number = $cnt + 1 if $number eq '?';
|
---|
46 | $number = $cnt if $number eq '?+';
|
---|
47 | if ($cnt > $number
|
---|
48 | || ($cnt == $number && ($qualifier ne $newqual
|
---|
49 | || $qualifier eq ""))) {
|
---|
50 | print STDERR "Invalid ordinal detected: ".$tokens[1]."\n";
|
---|
51 | $ret = 0;
|
---|
52 | last;
|
---|
53 | }
|
---|
54 | $cnt = $tokens[1];
|
---|
55 | $qualifier = $newqual;
|
---|
56 | $lastfunc = $tokens[0];
|
---|
57 | }
|
---|
58 | close($fh);
|
---|
59 |
|
---|
60 | return $ret;
|
---|
61 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.