Update of /cvsroot/compbench/CompBenchmarks++/libcompbenchmarks/share/perl/CBM
In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv24762
Added Files:
LibUI.pm
Log Message:
First import.
--- NEW FILE: LibUI.pm ---
# -----------------------------------------------------------------------------
# $Id: LibUI.pm,v 1.1 2007/01/30 19:10:54 xfred Exp $
#
# Description : High-level API for handling command-line arguments.
#
# This is free software.
# For details, see the GNU Public License in the COPYING file, or
# Look http://www.fsf.org
# -----------------------------------------------------------------------------
package CBM::LibUI;
use warnings;
use strict;
use CBM;
my $sys;
use vars qw($VERSION @ISA @EXPORT_OK);
$VERSION="0.5.0";
sub new {
my $class = shift;
my $self = {};
$sys = CBM::Init();
bless($self, $class);
return($self);
}
sub cbmSystem {
my $self = shift;
# my $sys = $self->{system};
return($sys);
}
sub Version {
my $self = shift;
return($sys->Version());
}
sub Host {
my $self = shift;
my %result;
$result{os}=$sys->os();
$result{os_version}=$sys->os_version();
$result{host_id}=$sys->hostid();
$result{hostname}=$sys->hostname();
$result{processor_name}=$sys->processor_name();
$result{processor_mhz}=$sys->processor_mhz();
$result{processor_cache}=$sys->processor_cache();
$result{processor_number}=$sys->processor_number();
$result{arch}=$sys->arch();
return(%result);
}
sub Programs {
my $self = shift;
my %result;
my @PROGRAMS = qw (
BZIP2 CUT
DD DIALOG GREP
GZIP HEAD MAKE MKDIR PATCH
RM TAIL TAR UNZIP WGET
ZCAT CAT
PERL
);
my $p;
foreach $p(@PROGRAMS) {
$result{$p}=$sys->Program($p);
}
return(%result);
}
sub Packages {
my $self = shift;
my @results;
my $i;
my $P;
my $n = $sys->packageNumber();
for($i=0;$i<$n;$i++) {
$P=$sys->Package($i);
push(@results, $P);
}
return(@results);
}
sub Benchmarks {
my $self = shift;
my $package_id = shift;
my @results;
my $i;
if (!defined($package_id)) {
my @P = $self->Packages();
my $n = $sys->packageNumber();
for($i=0; $i<$n; $i++) {
my @r = $self->Benchmarks($sys->Package($i)->Name());
foreach(@r) {
push(@results, $_);
}
}
} else {
my $P = $sys->Package($package_id);
my $B;
my $n = $P->benchmarkNumber();
for($i=0;$i<$n;$i++) {
$B=$P->Benchmark($i);
push(@results, $B);
}
}
return(@results);
}
sub Plan {
my $self = shift;
return($sys->Plan());
}
sub DESTROY {
my $self = shift;
# my $sys = $self->{system};
# $sys->done();
}
1;
__END__
|