Annotation of embedaddon/curl/tests/libtest/test1013.pl, revision 1.1

1.1     ! misho       1: #!/usr/bin/env perl
        !             2: #***************************************************************************
        !             3: #                                  _   _ ____  _
        !             4: #  Project                     ___| | | |  _ \| |
        !             5: #                             / __| | | | |_) | |
        !             6: #                            | (__| |_| |  _ <| |___
        !             7: #                             \___|\___/|_| \_\_____|
        !             8: #
        !             9: # Copyright (C) 1998 - 2020, 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: # Determine if curl-config --protocols/--features matches the
        !            24: # curl --version protocols/features
        !            25: if ( $#ARGV != 2 )
        !            26: {
        !            27:     print "Usage: $0 curl-config-script curl-version-output-file features|protocols\n";
        !            28:     exit 3;
        !            29: }
        !            30: 
        !            31: my $what=$ARGV[2];
        !            32: 
        !            33: # Read the output of curl --version
        !            34: my $curl_protocols="";
        !            35: open(CURL, "$ARGV[1]") || die "Can't get curl $what list\n";
        !            36: while( <CURL> )
        !            37: {
        !            38:     $curl_protocols = lc($_) if ( /$what:/i );
        !            39: }
        !            40: close CURL;
        !            41: 
        !            42: $curl_protocols =~ s/\r//;
        !            43: $curl_protocols =~ /\w+: (.*)$/;
        !            44: @curl = split / /,$1;
        !            45: 
        !            46: # These features are not supported by curl-config
        !            47: @curl = grep(!/^(Debug|TrackMemory|Metalink|Largefile|CharConv)$/i, @curl);
        !            48: @curl = sort @curl;
        !            49: 
        !            50: # Read the output of curl-config
        !            51: my @curl_config;
        !            52: open(CURLCONFIG, "sh $ARGV[0] --$what|") || die "Can't get curl-config $what list\n";
        !            53: while( <CURLCONFIG> )
        !            54: {
        !            55:     chomp;
        !            56:     # ignore curl-config --features not in curl's feature list
        !            57:     push @curl_config, lc($_);
        !            58: }
        !            59: close CURLCONFIG;
        !            60: 
        !            61: @curl_config = sort @curl_config;
        !            62: 
        !            63: my $curlproto = join ' ', @curl;
        !            64: my $curlconfigproto = join ' ', @curl_config;
        !            65: 
        !            66: my $different = $curlproto ne $curlconfigproto;
        !            67: if ($different) {
        !            68:     print "Mismatch in $what lists:\n";
        !            69:     print "curl:        $curlproto\n";
        !            70:     print "curl-config: $curlconfigproto\n";
        !            71: }
        !            72: exit $different;

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