Re: [RELEASE CANDIDATE] Apache::Test 1.03-dev

2003-06-19 Thread Ged Haywood
Hi Stas,

On Wed, 18 Jun 2003, Stas Bekman wrote:

 Please try it out:
 http://www.apache.org/~stas/Apache-Test-1.03-dev.tar.gz

Neat!

73,
Ged.

Script started on Wed Jun 18 13:29:03 2003
hurricane:~/src/Apache-Test-1.03-dev$  t/TEST -times=10 -order=random
*** setting ulimit to allow core files
ulimit -c unlimited; t/TEST -times=10 -order=random
/usr/local/apache/bin/httpd -X -d 
/home/ged_demountable/src/Apache-Test-1.03-dev/t -f 
/home/ged_demountable/src/Apache-Test-1.03-dev/t/conf/httpd.conf -DAPACHE1 
using Apache/1.3.27 

waiting for server to start: .
waiting for server to start: ok (waited 0 secs)
server localhost:8529 started
*** Using random number seed: 894127215 (autogenerated)

[snip]

All tests successful.
Files=20, Tests=120, 10 wallclock secs ( 7.25 cusr +  1.44 csys =  8.69 CPU)
*** server localhost:8529 shutdown
hurricane:~/src/Apache-Test-1.03-dev$  
Script done on Wed Jun 18 13:29:26 2003



Re: Perl Testing

2003-06-19 Thread Stas Bekman
David Wheeler wrote:
On Tuesday, June 17, 2003, at 08:02  PM, Stas Bekman wrote:
Geoffrey Young wrote:
1. The documentation is pretty lacking.

As Geoff pointed out, this statement is incorrect. The document:
http://perl.apache.org/docs/general/testing/testing.html
should answer most of your questions.

It's incorrect in the sense that most of the modules aren't documented. 
That's absolutely true. I thought you were referring to the tutorial.
I was using that article and the one on perl.com, or I would have got 
nowhere. I'll likely submit some docs for TestRequest shortly.
Fantastic. May I suggest that modules should include only API docs, but all 
real usages go to the tutorial? modperl-docs/src/general/testing/testing.pod

 2. The tests are being run from t/, rather then from the root of the
 module distribution directory. IIRC, Perl itself runs all of its tests
 from t/, but all modules by default run them from the module
 distribution root. Can this be fixed/changed?
They aren't running from t/, unless you run them from there. t/TEST 
can run from t/ and from base.

No, I run `make test`. In my test scripts, which live in t/, when I want 
to parse the log, I have to open 'logs/error_log', not 
't/logs/error_log'. It runs out of t/.
What you try to say is that the ServerRoot is t/, not that t/TEST is invoked 
from t/. You can override that of course.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Re: resolving Apache::Test vs. Apache::test collision

2003-06-19 Thread Stas Bekman
David Wheeler wrote:
On Wednesday, June 18, 2003, at 07:30  AM, Stas Bekman wrote:
Now just awaiting a confirmation from David and I'll put Apache::Test 
1.03 on CPAN.

David, if you see this before tomorrow, simpy try the latest cvs, I 
have already committed the needed change. Hopefully it does do the 
right thing for you.

It does. Well done.
Thanks David, posting Apache::Test to CPAN.
Hopefully this post concludes this *very* long thread ;)
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


[ANNOUNCE] Apache::Test 1.03

2003-06-19 Thread Stas Bekman
The uploaded file
Apache-Test-1.03.tar.gz
has entered CPAN as
  file: $CPAN/authors/id/S/ST/STAS/Apache-Test-1.03.tar.gz
  size: 80048 bytes
   md5: 8ed7fd0bb829bf7c16850aafd282ffbf
Changes since 1.01:
=item 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]
=item 1.02
not released
__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Re: [RELEASE CANDIDATE] Apache::Test 1.03-dev

2003-06-19 Thread Stas Bekman
Stas Bekman wrote:
I've uploaded 1.03's release candidate. If nobody finds any faults, I'll 
upload it tomorrow on CPAN. (libapreq needs to rely on 1.03 fixes to 
release its 1.2's version).

Please try it out:
http://www.apache.org/~stas/Apache-Test-1.03-dev.tar.gz
Thank you all very much for testing this release candidate. Apache::Test 1.03 
is propogating to CPAN mirrors at this very moment.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


[STATUS] (flood) Wed Jun 18 23:46:07 EDT 2003

2003-06-19 Thread Rodent of Unusual Size
flood STATUS:   -*-text-*-
Last modified at [$Date: 2002/09/06 10:24:42 $]

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.

* 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, simple_reports and easy_reports both print
  out the current requesting URI line.

Documentation that needs writing:

* Documentation?  

[STATUS] (perl-framework) Wed Jun 18 23:46:10 EDT 2003

2003-06-19 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:


Re: Perl Testing

2003-06-19 Thread Geoffrey Young

No, I run `make test`. In my test scripts, which live in t/, when I 
want to parse the log, I have to open 'logs/error_log', not 
't/logs/error_log'. It runs out of t/.

What you try to say is that the ServerRoot is t/, not that t/TEST is 
invoked from t/. You can override that of course.

How?
I think he means by adding your own ServerRoot directive to 
extra.last.conf.in.  however, I see what you are saying and that won't 
likely resolve your issue.

is there some reason that you want to backtrack to t/ in your test scripts? 
 for the most part, I put things I need under t/, including libraries and 
other cruft, so that everything is relative to the default ServerRoot setting.

HTH
--Geoff


Apach::TestRequest Doc Patch

2003-06-19 Thread David Wheeler
Hi all,
Please find enclosed a documentation patch for Apache::TestRequest. It 
does a couple of other things, too, so here's a complete list:

* Attempts to document all of the important functions of 
Apache::TestRequest. Comments and corrections would be much 
appreciated. I especially need help with the keep_alive parameter to 
user_agent() and a description of what OPTIONS() does.

* Exports UPLOAD from Apache::TestRequest. Was this an oversight?
* Changes the way the redirect_ok parameter works so that it affects 
only that _that call_ to the function. Afterward it should revert to 
the old value of $RedirectOK. I use local() to do this.

* Changes user_agent() so that the LWP::UserAgent 
requests_redirectable parameter actually does something useful 
vis-à-vis $RedirectOK.

* Added SEE ALSO section to Apache::Test. Note that this section, and 
the same section of Apache::TestRequest, points to Apache::TestMM, 
which currently has no documentation.

Thanks,
David
--
David Wheeler AIM: dwTheory
[EMAIL PROTECTED]  ICQ: 15726394
http://kineticode.com/ Yahoo!: dew7e
   Jabber: [EMAIL PROTECTED]
Kineticode. Setting knowledge in motion.[sm]


Apache-Test-Pod.patch
Description: Binary data