stas        02/01/17 22:52:01

  Added:       t/directive perlmodule.t
               t/response/TestDirective perlmodule.pm
  Log:
  - add a test to test handling of PerlModule/Require directives for vhosts
  which inherit the interpretor from the parent. this time use the
  PerlModule directive for testing.
  
  Revision  Changes    Path
  1.1                  modperl-2.0/t/directive/perlmodule.t
  
  Index: perlmodule.t
  ===================================================================
  # this test tests PerlRequire configuration directive
  ########################################################################
  
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  use Apache::TestRequest;
  
  my $module = 'TestDirective::perlmodule';
  
  plan tests => 1;
  
  Apache::TestRequest::module($module);
  
  my $config   = Apache::Test::config();
  my $hostport = Apache::TestRequest::hostport($config);
  t_debug("connecting to $hostport");
  
  ok t_cmp($module,
           GET_BODY("/TestDirective::perlmodule"),
           "testing PerlModule in $module");
  
  
  
  
  1.1                  modperl-2.0/t/response/TestDirective/perlmodule.pm
  
  Index: perlmodule.pm
  ===================================================================
  package TestDirective::perlmodule;
  
  # This test is similar to TestDirective::perlrequire. Here we test
  # whether vhost inheriting the parent perl from the base can handle
  # PerlModule directives.
  
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test ();
  use Apache::Const -compile => 'OK';
  use File::Spec::Functions qw(catfile);
  
  sub handler {
      my $r = shift;
  
      $r->content_type('text/plain');
      $r->puts($ApacheTest::PerlModuleTest::MAGIC || '');
  
      Apache::OK;
  }
  
  sub APACHE_TEST_CONFIGURE {
      my ($class, $self) = @_;
  
      my $vars = $self->{vars};
      my $target_dir = catfile $vars->{documentroot}, 'testdirective';
  
      my $magic = __PACKAGE__;
      my $content = <<EOF;
  package ApacheTest::PerlModuleTest;
  \$ApacheTest::PerlModuleTest::MAGIC = '$magic';
  1;
  EOF
      my $file = catfile $target_dir, 'perlmodule-vh', 'ApacheTest', 
'PerlModuleTest.pm';
      $self->writefile($file, $content, 1);
  }
  
  1;
  __END__
  <Base>
      PerlSwitches -Mlib=@documentroot@/testdirective/perlmodule-vh
  </Base>
  
  <VirtualHost TestDirective::perlmodule>
      PerlModule ApacheTest::PerlModuleTest
  
      <Location /TestDirective::perlmodule>
          SetHandler modperl
          PerlResponseHandler TestDirective::perlmodule
      </Location>
  
  </VirtualHost>
  
  
  


Reply via email to