joes        2003/05/20 13:06:03

  Modified:    env      Makefile.am
  Added:       build    test_config.pl
  Log:
  Add Apache::Test script to configure env/ tests.
  
  Revision  Changes    Path
  1.1                  httpd-apreq-2/build/test_config.pl
  
  Index: test_config.pl
  ===================================================================
  use ExtUtils::MakeMaker;
  
  use 5.005;
  
  use lib qw(/home/joe/src/apache/httpd-test/perl-framework/Apache-Test/lib);
  
  use Apache::Test5005compat;
  
  use Apache::TestMM qw(test clean);
  use Apache::TestReport ();
  use Apache::TestSmoke ();
  use Apache::TestRun ();
  
  use File::Find qw(finddepth);
  use Apache::TestTrace;
  
  use Apache::Test;
  use Apache::TestConfigC;
  use base qw/Apache::TestConfig/;
  
  
  sub cmodules_write_makefile {
      my($self, $mod) = @_;
  
      my $dversion = $self->server->dversion;
      my $name = $mod->{name};
      my $makefile = "$mod->{dir}/Makefile";
      debug "WRITING $makefile";
  
      my $lib = $self->cmodules_build_so($name);
  
      my $fh = Symbol::gensym();
      open $fh, ">$makefile" or die "open $makefile: $!";
  
      print $fh <<EOF;
  APXS=$self->{APXS}
  all: $lib
  
  $lib: $name.c
        \$(APXS) -L../../../src -I../../../src -lapreq $dversion 
-I$self->{cmodules_dir} -c $name.c
  
  clean:
        -rm -rf $name.o $name.lo $name.slo $name.la .libs
  EOF
  
      close $fh or die "close $makefile: $!";
  }
  
  
  $Apache::TestTrace::Level = 'debug';
  bless my $cfg = Apache::Test->config();
  
  $cfg->preamble(LoadModule => [apreq_module => "../.libs/mod_apreq.so"]);
  $cfg->cmodules_configure;
  $cfg->generate_httpd_conf;
  
  my @scripts = ();
  
  finddepth(sub {
      return unless /(.*?\.pl)\.PL$/;
      push @scripts, "$File::Find::dir/$1";
  }, '.');
  
  Apache::TestMM::filter_args();
  
  for my $script (@scripts) {
      Apache::TestMM::generate_script($script);
  }
  
  for my $util (qw(Report Smoke Run)) {
      my $class = "Apache::Test${util}";
      $class->generate_script;
  }
  
  
  
  1.7       +22 -0     httpd-apreq-2/env/Makefile.am
  
  Index: Makefile.am
  ===================================================================
  RCS file: /home/cvs/httpd-apreq-2/env/Makefile.am,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Makefile.am       19 Apr 2003 09:42:08 -0000      1.6
  +++ Makefile.am       20 May 2003 20:06:03 -0000      1.7
  @@ -1,5 +1,8 @@
   INCLUDES = -I../src [EMAIL PROTECTED]@
   
  +TEST_VERBOSITY_LEVEL = 0
  +TEST_CONFIG_SCRIPT  = ../build/test_config.pl
  +
   lib_LIBRARIES = libapreq_cgi.a
   noinst_LTLIBRARIES = mod_apreq.la
   
  @@ -15,3 +18,22 @@
   
   install-exec-local: mod_apreq.la
        @APACHE2_APXS@ -i -a -n apreq mod_apreq.la
  +
  +t/TEST test_config : Makefile $(TEST_CONFIG_SCRIPT)
  +     @PERL@ $(TEST_CONFIG_SCRIPT) -apxs @APACHE2_APXS@
  +
  +run_tests : cmodules
  +     @PERL@ t/TEST -verbose=$(TEST_VERBOSITY_LEVEL) $(TEST_FILES)
  +
  +test :: all run_tests
  +
  +test_clean :
  +     @PERL@ t/TEST -clean
  +
  +cmodules: test_config
  +     cd c-modules && $(MAKE) all
  +
  +cmodules_clean:
  +     cd c-modules && $(MAKE) clean
  +
  +clean-local: test_clean cmodules_clean
  
  
  

Reply via email to