[Compbench-devel] CompBenchmarks++/CBM-PI/t 05-Option-Descriptions.pl, NONE, 1.1
Brought to you by:
xfred
From: Frederic T. <xf...@us...> - 2007-03-14 19:29:44
|
Update of /cvsroot/compbench/CompBenchmarks++/CBM-PI/t In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv4520 Added Files: 05-Option-Descriptions.pl Log Message: First import. --- NEW FILE: 05-Option-Descriptions.pl --- #!/usr/bin/perl -w -I .. use strict; use CBM; my $sys; my $kb_srcdir; push(@INC, "lib"); require "libtest.pl"; # !!! g++ options not checked my %OPTIONS_GXX = ( 'expect' => 25 ); my %OPTIONS = ('gxx' => \%OPTIONS_GXX); my @COMPILERS = ('gxx'); use Test::More; sub plan_count_tests { my $n = 0; my $c; foreach $c (@COMPILERS) { my $expect = $OPTIONS{$c}->{expect}; $n+=(2+($expect*6)); } return($n); } plan tests => (plan_count_tests()); our $top_srcdir; my $T; my $F; sub test_options_compiler { my $compiler_id = shift; my $OD = new CBM::CompilerOptionDescriptions($compiler_id); ok($OD, "descriptions' initialization works for $compiler_id"); my $n; $n=$OD->DescriptionNumber(); ok($n eq $OPTIONS{$compiler_id}->{expect}, "$compiler_id: DescriptionNumber() returns $OPTIONS{$compiler_id}->{expect} (has $n)"); my $i; my %unique_id; my %unique_opt; my $D; for($i=0; $i<$n; $i++) { $D = $OD->Description($i); ok($D->Id() ne "", "$compiler_id: D$i has identifier"); $unique_id{$D->Id()}++; ok($D->ShortDescription() ne "", "$compiler_id: D$i has short description"); ok($D->EditorDescription() ne "", "$compiler_id: D$i has editor's description"); ok($D->Option() ne "", "$compiler_id: D$i has option (value)"); $unique_id{$D->Option()}++; } foreach(keys %unique_id) { ok($unique_id{$_} == 1, "$compiler_id: option $_ is defined only once"); } foreach(keys %unique_opt) { ok($unique_opt{$_} == 1, "$compiler_id: value $_ is defined only once"); } } sub test_options { foreach(@COMPILERS) { test_options_compiler($_); } } $sys = CBM::Init(); test_options(); $sys->done(); |