+++ /dev/null
-#!perl
-
-use strict;
-use warnings;
-
-use FindBin;
-use lib "$FindBin::Bin/../live/lib";
-
-use Test::More;
-use Catalyst::Test 'TestApp';
-use YAML;
-eval "use GTop";
-
-plan skip_all => 'set TEST_MEMLEAK to enable this test'
- unless $ENV{TEST_MEMLEAK};
-plan skip_all => 'GTop required for this test' if $@;
-
-eval "use HTTP::Body 0.03";
-plan skip_all => 'HTTP::Body >= 0.03 required for this test' if $@;
-
-our $gtop = GTop->new;
-our ( $initial, $final ) = ( 0, 0 );
-our $tests = YAML::LoadFile("$FindBin::Bin/stress.yml");
-
-my $total_tests = 0;
-
-# let the user specify a single uri to test
-my $user_test = shift;
-if ( $user_test ) {
- plan tests => 1;
- run_test( $user_test );
-}
-# otherwise, run all tests
-else {
- map { $total_tests += scalar @{ $tests->{$_} } } keys %{$tests};
- plan tests => $total_tests;
-
- foreach my $test_group ( keys %{$tests} ) {
- foreach my $test ( @{ $tests->{$test_group} } ) {
- run_test( $test );
- }
- }
-}
-
-sub run_test {
- my $uri = shift || die 'No URI given for test';
-
- print "TESTING $uri\n";
-
- # make a few requests to set initial memory size
- for ( 1 .. 3 ) {
- request( $uri );
- }
-
- $initial = $gtop->proc_mem($$)->size;
- print "Initial Size: " . GTop::size_string($initial) . "\n";
-
- for ( 1 .. 500 ) {
- request( $uri );
- }
-
- $final = $gtop->proc_mem($$)->size;
- print "Final Size: " . GTop::size_string($final) . "\n";
-
- if ( $final > $initial ) {
- print "Leaked Bytes: " . GTop::size_string($final - $initial) . "\n";
- }
-
- is( $final, $initial, "'$uri' memory is not leaking" );
-}
-