buildfarm.pm
来自「samba最新软件」· PM 代码 · 共 121 行
PM
121 行
#!/usr/bin/perlpackage output::buildfarm;use Exporter;@ISA = qw(Exporter);use FindBin qw($RealBin);use lib "$RealBin/..";use Subunit qw(parse_results);use strict;sub new($$$) { my ($class) = @_; my $self = { test_output => {}, start_time => time() }; bless($self, $class);}sub start_testsuite($$){ my ($self, $name) = @_; my $out = ""; $self->{NAME} = $name; $self->{START_TIME} = time(); my $duration = $self->{START_TIME} - $self->{start_time}; $out .= "--==--==--==--==--==--==--==--==--==--==--\n"; $out .= "Running test $name (level 0 stdout)\n"; $out .= "--==--==--==--==--==--==--==--==--==--==--\n"; $out .= scalar(localtime())."\n"; $out .= "SELFTEST RUNTIME: " . $duration . "s\n"; $out .= "NAME: $name\n"; $self->{test_output}->{$name} = ""; print $out;}sub output_msg($$){ my ($self, $output) = @_; $self->{test_output}->{$self->{NAME}} .= $output;}sub control_msg($$){ my ($self, $output) = @_; $self->{test_output}->{$self->{NAME}} .= $output;}sub end_testsuite($$$$$$){ my ($self, $name, $result, $unexpected, $reason) = @_; my $out = ""; $out .= "TEST RUNTIME: " . (time() - $self->{START_TIME}) . "s\n"; if (not $unexpected) { $out .= "ALL OK\n"; } else { $out .= "ERROR: $reason\n"; $out .= $self->{test_output}->{$name}; } $out .= "==========================================\n"; if (not $unexpected) { $out .= "TEST PASSED: $name\n"; } else { $out .= "TEST FAILED: $name (status $reason)\n"; } $out .= "==========================================\n"; print $out;}sub start_test($$$){ my ($self, $parents, $testname) = @_; if ($#$parents == -1) { $self->start_testsuite($testname); }}sub end_test($$$$$){ my ($self, $parents, $testname, $result, $unexpected, $reason) = @_; if ($unexpected) { $self->{test_output}->{$self->{NAME}} .= "UNEXPECTED($result): $testname\n"; } if ($#$parents == -1) { $self->end_testsuite($testname, $result, $unexpected, $reason); }}sub summary($){ my ($self) = @_; print "DURATION: " . (time() - $self->{start_time}) . " seconds\n";}sub skip_testsuite($$$$){ my ($self, $name, $reason) = @_; print "SKIPPED: $name\n";}1;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?