NAME

Changes - Apache::Test change logfile

CHANGES

1.05 - October 23, 2003

core scanning changes [Stas] - speedup by not chdir'ing into subdirs - an optional scanning of only t/ dir (used by TestSmoke) - don't scan on win32, since it has no core files

in the autogenerated t/conf/modperl_inc.pl don't add the project/lib directory, unless a special env var APACHE_TEST_LIVE_DEV is true. This is because some projects change things in project/blib and pushing project/lib on top of @INC, breaks the test suite for them [Stas]

TestRun was using httpd.pid file to ensure that the server is killed before starting it, if the file existed. This was a problem on win32 platforms, where a process scheduler tries to re-use the pids that were just freed, which may have killed a valid process which is not even Apache.exe. So we try not to rely on that file, and if the server wasn't properly stopped and still running, users will learn about that, since the port will be busy, and Apache will fail to start. Users have to kill it manually. TestSmoke is no longer using an explicit kill `cat httpd.pid` to stop Apache, but delegates the stopping procedure to TestRun [Steve Hay, Randy Kobes]

use IPC::Run3 in Apache::TestSmoke to run t/TEST commands, so as t/SMOKE can be used on Win32 [Stas, Steve Hay, Randy Kobes]

place mod_perl-specific directives in <IfModule> containers within httpd.conf, allowing the default server to start if mod_perl isn't present. [Geoffrey Young]

fix t/request.t to get /index.html, instead of / since not everybody uses mod_dir [Steve Piner <stevep@marketview.co.nz>]

when testing whether Apache started as root and running under 'nobody' or alike, will be able to -r/-w/-x in t/ use 'su' instead of 'sudo', the latter is not available on all unix platforms. [Vivek Khera <khera@kcilink.com>]

in the Apache/test.pm nuke code s/PERLRUN/FULLPERL/ as older MakeMaker doesn't have the PERLRUN target [Stas]

Apache 1.3 servers now run in standard prefork mode under normal operation. single server mode (httpd -X) was replaced with MaxClients set to 1 by default. [Geoffrey Young]

1.04 - September 29, 2003

if the server stops reading from the client before it has sent all its data, Apache::TestClient (which is used when LWP is not available) would just die without any error message (5.8.1) because no SIGPIPE handler was setup and the Broken Pipe error was missed. Replacing 'print $s' with $s->send() solves this problem: Apache::TestClient will just move on without bailing out. [Stas]

if env var APACHE_TEST_PRETEND_NO_LWP is true, Apache::Test will pretend that LWP is not available. useful for testing whether the test suite will survive on a system which doesn't have libwww-perl installed. [Stas]

Apache::TestSmoke provides a new mode: -bug_mode, which runs an equivalent of plain 't/TEST' but generates a lot of useful debug information, in addition to matching the core files to the tests that caused them. [Stas]

Apache::TestSmoke now scans for core files, just like Apache::TestRun does [Stas]

Allow the creation of name based virtual hosts by supplying <VirtualHost servername:module> containers in .conf.in$ files. [André Malo]

fix Apache::TestSSLCA to generate a separate index.txt file for each module, as on certain platforms openssl fails to re-use the same file. [Stas]

remove the unused example section from t/conf/extra.conf.in, it made an assumption that mod_auth is available [Stas]

in the autogenerated t/conf/httpd.conf include mod_alias and mod_mime loading, in case they were built as a shared object and wasn't loaded from the system-wide httpd.conf from which Apache::Test inherits the config. [Stas]

added have_apache_mpm() function [Geoffrey Young]

when moving test-specific config directives from __DATA__ to httpd.conf don't use hash, or the order of arguments is not preserved. Thanks to perl-5.8.1 for randomizing the hash seed, which has exposed the bug by breaking the test suite. [Stas]

when the tests are run in the 'root' mode, check whether the DocumentRoot and its parent dirs are rwx before the tests are run and suggest possible workarounds when the tests are doomed to fail, because of the permission issues. [Stas]

UPLOAD is now auto-exported, like the rest [David Wheeler <david@kineticode.com>]

Change the way the redirect_ok parameter works so that it affects only _that call_ to the function. Afterward it should revert to the old value of $RedirectOK. [David Wheeler <david@kineticode.com>]

Change user_agent() so that the LWP::UserAgent "requests_redirectable" parameter actually does something useful vis-à-vis $RedirectOK. [David Wheeler <david@kineticode.com>]

Apache::TestRequest API documenation [David Wheeler <david@kineticode.com>]

Enable TransferLog in the autogenerated httpd.conf only if mod_log_config is available [Stas]

1.03 - June 19, 2003

Instrumented Makefile.PL to unconditionally remove any old pre-installed occurrences of Apache/test.pm, which has been renamed to Apache/testold.pm in mod_perl 1.28 to avoid collisions with Apache/Test.pm on case-insensitive systems. [Stas]

