#! /usr/bin/perl -w
use strict;
# $Id$
use Test::More;
my @eg;
BEGIN {
@eg = (
{ plevel => 19000, os => 'linux', osvers => '2.4.18-4g',
arch => 'i686/1 cpu', sum => 'PASS', version => '5.00504' },
{ plevel => 19001, os => 'MSWin32', osvers => '5.',
arch => 'x86/1 cpu', sum => 'PASS', version => '5.9.0' },
{ plevel => 19002, os => 'aix', osvers => '4.3.1.0',
arch => 'PPC_64/8 cpus', sum => 'PASS', version => '5.9.0' },
{ plevel => 19003, os => 'linux', osvers => '2.4.20-1jv.7.x',
arch => 'i686/1 cpu', sum => 'PASS', version => '5.9.0' },
{ plevel => 19004, os => 'dec_osf', osvers => '5.1a',
arch => 'alpha/1 cpu', sum => 'FAIL(F)', version => '5.9.0' },
{ plevel => 19005, os => 'linux', osvers => '2.4.23-sparc-r1 [gentoo]',
arch => 'sparc64/1 cpu', sum => 'FAIL(F)', version => '5.8.3',
cpu => 'TI UltraSparc I (SpitFire)' },
{ plevel => 19006, os => 'netbsd', osvers => '1.5',
arch => 'i386/1 cpu', sum => 'FAIL(F)', version => '5.8.3',
ccvers => 'egcs-2.91.66 19990314 (egcs-1.1.2 release)',
cpu => 'Intel Pentium II (Deschutes) (686-class)' },
{ plevel => 19007, os => 'solaris', osvers => '2.9',
arch => 'sparc-LP64/1 cpu', sum => 'FAIL(F)', version => '5.8.3',
cpu => 'UltraSPARC-IIe (502MHz)' },
{ plevel => 19008, os => 'linux', osvers => '2.4.21-1 [redhat]',
arch => 'i686/1 cpu', sum => 'FAIL(F)', version => '5.8.3',
cpu => 'Pentium III (Coppermine) (GenuineIntel 731MHz)' },
{ plevel => 19009, os => 'AIX 5.1.0.0/ML04/32', osvers => '',
arch => 'PPC/32/1 cpu', sum => 'FAIL(F)', version => '5.8.3',
cpu => 'PPC_604' },
);
plan tests => 1 + @eg;
}
BEGIN { use_ok( 'Test::Smoke::Util', 'parse_report_Config' ); }
foreach my $eg ( @eg ) {
my $ccvers = $eg->{ccvers} || 42;
my $cpu = $eg->{cpu} || 'A very long(R) archstring(C) (999MHz)';
my $os_info = $eg->{os} || 'unknown';
$os_info .= " - $eg->{osvers}" if $eg->{osvers};
my $report = <<__EOR__;
Automated smoke report for $eg->{version} patch $eg->{plevel}
host: $cpu ($eg->{arch})
on $eg->{os} - $eg->{osvers}
using cc version $ccvers
smoketime 42 minutes 42 seconds
Summary: $eg->{sum}
__EOR__
my %conf;
@conf{qw( version plevel os osvers arch sum ) } =
parse_report_Config( $report );
$conf{ccvers} = $ccvers if $eg->{ccvers};
$conf{cpu} = $cpu if $eg->{cpu};
my $subject = "Smoke [$eg->{version}] $eg->{plevel} $eg->{sum} $eg->{os}" .
" $eg->{osvers} ($eg->{arch})";
is_deeply( \%conf, $eg, $subject );
}