Torsten Foertsch wrote:
Hi,

is there a way to check it an expected line in error_log has arrived?

If not is it worth to add something similar to the following 2 functions to Apache::TestUtil.

========================================================
{
  my $f;
  sub t_start_error_log_watch {
    my $name=File::Spec->catfile
      ( Apache::Test::vars->{serverroot},
        Apache::Test::config->{httpd_defines}->{DEFAULT_ERRORLOG} );
    open $f, "$name" or die "ERROR: Cannot open $name: $!\n";
    seek $f, 0, 2;          # seek to EOF
  }

  sub t_finish_error_log_watch {
    local $/="\n";
    my @lines=<$f>;
    undef $f;
    return @lines;
  }
}
========================================================

Not in Apache::Test, but the mod_perl 2 test suite provides a module to do that (under t/lib)


  use TestCommon::LogDiff;
  use Apache::Test;

  plan tests => 2;

  my $path = "/tmp/mylog";
  open my $fh, ">>$path" or die "Can't open $path: $!";

  my $logdiff = TestCommon::LogDiff->new($path);

  print $fh "foo 123\n";
  my $expected = qr/^foo/;
  ok t_cmp $logdiff->diff, $expected;

  print $fh "bar\n";
  my $expected = 'bar';
  ok t_cmp $logdiff->diff, $expected;

If others find this useful we should migrate it to Apache::Test. May be the API could use some polish.

--
__________________________________________________________________
Stas Bekman            JAm_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

Reply via email to