Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv3853
Added Files:
03-CBMCompilerSelector-public.pl
Log Message:
First import.
--- NEW FILE: 03-CBMCompilerSelector-public.pl ---
#!/usr/bin/perl -w -I ..
use strict;
use CBM;
use Test::More;
my $top_srcdir = $0;
$top_srcdir =~ s/(.+)\/.*/$1/;
my $sys;
my %references = ('compiler-fake-g++-4.1.1-13' =>
{'language' => 'C++',
'compiler' => 'g++',
'compilerName' => 'g++ (GCC) 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)',
'compilerVersion' => '4.1.2 20060901 (prerelease)'
},
'compiler-fake-gcc-4.1.1-13' =>
{'language' => 'C',
'compiler' => 'gcc',
'compilerName' => 'gcc (GCC) 4.1.2 20060901 (prerelease) (Debian 4.1.1-13)',
'compilerVersion' => '4.1.2 20060901 (prerelease)'
},
'compiler-fake-tcc-0.9.23',
{'language' => 'C',
'compiler' => 'tcc',
'compilerName' => 'Tiny C Compiler tcc version 0.9.23',
'compilerVersion' => 'tcc version 0.9.23'
}
);
plan tests => (keys %references)*4;
sub check_simple {
my $str = shift;
ok($str ne "");
if ($str =~ /\n/) {
ok(0);
} else {
ok(1);
}
if ($str =~ /^ +(.*)/) {
ok(0, "'$str' starts with space(s)");
} else {
ok(1);
}
if ($str =~ / $/) {
ok(0, "'$str' ends with space(s)");
} else {
ok(1);
}
}
$sys = CBM::Init();
my $CS = CBM::CBMCompilerSelector->new($sys);
my $reffile;
my $co;
my %refdata;
foreach $reffile (keys %references) {
$co=$CS->select("$top_srcdir/reference/$reffile");
%refdata=%{$references{$reffile}};
ok($refdata{language} eq $co->language());
ok($refdata{compiler} eq $co->compiler());
ok($refdata{compilerName} eq $co->compilerName());
ok($refdata{compilerVersion} eq $co->compilerVersion());
}
$sys->done();
|