#! /usr/bin/perl -w use strict; # $Id: parse_report.t 567 2004-01-13 23:55:22Z abeltje $ 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 ); }