Author: pgollucci
Date: Wed Aug 23 00:14:10 2006
New Revision: 433955

URL: http://svn.apache.org/viewvc?rev=433955&view=rev
Log:
Create server side reponse handles for 2.x

Added:
    perl/Apache-SizeLimit/trunk/t/response/TestApache2/
    perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm
    perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests.pm
    perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests2.pm
    perl/Apache-SizeLimit/trunk/t/response/TestApache2/deprecated.pm

Added: perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm?rev=433955&view=auto
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm (added)
+++ perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm Wed Aug 23 
00:14:10 2006
@@ -0,0 +1,105 @@
+package TestApache::basic;
+
+use strict;
+use warnings;
+
+use Apache::Test qw(-withtestmore);
+
+use Apache::Constants qw(OK);
+use Apache::SizeLimit;
+use Config;
+
+use constant ONE_MB => 1024;
+use constant TEN_MB => 1024 * 10;
+
+sub handler {
+    my $r = shift;
+
+    plan $r, tests => 12;
+
+    ok( ! Apache::SizeLimit->_limits_are_exceeded(),
+        'check that _limits_are_exceeded() returns false without any limits 
set' );
+
+    {
+        my ( $size, $shared ) = Apache::SizeLimit->_check_size();
+        cmp_ok( $size, '>', 0, 'proc size is reported > 0' );
+
+    SKIP:
+        {
+            skip 'I have no idea what getppid() on Win32 might return', 1
+                if $Config{'osname'} eq 'MSWin32';
+
+            cmp_ok( Apache::SizeLimit->_platform_getppid(), '>', 1,
+                    'real_getppid() > 1' );
+        }
+    }
+
+    {
+        # We can assume this will use _at least_ 10MB of memory, based on
+        # assuming a scalar consumes >= 1K.
+        my @big = ('x') x TEN_MB;
+
+        my ( $size, $shared ) = Apache::SizeLimit->_check_size();
+        cmp_ok( $size, '>', TEN_MB, 'proc size is reported > ' . TEN_MB );
+
+        Apache::SizeLimit->set_max_process_size(ONE_MB);
+
+        ok( Apache::SizeLimit->_limits_are_exceeded(),
+            'check that _limits_are_exceeded() returns true based on max 
process size' );
+
+    SKIP:
+        {
+            skip 'We cannot get shared memory on this platform.', 3
+                unless $shared > 0;
+
+            cmp_ok( $size, '>', $shared, 'proc size is greater than shared 
size' );
+
+            Apache::SizeLimit->set_max_process_size(0);
+            Apache::SizeLimit->set_min_shared_size( ONE_MB * 100 );
+
+            ok( Apache::SizeLimit->_limits_are_exceeded(),
+                'check that _limits_are_exceeded() returns true based on min 
share size' );
+
+            Apache::SizeLimit->set_min_shared_size(0);
+            Apache::SizeLimit->set_max_unshared_size(1);
+
+            ok( Apache::SizeLimit->_limits_are_exceeded(),
+                'check that _limits_are_exceeded() returns true based on max 
unshared size' );
+        }
+    }
+
+    {
+        # Lame test - A way to check that setting this _does_
+        # something would be welcome ;)
+        Apache::SizeLimit->set_check_interval(10);
+        is( $Apache::SizeLimit::CHECK_EVERY_N_REQUESTS, 10,
+            'set_check_interval set global' );
+    }
+
+    {
+        Apache::SizeLimit->set_max_process_size(0);
+        Apache::SizeLimit->set_min_shared_size(0);
+        Apache::SizeLimit->set_max_unshared_size(0);
+
+        my $handlers = $r->get_handlers('PerlCleanupHandler');
+        is( scalar @$handlers, 0,
+            'there is no PerlCleanupHandler before add_cleanup_handler()' );
+
+        Apache::SizeLimit->add_cleanup_handler($r);
+
+        $handlers = $r->get_handlers('PerlCleanupHandler');
+        is( scalar @$handlers, 1,
+            'there is one PerlCleanupHandler after add_cleanup_handler()' );
+
+        Apache::SizeLimit->add_cleanup_handler($r);
+
+        $handlers = $r->get_handlers('PerlCleanupHandler');
+        is( scalar @$handlers, 1,
+            'there is stil one PerlCleanupHandler after add_cleanup_handler() 
a second time' );
+    }
+
+    return OK;
+}
+
+
+1;

Added: perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests.pm?rev=433955&view=auto
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests.pm 
(added)
+++ perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests.pm Wed 
Aug 23 00:14:10 2006
@@ -0,0 +1,52 @@
+package TestApache::check_n_requests;
+
+use strict;
+use warnings;
+
+use Apache::Constants;
+
+use Apache::Test qw(-withtestmore);
+use Apache::TestUtil;
+
+use Apache::SizeLimit;
+
+use constant ONE_MB    => 1024;
+use constant TEN_MB    => ONE_MB * 10;
+use constant TWENTY_MB => TEN_MB * 2;
+
+my $i = 0;
+my %hash = ();
+
+sub handler {
+    my $r = shift;
+
+    plan $r, tests => 11;
+
+    Apache::SizeLimit->add_cleanup_handler($r);
+    Apache::SizeLimit->set_max_process_size(TEN_MB);
+    ## this should cause us to fire
+    Apache::SizeLimit->set_check_interval();
+
+    # We can assume this will use _at least_ 1MB of memory, based on
+    # assuming a scalar consumes >= 1K.
+    # and after 10 requests, we should be _at least_ 10MB of memory
+    for (0..9) {
+        my @big = ('x') x ONE_MB;
+        $hash{$i++} = [EMAIL PROTECTED];
+        is(
+           $i,
+           $i,
+           "now using $i MB of memory (at least)"
+          );
+    }
+
+    is(
+       1,
+       Apache::SizeLimit->_limits_are_exceeded(),
+       "we passed the limits and _WILL_ kill the child"
+      );
+
+    return Apache::Constants::OK;
+}
+
+1;

Added: perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests2.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests2.pm?rev=433955&view=auto
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests2.pm 
(added)
+++ perl/Apache-SizeLimit/trunk/t/response/TestApache2/check_n_requests2.pm Wed 
Aug 23 00:14:10 2006
@@ -0,0 +1,49 @@
+package TestApache::check_n_requests2;
+
+use strict;
+use warnings;
+
+use Apache::Constants;
+use Apache::Log;
+
+use Apache::Test qw(-withtestmore);
+
+use Apache::SizeLimit;
+
+use constant ONE_MB    => 1024;
+use constant TEN_MB    => ONE_MB * 10;
+use constant TWENTY_MB => TEN_MB * 2;
+
+my $i = 0;
+my %hash = ();
+
+sub handler {
+    my $r = shift;
+
+    plan $r, tests => 11;
+
+    Apache::SizeLimit->add_cleanup_handler($r);
+    Apache::SizeLimit->set_max_process_size(TEN_MB);
+    ## this should cause us _NOT_ to fire
+    Apache::SizeLimit->set_check_interval(5);
+
+    # We can assume this will use _at least_ 1MB of memory, based on
+    # assuming a scalar consumes >= 1K.
+    # and after 10 requests, we should be _at least_ 10MB of memory
+    for (0..9) {
+        my @big = ('x') x ONE_MB;
+        $hash{$i++} = [EMAIL PROTECTED];
+
+        is($i, $i, "now using $i MB of memory (at least)");
+    }
+
+    is(
+       1,
+       Apache::SizeLimit->_limits_are_exceeded(), 
+       "we passed the limits and will _NOT_ kill the child"
+      );
+
+    return Apache::Constants::OK;
+}
+
+1;

Added: perl/Apache-SizeLimit/trunk/t/response/TestApache2/deprecated.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/response/TestApache2/deprecated.pm?rev=433955&view=auto
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/response/TestApache2/deprecated.pm (added)
+++ perl/Apache-SizeLimit/trunk/t/response/TestApache2/deprecated.pm Wed Aug 23 
00:14:10 2006
@@ -0,0 +1,42 @@
+package TestApache::deprecated;
+
+use strict;
+use warnings;
+
+use Apache::Test qw(-withtestmore);
+
+use Apache::Constants qw(OK);
+use Apache::SizeLimit;
+
+
+sub handler {
+    my $r = shift;
+
+    plan $r, tests => 5;
+
+    my $handlers = $r->get_handlers('PerlCleanupHandler');
+    is( scalar @$handlers, 0,
+        'there is no PerlCleanupHandler before add_cleanup_handler()' );
+
+    Apache::SizeLimit::setmax( 100_000 );
+    is( $Apache::SizeLimit::MAX_PROCESS_SIZE, 100_000,
+        'setmax changes $MAX_PROCESS_SIZE' );
+
+    Apache::SizeLimit::setmin( 1 );
+    is( $Apache::SizeLimit::MIN_SHARE_SIZE, 1,
+        'setmax changes $MIN_SHARE_SIZE' );
+
+    Apache::SizeLimit::setmax_unshared( 1 );
+    is( $Apache::SizeLimit::MIN_SHARE_SIZE, 1,
+        'setmax_unshared changes $MAX_UNSHARED_SIZE' );
+
+    $handlers = $r->get_handlers('PerlCleanupHandler');
+    is( scalar @$handlers, 1,
+        'there is one PerlCleanupHandler after calling deprecated functions' );
+
+
+    return OK;
+}
+
+
+1;


Reply via email to