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 + -
显示快捷键?