Annotation of embedaddon/curl/tests/error-codes.pl, revision 1.1

1.1     ! misho       1: #!/usr/bin/env perl
        !             2: #***************************************************************************
        !             3: #                                  _   _ ____  _
        !             4: #  Project                     ___| | | |  _ \| |
        !             5: #                             / __| | | | |_) | |
        !             6: #                            | (__| |_| |  _ <| |___
        !             7: #                             \___|\___/|_| \_\_____|
        !             8: #
        !             9: # Copyright (C) 2010-2019, Daniel Stenberg, <daniel@haxx.se>, et al.
        !            10: #
        !            11: # This software is licensed as described in the file COPYING, which
        !            12: # you should have received as part of this distribution. The terms
        !            13: # are also available at https://curl.haxx.se/docs/copyright.html.
        !            14: #
        !            15: # You may opt to use, copy, modify, merge, publish, distribute and/or sell
        !            16: # copies of the Software, and permit persons to whom the Software is
        !            17: # furnished to do so, under the terms of the COPYING file.
        !            18: #
        !            19: # This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
        !            20: # KIND, either express or implied.
        !            21: #
        !            22: ###########################################################################
        !            23: #
        !            24: #
        !            25: 
        !            26: use strict;
        !            27: use warnings;
        !            28: 
        !            29: # we may get the dir root pointed out
        !            30: my $root=$ARGV[0] || ".";
        !            31: 
        !            32: my %error; # from the include file
        !            33: my %docs; # from libcurl-errors.3
        !            34: 
        !            35: sub getdocserrors {
        !            36:     open(F, "<$root/docs/libcurl/libcurl-errors.3");
        !            37:     while(<F>) {
        !            38:         if($_ =~ /^.IP \"(CURL[EM]_[^ \t\"]*)/) {
        !            39:             my ($symbol) = ($1);
        !            40:             if($symbol =~ /OBSOLETE/) {
        !            41:                 ;
        !            42:             }
        !            43:             else {
        !            44:                 $docs{$symbol}=1;
        !            45:             }
        !            46:         }
        !            47:     }
        !            48:     close(F);
        !            49: }
        !            50: 
        !            51: sub getincludeerrors {
        !            52:     open(F, "<$root/docs/libcurl/symbols-in-versions");
        !            53:     while(<F>) {
        !            54:         if($_ =~ /^(CURL[EM]_[^ \t]*)[ \t]*([0-9.]+)[ \t]*(.*)/) {
        !            55:             my ($symbol, $added, $rest) = ($1,$2,$3);
        !            56:             if($rest =~ /^([0-9.]+)/) {
        !            57:                 # removed!
        !            58:             }
        !            59:             else {
        !            60:                 $error{$symbol}=$added;
        !            61:             }
        !            62:         }
        !            63:     }
        !            64:     close(F);
        !            65: }
        !            66: 
        !            67: getincludeerrors();
        !            68: getdocserrors();
        !            69: 
        !            70: for(sort keys %error) {
        !            71:     if($error{$_} && !$docs{$_}) {
        !            72:         print "$_ is not in libcurl-errors.3\n";
        !            73:     }
        !            74: }
        !            75: 
        !            76: for(sort keys %docs) {
        !            77:     if($docs{$_} && !$error{$_}) {
        !            78:         print "$_ is not in symbols-in-versions\n";
        !            79:     }
        !            80: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>