diff --git a/tests/Makefile.am b/tests/Makefile.am index 51a26d1e6a..cd017e15aa 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -28,8 +28,8 @@ MANDISTPAGES = runtests.1.dist testcurl.1.dist EXTRA_DIST = appveyor.pm azure.pm badsymbols.pl check-deprecated.pl CMakeLists.txt \ dictserver.py directories.pm disable-scan.pl error-codes.pl extern-scan.pl \ - FILEFORMAT.md ftp.pm ftpserver.pl getpart.pm http-server.pl http2-server.pl http3-server.pl \ - manpage-scan.pl manpage-syntax.pl markdown-uppercase.pl mem-include-scan.pl \ + FILEFORMAT.md processhelp.pm ftpserver.pl getpart.pm http-server.pl http2-server.pl \ + http3-server.pl manpage-scan.pl manpage-syntax.pl markdown-uppercase.pl mem-include-scan.pl \ memanalyze.pl negtelnetserver.py nroff-scan.pl option-check.pl options-scan.pl \ pathhelp.pm README.md rtspserver.pl runtests.1 runtests.pl secureserver.pl \ serverhelp.pm smbserver.py sshhelp.pm sshserver.pl stunnel.pem symbol-scan.pl \ diff --git a/tests/appveyor.pm b/tests/appveyor.pm index 0ef89714a2..801e394762 100644 --- a/tests/appveyor.pm +++ b/tests/appveyor.pm @@ -23,9 +23,22 @@ # ########################################################################### +package appveyor; + use strict; use warnings; +BEGIN { + use base qw(Exporter); + + our @EXPORT = qw( + appveyor_check_environment + appveyor_create_test_result + appveyor_update_test_result + ); +} + + my %APPVEYOR_TEST_NAMES; sub appveyor_check_environment { diff --git a/tests/azure.pm b/tests/azure.pm index 97eac5b4b5..a3925e75ab 100644 --- a/tests/azure.pm +++ b/tests/azure.pm @@ -23,9 +23,23 @@ # ########################################################################### +package azure; + use strict; use warnings; +BEGIN { + use base qw(Exporter); + + our @EXPORT = qw( + azure_check_environment + azure_create_test_run + azure_create_test_result + azure_update_test_result + azure_update_test_run + ); +} + use POSIX qw(strftime); sub azure_check_environment { diff --git a/tests/convsrctest.pl b/tests/convsrctest.pl index 73969c5d02..34504bafd7 100755 --- a/tests/convsrctest.pl +++ b/tests/convsrctest.pl @@ -42,7 +42,9 @@ # - URL as literal string vs. passed as argument #======================================================================= use strict; -require "getpart.pm"; +use warnings; + +use getpart; # Boilerplate code for test tool my $head = @@ -165,7 +167,7 @@ sub generate_c { } } - print ("/* $comment */\n", + print("/* $comment */\n", $head, @decl, $init, @@ -196,7 +198,7 @@ sub generate_test { # Traverse the pseudo-XML transforming as required my @new; my(@path,$path,$skip); - foreach (getall()) { + foreach (fulltest()) { if(my($end) = /\s*<(\/?)testcase>/) { push @new, $_; push @new, "# $comment\n" diff --git a/tests/directories.pm b/tests/directories.pm index e698b285e7..238f7e03eb 100644 --- a/tests/directories.pm +++ b/tests/directories.pm @@ -21,7 +21,24 @@ # SPDX-License-Identifier: curl # ########################################################################### -%file_chmod1 = ( + +package directories; + +use strict; +use warnings; + +BEGIN { + use base qw(Exporter); + + our @EXPORT = qw( + ftp_contentlist + wildcard_filesize + wildcard_getfile + ); +} + + +my %file_chmod1 = ( 'name' => 'chmod1', 'content' => "This file should have permissions 444\n", 'perm' => 'r--r--r--', @@ -29,7 +46,7 @@ 'dostime' => '01-11-10 10:00AM', ); -%file_chmod2 = ( +my %file_chmod2 = ( 'name' => 'chmod2', 'content' => "This file should have permissions 666\n", 'perm' => 'rw-rw-rw-', @@ -37,7 +54,7 @@ 'dostime' => '02-01-10 08:00AM', ); -%file_chmod3 = ( +my %file_chmod3 = ( 'name' => 'chmod3', 'content' => "This file should have permissions 777\n", 'perm' => 'rwxrwxrwx', @@ -45,7 +62,7 @@ 'dostime' => '02-01-10 08:00AM', ); -%file_chmod4 = ( +my %file_chmod4 = ( 'type' => 'd', 'name' => 'chmod4', 'content' => "This file should have permissions 001\n", @@ -54,7 +71,7 @@ 'dostime' => '05-04-10 04:31AM' ); -%file_chmod5 = ( +my %file_chmod5 = ( 'type' => 'd', 'name' => 'chmod5', 'content' => "This file should have permissions 110\n", @@ -63,7 +80,7 @@ 'dostime' => '05-04-10 04:31AM' ); -%link_link = ( +my %link_link = ( 'type' => 'l', 'name' => 'link -> file.txt', 'size' => '8', @@ -71,7 +88,7 @@ 'time' => 'Jan 6 4:42' ); -%link_link_absolute = ( +my %link_link_absolute = ( 'type' => 'l', 'name' => 'link_absolute -> /data/ftp/file.txt', 'size' => '15', @@ -79,7 +96,7 @@ 'time' => 'Jan 6 4:45' ); -%dir_dot = ( +my %dir_dot = ( 'type' => "d", 'name' => ".", 'hlink' => "4", @@ -89,7 +106,7 @@ 'perm' => "rwxrwxrwx" ); -%dir_ddot = ( +my %dir_ddot = ( 'type' => "d", 'name' => "..", 'hlink' => "4", @@ -99,7 +116,7 @@ 'perm' => "rwxrwxrwx" ); -%dir_weirddir_txt = ( +my %dir_weirddir_txt = ( 'type' => "d", 'name' => "weirddir.txt", 'hlink' => "2", @@ -109,7 +126,7 @@ 'perm' => "rwxr-xrwx" ); -%dir_UNIX = ( +my %dir_UNIX = ( 'type' => "d", 'name' => "UNIX", 'hlink' => "11", @@ -119,7 +136,7 @@ 'perm' => "rwx--x--x" ); -%dir_DOS = ( +my %dir_DOS = ( 'type' => "d", 'name' => "DOS", 'hlink' => "11", @@ -129,7 +146,7 @@ 'perm' => "rwx--x--x" ); -%dir_dot_NeXT = ( +my %dir_dot_NeXT = ( 'type' => "d", 'name' => ".NeXT", 'hlink' => "4", @@ -139,7 +156,7 @@ 'perm' => "rwxrwxrwx" ); -%file_empty_file_dat = ( +my %file_empty_file_dat = ( 'name' => "empty_file.dat", 'content' => "", 'perm' => "rw-r--r--", @@ -147,7 +164,7 @@ 'dostime' => "04-27-10 11:01AM" ); -%file_file_txt = ( +my %file_file_txt = ( 'name' => "file.txt", 'content' => "This is content of file \"file.txt\"\n", 'time' => "Apr 27 11:01", @@ -155,7 +172,7 @@ 'perm' => "rw-r--r--" ); -%file_someothertext_txt = ( +my %file_someothertext_txt = ( 'name' => "someothertext.txt", 'content' => "Some junk ;-) This file does not really exist.\n", 'time' => "Apr 27 11:01", @@ -163,7 +180,7 @@ 'perm' => "rw-r--r--" ); -%lists = ( +my %lists = ( '/fully_simulated/' => { 'files' => [ \%dir_dot, \%dir_ddot, \%dir_DOS, \%dir_UNIX ], 'eol' => "\r\n", @@ -188,12 +205,12 @@ } ); -sub ftp_createcontent($) { - my (%list) = @_; +sub ftp_createcontent { + my ($list) = $_[0]; - $type = $$list{'type'}; - $eol = $$list{'eol'}; - $list_ref = $$list{'files'}; + my $type = $$list{'type'}; + my $eol = $$list{'eol'}; + my $list_ref = $$list{'files'}; my @diroutput; my @contentlist; @@ -206,11 +223,11 @@ sub ftp_createcontent($) { my $fuser = $file{'user'} ? sprintf("%15s", $file{'user'}) : "ftp-default"; my $fgroup = $file{'group'} ? sprintf("%15s", $file{'group'}) : "ftp-default"; my $fsize = ""; - if($file{'type'} eq "d") { + if(exists($file{'type'}) && $file{'type'} eq "d") { $fsize = $file{'size'} ? sprintf("%7s", $file{'size'}) : sprintf("%7d", 4096); } else { - $fsize = sprintf("%7d", length $file{'content'}); + $fsize = sprintf("%7d", exists($file{'content'}) ? length $file{'content'} : 0); } my $fhlink = $file{'hlink'} ? sprintf("%4d", $file{'hlink'}) : " 1"; my $ftime = $file{'time'} ? sprintf("%10s", $file{'time'}) : "Jan 9 1933"; @@ -225,7 +242,7 @@ sub ftp_createcontent($) { my $line = ""; my $time = $file{'dostime'} ? $file{'dostime'} : "06-25-97 09:12AM"; my $size_or_dir; - if($file{'type'} =~ /^d$/) { + if(exists($file{'type'}) && $file{'type'} =~ /^d$/) { $size_or_dir = "