Apache::TestClient now handles correctly responses with no body and its response header() method is no longer case-sensitive [Stas]

add skip helper shortcuts: have_min_perl_version, have_min_module_version [Stas]

pass to 'use lib' only 'lib/' dirs that actually exist in autogenerated t/TEST t/SMOKE and others. [Stas]

add the ASF LICENSE file to the distro [Stas]

get rid of Apache::TestTrace's dependency on Apache::TestConfig as it creates too many circular use() problems. [Stas]

wrap blib loading in eval block (added to autogenerated files), to prevent 'make clean' failures. [Stas]

add two more variants of each of the tracing functions. If the '_mark' suffix is appended (e.g., 'error_mark') the trace will start with the filename and the line number the function was called from. If the '_sub' suffix is appended (e.g., 'error_info') the trace will start with the name of the subroutine the function was called from. [Stas]

add support for a new env var APACHE_TEST_TRACE_LEVEL, used to override the tracing level. It propogates the overriden (either by env var APACHE_TEST_TRACE_LEVEL or -trace option) value to the server-side, so we can use Apache::TestTrace in mod_perl handlers, and be able enable/disable tracing from the commmand line. This way we don't have to comment out debug prints. [Stas]

1.02

not released

1.01 - May 1, 2003

improved support for 3rd party modules test configuration setup: automatically include 'use blib' in autogenerated t/TEST and add 'use Apache2' in the startup file for mod_perl 2.0. [Stas]

new configuration option: -libmodperl [path/to/]mod_perl.so (so one can build several DSO objects, rename them, so several builds can co-exist under the same LIBEXECDIR and test them all. Mainly useful for testing 3rd party modules, with different mod_perl DSO builds. [Stas]

set $Apache::Test5005compat::VERSION because of the bogus warnings generated by EU::MM::parse_version() when it sees $NOT_THIS_MODULE::VERSION [Randal L. Schwartz <merlyn@stonehenge.com>]

a few fixes in Makefile.PL and t/TEST.PL to work with perl-5.005_03 [Stas]

perlpods are found either in the 'pods/' or 'pod/' subdirs [Randal L. Schwartz <merlyn@stonehenge.com>]

Autoconfigure Alias /getfiles-* only if the corresponding targets exist [Stas]

1.00 - Apr 28, 2003

when inheriting httpd.conf on some platforms SERVER_CONFIG_FILE is an absolute path, so try to use that if found. [Haroon Rafique <haroon.rafique@utoronto.ca>]

new Apache::Test functions: have_min_apache_version - to require a minimal Apache version. have_apache_version - to require a specific Apache version. [Stas]

Apache::TestUtil API change: write_perl_script => t_write_perl_script write_shell_script => t_write_shell_script chown => t_chown All 3 functions are now optionally exported [Geoffrey Young].

Provide a new request macro _BODY_ASSERT to replace _BODY in cases where the client part of the test directly prints to the output, in order to avoid skipped tests instead of reporting the failure of the server side. Use it in automatically generated tests. [Stas]

httpd (1.3 && 2) / winFU have problems when the first path's segment includes ':' (security precaution which breaks the rfc) so we can't use /TestFoo::bar as path_info in Apache::Tests. Adjusting all tests to use /TestFoo__bar. [Stas]

change Apache::TestConfig::filter_args to accept arguments which aren't only key/value pairs, but also tokens like 'FOO=1' [Stas]

In autogenerated t/TEST, make sure not to include 'use Apache2' for the mod_perl 2.0 build itself [Stas]

avoid starting httpd with 'Group root' when running the test suite under root [Stas]

add support for 'make test TEST_VERBOSE=1 "TEST_FILES=foo bar"' [Stas]

Apache::Test now can run 'make test' under 'root', without permission problems (e.g. when files need to be written), it'll chown all the files under t/ to the user chosen to run the server with, before running the tests and will restore the permissions at the end. [Stas]

don't inherit loading of the mod_perl object from the system-wide config, since Apache::TestRunPerl already configures it [Stas]

Support two new shortcuts for skip functionality: - have_threads: checks whether both Apache and Perl support threads - under_construction: to print a consistent/clear skip reason [Stas]

Support <NoAutoConfig> </NoAutoConfig> blocks in .pm files, so we can have a full manual control over generated config sections. These sections are fully parsed and variables are substituted, including vhosts. [Stas]

Implement a more robust autogenerated client .t test in Apache::TestConfigPerl. Before this fix if the server side returned 500, the test would get skipped, not good. Now it will die a horrible death. [Stas]

Before v1.0 most changes were logged in modperl-2.0/Changes (see mod_perl <= v1.99_08).

1 POD Error

The following errors were encountered while parsing the POD:

Around line 78:

Non-ASCII character seen before =encoding in '[André'. Assuming CP1252