NAME
Test::Smoke::SysInfo - OO interface to system specific information
SYNOPSIS
use Test::Smoke::SysInfo;
my $si = Test::Smoke::SysInfo->new;
printf "Hostname: %s\n", $si->host;
printf "Number of CPU's: %s\n", $si->ncpu;
printf "Processor type: %s\n", $si->cpu_type; # short
printf "Processor description: %s\n", $si->cpu; # long
printf "OS and version: %s\n", $si->os;
or
use Test::Smoke::SysInfo qw( sysinfo );
printf "[%s]\n", sysinfo();
or
$ perl -MTest::Smoke::SysInfo=tsuname -le print+tsuname
DESCRIPTION
Sometimes one wants a more eleborate description of the system one is smoking.
METHODS
Test::Smoke::SysInfo->new( )
Dispatch to one of the OS-specific subs.
__get_os( )
This is the short info string about the Operating System.
__get_cpu_type( )
This is the short info string about the cpu-type. The POSIX module should provide one (portably) with POSIX::uname()
.
__get_cpu( )
We do not have a portable way to get this information, so assign _cpu_type
to it.
__get_hostname( )
Get the hostname from POSIX::uname()
.
Generic( )
Get the information from POSIX::uname()
AIX( )
Use the lsdev program to find information.
HPUX( )
Use the ioscan, getconf and machinfo programs to find information.
This routine was contributed by Rich Rauenzahn.
BSD( )
Use the sysctl program to find information.
Darwin( )
If the system_profiler program is accessible (meaning that this is Mac OS X), use it to find information; otherwise treat as "BSD".
This sub was donated by Dominic Dunlup.
IRIX( )
Use the hinv program to get the system information.
__from_proc_cpuinfo( $key, $lines )
Helper function to get information from /proc/cpuinfo
Linux( )
Use the /proc/cpuinfo
pseudofile to get the system information.
Linux_sparc( )
Linux on sparc architecture seems too different from intel
Linux_ppc( )
Linux on ppc architecture seems too different from intel
Solaris( )
Use the psrinfo program to get the system information. Used also in Tru64 (osf).
Windows( )
Use the %ENV
hash to find information. Fall back on the *::Generic values if these values have been unset or are unavailable (sorry I do not have Win9[58]).
Use Win32::TieRegistry if available to get better information.
VMS()
Use some VMS specific stuff to get system information. These were suggested by Craig Berry.
sysinfo( )
sysinfo()
returns a string with host
, os
and cpu_type
.
tsuname( @args )
This class gathers most of the uname(1)
info, make a comparable version. Takes almost the same arguments:
a for all (can be omitted)
n for nodename
s for os name and version
m for cpu name
c for cpu count
p for cpu_type
SEE ALSO
Test::Smoke::Smoker, Test::Smoke::Reporter
COPYRIGHT
(c) 2002-2006, Abe Timmerman <abeltje@cpan.org> All rights reserved.
With contributions from Jarkko Hietaniemi, Merijn Brand, Campo Weijerman, Alan Burlison, Allen Smith, Alain Barbet, Dominic Dunlop, Rich Rauenzahn, David Cantrell.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See:
http://www.perl.com/perl/misc/Artistic.html
http://www.gnu.org/copyleft/gpl.html
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.