#! /usr/bin/perl -w
use strict;
# $Id: sysinfo.t 1114 2007-09-25 13:02:17Z abeltje $
use Test::More tests => 55;
my $verbose = 0;
my $findbin;
use File::Basename;
BEGIN { $findbin = dirname $0; }
use lib $findbin;
use TestLib;
BEGIN { use_ok "Test::Smoke::SysInfo", qw( sysinfo tsuname ) }
ok defined &sysinfo, "sysinfo() imported";
ok defined &tsuname, "tsuname() imported";
{
local $^O = 'Generic';
my $si = Test::Smoke::SysInfo->new;
isa_ok $si => 'Test::Smoke::SysInfo';
ok $si->cpu_type, $si->cpu_type;
ok $si->cpu, $si->cpu;
is $si->ncpu, '', "no ncpu";
ok $si->os, $si->os;
ok $si->host, $si->host;
}
{
my $si = Test::Smoke::SysInfo->new;
isa_ok $si => 'Test::Smoke::SysInfo';
ok $si->cpu_type, "cpu_type: " . $si->cpu_type;
ok $si->cpu, "cpu: " . $si->cpu;
SKIP: {
$si->ncpu or skip "No #cpu code for this platform", 1;
ok $si->ncpu, "number of cpus: " . $si->ncpu
}
ok $si->os, $si->os;
ok $si->host, $si->host;
is join( " ", @{ $si }{map "_$_" => qw( host os cpu_type )} ),
sysinfo(),
"test sysinfo() " . sysinfo();
}
{
my $si = Test::Smoke::SysInfo->new;
isa_ok $si, 'Test::Smoke::SysInfo';
my $tsuname = join " ", map $si->{ "_$_" } => qw(
host os cpu ncpu cpu_type
);
is $si->tsuname(), $tsuname, "tsuname()";
is $si->tsuname(), $si->tsuname( 'a' ), "tsuname(a)";
is $si->tsuname( 'rubbish' ), $tsuname, "tsuname( rubbish )";
is $si->tsuname( 'n' ), $si->{_host}, "tsuname(n)";
is $si->tsuname( 's' ), $si->{_os}, "tsuname(s)";
is $si->tsuname( 'm' ), $si->{_cpu}, "tsuname(m)";
is $si->tsuname( 'c' ), $si->{_ncpu}, "tsuname(c)";
is $si->tsuname( 'p' ), $si->{_cpu_type}, "tsuname(p)";
is $si->tsuname(qw( n s )), "$si->{_host} $si->{_os}", "tsuname( n, s )";
is $si->tsuname(qw( n s )), $si->tsuname( 'n s' ),
"tsuname( 'n s' )";
is $si->tsuname(qw( s n )), $si->tsuname( 'n s' ),
"tsuname( 's n' )";
is $si->tsuname(qw( n m )), "$si->{_host} $si->{_cpu}", "tsuname( n, m )";
is $si->tsuname(qw( n m )), $si->tsuname( 'n m' ),
"tsuname( 'n m' )";
is $si->tsuname(qw( m n )), $si->tsuname( 'n m' ),
"tsuname( 'm n' )";
is $si->tsuname(qw( n c )), "$si->{_host} $si->{_ncpu}",
"tsuname( n, c )";
is $si->tsuname(qw( n c )), $si->tsuname( 'n c' ),
"tsuname( 'n c' )";
is $si->tsuname(qw( c n )), $si->tsuname( 'n c' ),
"tsuname( 'c n' )";
is $si->tsuname(qw( n p )), "$si->{_host} $si->{_cpu_type}",
"tsuname( n, p )";
is $si->tsuname(qw( n p )), $si->tsuname( 'n p' ),
"tsuname( 'n p' )";
is $si->tsuname(qw( p n )), $si->tsuname( 'n p' ),
"tsuname( 'p n' )";
is $si->tsuname(qw( s m )), "$si->{_os} $si->{_cpu}",
"tsuname( s, m )";
is $si->tsuname(qw( s m )), $si->tsuname( 's m' ),
"tsuname( 's m' )";
is $si->tsuname(qw( m s )), $si->tsuname( 's m' ),
"tsuname( 'm s' )";
is $si->tsuname(qw( s c )), "$si->{_os} $si->{_ncpu}",
"tsuname( s, c )";
is $si->tsuname(qw( s c )), $si->tsuname( 's c' ),
"tsuname( 's c' )";
is $si->tsuname(qw( c s )), $si->tsuname( 's c' ),
"tsuname( 'c s' )";
is $si->tsuname(qw( s p )), "$si->{_os} $si->{_cpu_type}",
"tsuname( s, p )";
is $si->tsuname(qw( s p )), $si->tsuname( 's p' ),
"tsuname( 's p' )";
is $si->tsuname(qw( p s )), $si->tsuname( 's p' ),
"tsuname( 'p s' )";
is $si->tsuname(qw( m c )), "$si->{_cpu} $si->{_ncpu}",
"tsuname( m, c )";
is $si->tsuname(qw( m c )), $si->tsuname( 'm c' ),
"tsuname( 'm c' )";
is $si->tsuname(qw( c m )), $si->tsuname( 'm c' ),
"tsuname( 'c m' )";
is $si->tsuname(qw( m p )), "$si->{_cpu} $si->{_cpu_type}",
"tsuname( m, p )";
is $si->tsuname(qw( m p )), $si->tsuname( 'm p' ),
"tsuname( 'm p' )";
is $si->tsuname(qw( p m )), $si->tsuname( 'm p' ),
"tsuname( 'p m' )";
is $si->tsuname(qw( c p )), "$si->{_ncpu} $si->{_cpu_type}",
"tsuname( c, p )";
is $si->tsuname(qw( c p )), $si->tsuname( 'c p' ),
"tsuname( 'c p' )";
is $si->tsuname(qw( p c )), $si->tsuname( 'c p' ),
"tsuname( 'c p' )";
}