[STATUS] (perl-framework) Wed Nov 3 23:45:43 EST 2004

2004-11-04 Thread Rodent of Unusual Size
httpd-test/perl-framework STATUS:   -*-text-*-
Last modified at [$Date: 2002/03/09 05:22:48 $]

Stuff to do:
* finish the t/TEST exit code issue (ORed with 0x2C if
  framework failed)

* change existing tests that frob the DocumentRoot (e.g.,
  t/modules/access.t) to *not* do that; instead, have
  Makefile.PL prepare appropriate subdirectory configs
  for them.  Why?  So t/TEST can be used to test a
  remote server.

* problems with -d perl mode, doesn't work as documented
  Message-ID: [EMAIL PROTECTED]
  Date: Sat, 20 Oct 2001 12:58:33 +0800
  Subject: Re: perldb

Tests to be written:

* t/apache
  - simulations of network failures (incomplete POST bodies,
chunked and unchunked; missing POST bodies; slooow
client connexions, such as taking 1 minute to send
1KiB; ...)

* t/modules/autoindex
  - something seems possibly broken with inheritance on 2.0

* t/ssl
  - SSLPassPhraseDialog exec:
  - SSLRandomSeed exec:


[STATUS] (flood) Wed Nov 3 23:45:37 EST 2004

2004-11-04 Thread Rodent of Unusual Size
flood STATUS:   -*-text-*-
Last modified at [$Date: 2003/07/01 20:55:12 $]

Release:

1.0:   Released July 23, 2002
milestone-03:  Tagged January 16, 2002
ASF-transfer:  Released July 17, 2001
milestone-02:  Tagged August 13, 2001
milestone-01:  Tagged July 11, 2001 (tag lost during transfer)

RELEASE SHOWSTOPPERS:

* Everything needs to work perfectly

Other bugs that need fixing:

* I get a SIGBUS on Darwin with our examples/round-robin-ssl.xml
  config, on the second URL. I'm using OpenSSL 0.9.6c 21 dec 2001.
  
* iPlanet sends Content-length - there is a hack in there now
  to recognize it.  However, all HTTP headers need to be normalized
  before checking their values.  This isn't easy to do.  Grr.

* OpenSSL 0.9.6
  Segfaults under high load.  Upgrade to OpenSSL 0.9.6b.
   Aaron says: I just found a big bug that might have been causing
   this all along (we weren't closing ssl sockets).
   How can I reproduce the problem you were seeing
   to verify if this was the fix?

* SEGVs when /tmp/.rnd doesn't exist are bad. Make it configurable
  and at least bomb with a good error message. (See Doug's patch.)
   Status: This is fixed, no?

* If APR has disabled threads, flood should as well. We might want
  to have an enable/disable parameter that does this also, providing
  an error if threads are desired but not available.

* flood needs to clear pools more often. With a long running test
  it can chew up memory very quickly. We should just bite the bullet
  and create/destroy/clear pools for each level of our model:
  farm, farmer, profile, url/request-cycle, etc.

* APR needs to have a unified interface for ephemeral port
  exhaustion, but aparently Solaris and Linux return different
  errors at the moment. Fix this in APR then take advantage of
  it in flood.

* The examples/analyze-relative scripts fail when there are less
  than 5 unique URLs.

Other features that need writing:

* More analysis and graphing scripts are needed

* Write robust tool (using tethereal perhaps) to take network dumps 
  and convert them to flood's XML format.
Status: Justin volunteers.  Aaron had a script somewhere that is
a start. Jacek is working on a Mozilla application, codename
Flood URL bag (much like Live HTTP Headers) and small
HTTP proxy.

* Get chunked encoding support working.
Status: Justin volunteers.  He got sidetracked by the httpd
implementation of input filtering and never finished 
this.  This is a stopgap until apr-serf is completed.

* Maybe we should make randfile and capath runtime directives that
  come out of the XML, instead of autoconf parameters.

* We are using apr_os_thread_current() and getpid() in some places
  when what we really want is a GUID. The GUID will be used to
  correlate raw output data with each farmer. We may wish to print
  a unique ID for each of farm, farmer, profile, and url to help in
  postprocessing.

* We are using strtol() in some places and strtoll() in others.
  Pick one (Aaron says strtol(), but he's not sure).

* Validation of responses (known C-L, specific strings in response)
   Status: Justin volunteers

* HTTP error codes (ie. teach it about 302s)
   Justin says: Yeah, this won't be with round_robin as implemented.  
Need a linked list-based profile where we can insert 
new URLs into the sequence.

* Farmer (Single-thread, multiple profiles)
   Status: Aaron says: If you have threads, then any Farmer can be
   run as part of any Farm. If you don't have threads, you can
   currently only run one Farmer named Joe right now (this will
   be changed so that if you don't have threads, flood will attempt
   to run all Farmers in serial under one process).

* Collective (Single-host, multiple farms)
  This is a number of Farms that have been fork()ed into child processes.

* Megaconglomerate (Multiple hosts each running a collective)
  This is a number of Collectives running on a number of hosts, invoked
  via RSH/SSH or maybe even some proprietary mechanism.

* Other types of urllists
a) Random / Random-weighted
b) Sequenced (useful with cookie propogation)
c) Round-robin
d) Chaining of the above strategies
  Status: Round-robin is complete.

