diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 06:33:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 06:33:51 +0000 |
commit | 4f0770f3df78ecd5dcaefbd214f7a1415366bca6 (patch) | |
tree | 72661b8f81594b855bcc967b819263f63fa30e17 /debian/perl-framework/t/apache/cfg_getline.t | |
parent | Adding upstream version 2.4.56. (diff) | |
download | apache2-debian.tar.xz apache2-debian.zip |
Adding debian version 2.4.56-1~deb11u2.debian/2.4.56-1_deb11u2debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/perl-framework/t/apache/cfg_getline.t')
-rw-r--r-- | debian/perl-framework/t/apache/cfg_getline.t | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/debian/perl-framework/t/apache/cfg_getline.t b/debian/perl-framework/t/apache/cfg_getline.t new file mode 100644 index 0000000..08f0231 --- /dev/null +++ b/debian/perl-framework/t/apache/cfg_getline.t @@ -0,0 +1,46 @@ +use strict; +use warnings FATAL => 'all'; + +use Apache::Test; +use Apache::TestRequest; +use Apache::TestUtil qw(t_write_file); + +use File::Spec; + +# test ap_cfg_getline / ap_varbuf_cfg_getline + +Apache::TestRequest::user_agent(keep_alive => 1); + +my $dir_foo = Apache::Test::vars('serverroot') . '/htdocs/cfg_getline'; + +# XXX: htaccess is limited to 8190 chars, would need different test +# XXX: method to test longer lines +my @test_cases = (100, 196 .. 202, 396 .. 402 , 596 .. 602 , 1016 .. 1030, + 8170 .. 8190); +plan tests => 2 * scalar(@test_cases), need need_lwp, + need_module('mod_include'), + need_module('mod_setenvif'); + +foreach my $len (@test_cases) { + my $prefix = 'SetEnvIf User-Agent ^ testvar='; + my $expect = 'a' x ($len - length($prefix)); + my $file = File::Spec->catfile(Apache::Test::vars('serverroot'), 'htdocs', + 'apache', 'cfg_getline', '.htaccess'); + t_write_file($file, "$prefix$expect\n"); + + my $response = GET('/apache/cfg_getline/index.shtml'); + my $rc = $response->code; + print "Got rc $rc for length $len\n"; + ok($rc == 200); + + my $got = $response->content; + my $match; + if ($got =~ /^'$expect'/) { + $match = 1; + } + else { + print "Got $got\n", + "expected '$expect'\n"; + } + ok($match); +} |