summaryrefslogtreecommitdiffstats
path: root/debian/perl-framework/Apache-Test/ToDo
diff options
context:
space:
mode:
Diffstat (limited to 'debian/perl-framework/Apache-Test/ToDo')
-rw-r--r--debian/perl-framework/Apache-Test/ToDo111
1 files changed, 111 insertions, 0 deletions
diff --git a/debian/perl-framework/Apache-Test/ToDo b/debian/perl-framework/Apache-Test/ToDo
new file mode 100644
index 0000000..4066558
--- /dev/null
+++ b/debian/perl-framework/Apache-Test/ToDo
@@ -0,0 +1,111 @@
+- on linux most symbols are resolved on demand, but this is not the
+ case with certain other platforms. so testing on linux may not
+ detect some problems, exposed on other platforms. env var
+ PERL_DL_NONLAZY=1 tries to resolve all symbols at load time. we
+ could always enforce that with this patch:
+
+--- Apache-Test/lib/Apache/TestRun.pm 16 Apr 2004 20:29:23 -0000 1.166
++++ Apache-Test/lib/Apache/TestRun.pm 6 May 2004 04:43:01 -0000
+@@ -643,7 +643,7 @@
+ }
+ close $sh;
+
+- $original_command = "ulimit -c unlimited; $original_command";
++ $original_command = "ulimit -c unlimited; PERL_DL_NONLAZY=1 $original_comma
+nd";
+
+- general config: adjust Apache/TestConfig.pm not to write irrelevant
+ httpd.conf sections (e.g. <IfModule prefork.c> for win32, and vice
+ versa, A-T knows exactly what mpm it needs to write the config for).
+ Thus reducing the clutter.
+
+- winnt case: Apache/TestConfig.pm config for <IfModule mpm_winnt.c>
+ before Apache-2.0.50 ThreadsPerChild had to be at least as big as
+ the number of Vhosts. This was fixed in 2.0.50. Since A-T knows the
+ httpd version, it shouldn't start so many threads for httpd >=
+ 2.0.50, but @MinClients@. Also add BACK_COMPAT_MARKER in the logic
+ so when no longer support httpd < 2.0.50, this logic could be removed.
+
+- sometimes the server aborts completely after the test suite has run
+ some of the tests (e.g. win32's server has crashed and no
+ replacement is available), but the client part continues to run
+ tests unaware of that problem. what would be nice to be able to
+ detect that the server is gone and somehow abort the test suite
+
+- Custom sticky config: invalidate invalid bits of the saved config,
+ e.g. if apxs is saved but can't be found on the filesystem. So if
+ someone installs Apache in one location, runs A-T which saves that
+ location, and then nukes Apache and reinstalls it into a different
+ location we should drop the previously saved config since the path
+ to apxs and/or httpd is now invalid.
+
+- Apache-Test doesn't run on IPv6 systems, need to change the
+ autogeneration of httpd.conf to support IPv6. It requires a
+ replacement of 'Listen 80' with 'Listen servername:80'
+ Philippe posted patch here:
+ http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=105514290024419&w=2
+
+ For now, 127.0.0.1 will be hardcoded in the Listen directive, but a better
+ method would use this table:
+
+ Apache \ OS | IPV4 | IPV6
+ --------------------------------------------
+ --enable-v4-mapped | 80 | 80
+ --disable-v4-mapped | can't happen | 127.0.0.1:80
+
+ To more correctly pick the right Listen flavor.
+
+- Apache-Test assumes that any core file found under t/ was generated
+ by httpd, (and suggests the gdb invoking command) which is incorrect
+ in some cases. For example t/TEST -config, which is run by bin/perl,
+ may dump core as well.
+
+- consider not using the __DIE__ sighandler, but instead wrap the
+ potentially failing code in the eval trap blocks.
+
+- print STDERR is buffered in test handlers, whereas warn() works
+ normally. select() helps, but STDERR should be unbuffered in first
+ place.
+
+- If something goes wrong during the ./t/TEST's phase when all the
+ configuration files httpd.conf, etc. are generated,
+ t/conf/apache_test_config.pm now gets written, so t/TEST -clean can work
+ However if the problem happens during 'make test' for
+ some reason Makefile doesn't abort on exit from test_clean target, no
+ matter if I put exit -1, 0 or 1, and proceeds with run_tests target.
+ probably, since __DIE__ will stop the server.
+
+ to reproduce the problem during configure() apply this patch:
+
+Index: Apache-Test/lib/Apache/TestConfigPerl.pm
+===================================================================
+RCS file: /home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigPerl.pm,v
+retrieving revision 1.38
+diff -u -r1.38 TestConfigPerl.pm
+--- Apache-Test/lib/Apache/TestConfigPerl.pm 2001/10/18 04:18:16 1.38
++++ Apache-Test/lib/Apache/TestConfigPerl.pm 2001/10/19 02:14:56
+@@ -347,6 +347,7 @@
+ if (open $fh, $file) {
+ my $content = <$fh>;
+ close $fh;
++ require $file;
+ if ($content =~ /APACHE_TEST_CONFIGURE/m) {
+ eval { require $file };
+ warn $@ if $@;
+
+- segfaults should be trapped and:
+ * the test routine should be aborted, since it's possible that some
+ other test will segfault too and overwrite the core file
+
+ * it'd be cool to automatically generate the backtrace with help of
+ Devel::CoreStack and save it in the file
+
+ * once we add the backtrace feature, we don't have to abort the rest
+ of the tests, but to save each bt as "backtrace.$test_path".
+ => this should be very useful in smoke testing
+
+ * later, it'd be nice to integrate this with build/bugreport.pl, so
+ the bug report with the backtrace and everything we want to know
+ from user's machine, including their /etc/shadow (:-) will be
+ automatically posted to the list.
+