* Other types of reports
  Status: Aaron says: simple reports are functional. Justin added
  a new type that simply prints the approx. timestamp when
  the test was run, and the result as OK/FAIL; it is called
  easy reports (see flood_easy_reports.h).
  Furthermore, 

Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestMM.pm

2004-11-04 Thread William A. Rowe, Jr.
At 10:35 AM 11/4/2004, Geoffrey Young wrote:

   -TEST_VERBOSE ?= 0
   +TEST_VERBOSE = 0
 
 why not if (WIN32) {} then?

do win32 environments add some magic WIN32 environment variable I can check
in the Makefile?  if they do and we can work around them that's cool with me.

If I had to guess, this borks anything but gmake.  Test for that.

Bill



Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestMM.pm

2004-11-04 Thread Geoffrey Young

 
 If I had to guess, this borks anything but gmake.  Test for that.

I had asked on #asf about this and somebody (I forget who) said that the
make manpage on minortaur (some bsd variant) supports ?= as well.  from
looking at that it seems to be the manpage for pmake, which I guess is some
other make variant. so limiting it to gmake at least would seem to wipe out
bsd folks.

a little digging on my own at the time made it seem like solaris make is
really gmake, so between linux, solaris, and bsd a decent case was being
made that most unix make variants to support the syntax.  of course, that
list of 3 was hardly exhaustive :)

anyway, this just isn't my area, so I'm happy to defer to others that grok
all this SA-type stuff.  but if most unix-variants support ?=, or if there
is another more universal way to work around the issue, I would hate to see
the correct behavior only for unix people using gmake.

--Geoff


Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestMM.pm

2004-11-04 Thread William A. Rowe, Jr.
At 11:23 AM 11/4/2004, Geoffrey Young wrote:

 
 If I had to guess, this borks anything but gmake.  Test for that.

I had asked on #asf about this and somebody (I forget who) said that the
make manpage on minortaur (some bsd variant) supports ?= as well.  from
looking at that it seems to be the manpage for pmake, which I guess is some
other make variant. so limiting it to gmake at least would seem to wipe out
bsd folks.

Ok, looks good for pmake, yes... however...

a little digging on my own at the time made it seem like solaris make is
really gmake

Well, the way you have it installed perhaps.  But attempting this
against /usr/ccs/bin/make it most definately blows up.

, so between linux, solaris, and bsd a decent case was being
made that most unix make variants to support the syntax.  of course, 
that list of 3 was hardly exhaustive :)

Hardly.  The man page for hpux 11 make makes no mention of ?=
nor does AIX 5.1.  you are 2 for 5.

Explicitly fails on native make(s) on AIX 5.1, HPUX 11, Solaris 2.6.
Please find another solution.

Bill

p.s. simple test I used...

TERM ?= uberterm
all:
echo $(TERM)
  



Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestMM.pm

2004-11-04 Thread Garrett Rooney
Geoffrey Young wrote:
a little digging on my own at the time made it seem like solaris make is
really gmake, so between linux, solaris, and bsd a decent case was being
made that most unix make variants to support the syntax.  of course, that
list of 3 was hardly exhaustive :)
Umm, on all the solaris systems I've used make is in fact not gmake, 
there are a number of solaris specific differences.  This is at least 
true on solaris 2.6 through solaris 8.  I'm not sure about 9 or 10.

-garrett


Re: cvs commit: httpd-test/perl-framework/Apache-Test/lib/Apache TestMM.pm

2004-11-04 Thread Geoffrey Young

a little digging on my own at the time made it seem like solaris make is
really gmake
 
 
 Well, the way you have it installed perhaps.  But attempting this
 against /usr/ccs/bin/make it most definately blows up.

ok.  I actually don't have a solaris box to try on - I just went to sun's
support site and saw that the manpage for make was gmake (at least the one
that google first pointed me toward :)

 
 
, so between linux, solaris, and bsd a decent case was being
made that most unix make variants to support the syntax.  of course, 
that list of 3 was hardly exhaustive :)
 
 
 Hardly.  The man page for hpux 11 make makes no mention of ?=
 nor does AIX 5.1.  you are 2 for 5.

yeah, not good.

 
 Explicitly fails on native make(s) on AIX 5.1, HPUX 11, Solaris 2.6.
 Please find another solution.

well, the solution at the moment is to not have a solution - cvs has been
reverted, so unless a real solution can be found it will remain a minor nit.

 p.s. simple test I used...

 TERM ?= uberterm
 all:
 echo $(TERM)

the gmake manual suggests that ?= is equivalent to

ifeq ($(origin TEST_VERBOSE), undefined)
  TEST_VERBOSE = 0
endif

so that might make for a good test - the gmake manual didn't speficially say
that origin was explicit to it, but then again it didn't mention ?= either :)

--Geoff