facter 2.0.1.rc1-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of facter might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/COMMITTERS.md +194 -0
- data/CONTRIBUTING.md +65 -0
- data/Gemfile +43 -0
- data/LICENSE +15 -0
- data/README.md +33 -0
- data/Rakefile +79 -0
- data/bin/facter +16 -0
- data/etc/facter.conf +5 -0
- data/ext/build_defaults.yaml +24 -0
- data/ext/debian/changelog.erb +59 -0
- data/ext/debian/compat +1 -0
- data/ext/debian/control +14 -0
- data/ext/debian/copyright +19 -0
- data/ext/debian/docs +1 -0
- data/ext/debian/lintian-overrides +0 -0
- data/ext/debian/rules +10 -0
- data/ext/debian/source/format +1 -0
- data/ext/facter-diff +74 -0
- data/ext/ips/facter.p5m.erb +10 -0
- data/ext/ips/rules +7 -0
- data/ext/ips/transforms +18 -0
- data/ext/osx/file_mapping.yaml +27 -0
- data/ext/osx/preflight.erb +33 -0
- data/ext/osx/prototype.plist.erb +38 -0
- data/ext/project_data.yaml +33 -0
- data/ext/redhat/facter.spec.erb +220 -0
- data/ext/solaris/pkginfo +7 -0
- data/install.rb +380 -0
- data/lib/facter.rb +262 -0
- data/lib/facter/Cfkey.rb +42 -0
- data/lib/facter/application.rb +204 -0
- data/lib/facter/architecture.rb +50 -0
- data/lib/facter/augeasversion.rb +28 -0
- data/lib/facter/blockdevices.rb +105 -0
- data/lib/facter/core/aggregate.rb +220 -0
- data/lib/facter/core/directed_graph.rb +46 -0
- data/lib/facter/core/execution.rb +100 -0
- data/lib/facter/core/execution/base.rb +73 -0
- data/lib/facter/core/execution/posix.rb +50 -0
- data/lib/facter/core/execution/windows.rb +57 -0
- data/lib/facter/core/logging.rb +169 -0
- data/lib/facter/core/resolvable.rb +94 -0
- data/lib/facter/core/suitable.rb +117 -0
- data/lib/facter/domain.rb +99 -0
- data/lib/facter/ec2.rb +37 -0
- data/lib/facter/facterversion.rb +15 -0
- data/lib/facter/filesystems.rb +38 -0
- data/lib/facter/fqdn.rb +22 -0
- data/lib/facter/hardwareisa.rb +20 -0
- data/lib/facter/hardwaremodel.rb +67 -0
- data/lib/facter/hostname.rb +33 -0
- data/lib/facter/id.rb +21 -0
- data/lib/facter/interfaces.rb +46 -0
- data/lib/facter/ipaddress.rb +171 -0
- data/lib/facter/ipaddress6.rb +82 -0
- data/lib/facter/iphostnumber.rb +29 -0
- data/lib/facter/kernel.rb +22 -0
- data/lib/facter/kernelmajversion.rb +15 -0
- data/lib/facter/kernelrelease.rb +42 -0
- data/lib/facter/kernelversion.rb +22 -0
- data/lib/facter/ldom.rb +47 -0
- data/lib/facter/lsbdistcodename.rb +18 -0
- data/lib/facter/lsbdistdescription.rb +21 -0
- data/lib/facter/lsbdistid.rb +18 -0
- data/lib/facter/lsbdistrelease.rb +18 -0
- data/lib/facter/lsbmajdistrelease.rb +27 -0
- data/lib/facter/lsbrelease.rb +18 -0
- data/lib/facter/macaddress.rb +97 -0
- data/lib/facter/macosx.rb +56 -0
- data/lib/facter/manufacturer.rb +68 -0
- data/lib/facter/memory.rb +162 -0
- data/lib/facter/netmask.rb +42 -0
- data/lib/facter/network.rb +20 -0
- data/lib/facter/operatingsystem.rb +121 -0
- data/lib/facter/operatingsystemmajrelease.rb +33 -0
- data/lib/facter/operatingsystemrelease.rb +226 -0
- data/lib/facter/osfamily.rb +35 -0
- data/lib/facter/path.rb +14 -0
- data/lib/facter/physicalprocessorcount.rb +84 -0
- data/lib/facter/processor.rb +183 -0
- data/lib/facter/ps.rb +30 -0
- data/lib/facter/puppetversion.rb +20 -0
- data/lib/facter/rubysitedir.rb +12 -0
- data/lib/facter/rubyversion.rb +12 -0
- data/lib/facter/selinux.rb +99 -0
- data/lib/facter/ssh.rb +72 -0
- data/lib/facter/timezone.rb +14 -0
- data/lib/facter/uniqueid.rb +4 -0
- data/lib/facter/uptime.rb +34 -0
- data/lib/facter/uptime_days.rb +15 -0
- data/lib/facter/uptime_hours.rb +15 -0
- data/lib/facter/uptime_seconds.rb +24 -0
- data/lib/facter/util/architecture.rb +19 -0
- data/lib/facter/util/collection.rb +161 -0
- data/lib/facter/util/composite_loader.rb +12 -0
- data/lib/facter/util/config.rb +61 -0
- data/lib/facter/util/confine.rb +66 -0
- data/lib/facter/util/directory_loader.rb +83 -0
- data/lib/facter/util/ec2.rb +101 -0
- data/lib/facter/util/fact.rb +204 -0
- data/lib/facter/util/file_read.rb +37 -0
- data/lib/facter/util/formatter.rb +38 -0
- data/lib/facter/util/ip.rb +285 -0
- data/lib/facter/util/ip/windows.rb +215 -0
- data/lib/facter/util/loader.rb +146 -0
- data/lib/facter/util/macaddress.rb +43 -0
- data/lib/facter/util/macosx.rb +73 -0
- data/lib/facter/util/manufacturer.rb +104 -0
- data/lib/facter/util/memory.rb +228 -0
- data/lib/facter/util/monkey_patches.rb +8 -0
- data/lib/facter/util/netmask.rb +40 -0
- data/lib/facter/util/normalization.rb +94 -0
- data/lib/facter/util/nothing_loader.rb +12 -0
- data/lib/facter/util/parser.rb +158 -0
- data/lib/facter/util/plist.rb +24 -0
- data/lib/facter/util/plist/generator.rb +228 -0
- data/lib/facter/util/plist/parser.rb +226 -0
- data/lib/facter/util/processor.rb +291 -0
- data/lib/facter/util/registry.rb +11 -0
- data/lib/facter/util/resolution.rb +152 -0
- data/lib/facter/util/solaris_zones.rb +158 -0
- data/lib/facter/util/unix_root.rb +5 -0
- data/lib/facter/util/uptime.rb +81 -0
- data/lib/facter/util/values.rb +80 -0
- data/lib/facter/util/virtual.rb +151 -0
- data/lib/facter/util/vlans.rb +24 -0
- data/lib/facter/util/windows_root.rb +37 -0
- data/lib/facter/util/wmi.rb +16 -0
- data/lib/facter/util/xendomains.rb +10 -0
- data/lib/facter/version.rb +86 -0
- data/lib/facter/virtual.rb +262 -0
- data/lib/facter/vlans.rb +17 -0
- data/lib/facter/xendomains.rb +20 -0
- data/lib/facter/zfs_version.rb +10 -0
- data/lib/facter/zonename.rb +6 -0
- data/lib/facter/zones.rb +17 -0
- data/lib/facter/zpool_version.rb +10 -0
- data/spec/fixtures/cpuinfo/amd64dual +57 -0
- data/spec/fixtures/cpuinfo/amd64quad +79 -0
- data/spec/fixtures/cpuinfo/amd64solo +23 -0
- data/spec/fixtures/cpuinfo/amd64tri +86 -0
- data/spec/fixtures/cpuinfo/amd64twentyfour +600 -0
- data/spec/fixtures/cpuinfo/bbg3-armel +12 -0
- data/spec/fixtures/cpuinfo/beaglexm-armel +12 -0
- data/spec/fixtures/cpuinfo/panda-armel +17 -0
- data/spec/fixtures/cpuinfo/ppc64 +19 -0
- data/spec/fixtures/cpuinfo/sparc +10 -0
- data/spec/fixtures/hpux/machinfo/hppa-rp4440 +26 -0
- data/spec/fixtures/hpux/machinfo/ia64-rx2620 +49 -0
- data/spec/fixtures/hpux/machinfo/ia64-rx6600 +26 -0
- data/spec/fixtures/hpux/machinfo/ia64-rx8640 +53 -0
- data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +53 -0
- data/spec/fixtures/hpux/machinfo/superdome2-16s +31 -0
- data/spec/fixtures/hpux/sched.models +174 -0
- data/spec/fixtures/hpux/unistd.h +1534 -0
- data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +18 -0
- data/spec/fixtures/ifconfig/centos_5_5 +17 -0
- data/spec/fixtures/ifconfig/centos_5_5_eth0 +8 -0
- data/spec/fixtures/ifconfig/darwin_10_3_0 +26 -0
- data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +6 -0
- data/spec/fixtures/ifconfig/darwin_10_6_4 +28 -0
- data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +6 -0
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +8 -0
- data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +7 -0
- data/spec/fixtures/ifconfig/darwin_9_8_0 +26 -0
- data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +6 -0
- data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +23 -0
- data/spec/fixtures/ifconfig/fedora_10 +36 -0
- data/spec/fixtures/ifconfig/fedora_10_eth0 +9 -0
- data/spec/fixtures/ifconfig/fedora_13 +18 -0
- data/spec/fixtures/ifconfig/fedora_13_eth0 +9 -0
- data/spec/fixtures/ifconfig/fedora_8 +38 -0
- data/spec/fixtures/ifconfig/fedora_8_eth0 +9 -0
- data/spec/fixtures/ifconfig/freebsd_6_0 +12 -0
- data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +16 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +19 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +19 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +8 -0
- data/spec/fixtures/ifconfig/linux_ifconfig_venet +24 -0
- data/spec/fixtures/ifconfig/open_solaris_10 +12 -0
- data/spec/fixtures/ifconfig/open_solaris_b132 +20 -0
- data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +10 -0
- data/spec/fixtures/ifconfig/ubuntu_7_04 +38 -0
- data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +9 -0
- data/spec/fixtures/ldom/ldom_v1 +6 -0
- data/spec/fixtures/netstat/centos_5_5 +5 -0
- data/spec/fixtures/netstat/darwin_10_3_0 +35 -0
- data/spec/fixtures/netstat/darwin_10_6_4 +29 -0
- data/spec/fixtures/netstat/darwin_10_6_6_dualstack +34 -0
- data/spec/fixtures/netstat/darwin_9_8_0 +28 -0
- data/spec/fixtures/netstat/fedora_10 +7 -0
- data/spec/fixtures/netstat/open_solaris_10 +16 -0
- data/spec/fixtures/netstat/open_solaris_b132 +17 -0
- data/spec/fixtures/netstat/ubuntu_7_04 +7 -0
- data/spec/fixtures/processorcount/solaris-psrinfo +24 -0
- data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +1216 -0
- data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +225 -0
- data/spec/fixtures/unit/filesystems/linux +28 -0
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +10 -0
- data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +8 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +20 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +18 -0
- data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +16 -0
- data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +30 -0
- data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +19 -0
- data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +16 -0
- data/spec/fixtures/unit/selinux/selinux_sestatus +6 -0
- data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +1 -0
- data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +1 -0
- data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +5 -0
- data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +7 -0
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +6 -0
- data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +10 -0
- data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +12 -0
- data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +26 -0
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +10 -0
- data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +6 -0
- data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +40 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +5 -0
- data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +5 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +4 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +2 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +9 -0
- data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +6 -0
- data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +19 -0
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +10 -0
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +8 -0
- data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +9 -0
- data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +18 -0
- data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +8 -0
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +8 -0
- data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +3 -0
- data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +12 -0
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +7 -0
- data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +18 -0
- data/spec/fixtures/unit/util/loader/nosuchfact.rb +1 -0
- data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +42 -0
- data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +549 -0
- data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +60 -0
- data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +33 -0
- data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +33 -0
- data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +136 -0
- data/spec/fixtures/unit/util/processor/solaris-i86pc +28 -0
- data/spec/fixtures/unit/util/processor/solaris-sun4u +151 -0
- data/spec/fixtures/unit/util/processor/x86-pentium2 +41 -0
- data/spec/fixtures/unit/util/uptime/kstat_boot_time +1 -0
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +1 -0
- data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +1 -0
- data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +1 -0
- data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
- data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
- data/spec/fixtures/unit/util/vlans/linux_vlan_config +6 -0
- data/spec/fixtures/unit/util/xendomains/xendomains +4 -0
- data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
- data/spec/fixtures/unit/zfs_version/freebsd_8.2 +14 -0
- data/spec/fixtures/unit/zfs_version/freebsd_9.0 +13 -0
- data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +14 -0
- data/spec/fixtures/unit/zfs_version/solaris_10 +10 -0
- data/spec/fixtures/unit/zfs_version/solaris_11 +12 -0
- data/spec/fixtures/unit/zpool_version/freebsd_8.2 +26 -0
- data/spec/fixtures/unit/zpool_version/freebsd_9.0 +38 -0
- data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +35 -0
- data/spec/fixtures/unit/zpool_version/solaris_10 +31 -0
- data/spec/fixtures/unit/zpool_version/solaris_11 +43 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +37 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +36 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +39 -0
- data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +39 -0
- data/spec/integration/facter_spec.rb +39 -0
- data/spec/lib/facter_spec/cpuinfo.rb +15 -0
- data/spec/lib/facter_spec/windows_network.rb +64 -0
- data/spec/puppetlabs_spec/files.rb +57 -0
- data/spec/puppetlabs_spec/fixtures.rb +49 -0
- data/spec/puppetlabs_spec/matchers.rb +87 -0
- data/spec/puppetlabs_spec/verbose.rb +9 -0
- data/spec/puppetlabs_spec_helper.rb +26 -0
- data/spec/shared_contexts/platform.rb +55 -0
- data/spec/shared_formats/parses.rb +3 -0
- data/spec/spec_helper.rb +75 -0
- data/spec/unit/application_spec.rb +101 -0
- data/spec/unit/architecture_spec.rb +63 -0
- data/spec/unit/blockdevices_spec.rb +109 -0
- data/spec/unit/core/aggregate_spec.rb +125 -0
- data/spec/unit/core/directed_graph_spec.rb +79 -0
- data/spec/unit/core/execution/base_spec.rb +119 -0
- data/spec/unit/core/execution/posix_spec.rb +86 -0
- data/spec/unit/core/execution/windows_spec.rb +106 -0
- data/spec/unit/core/execution_spec.rb +37 -0
- data/spec/unit/core/logging_spec.rb +104 -0
- data/spec/unit/core/resolvable_spec.rb +81 -0
- data/spec/unit/core/suitable_spec.rb +96 -0
- data/spec/unit/domain_spec.rb +310 -0
- data/spec/unit/ec2_spec.rb +187 -0
- data/spec/unit/facter_spec.rb +108 -0
- data/spec/unit/filesystems_spec.rb +50 -0
- data/spec/unit/hardwareisa_spec.rb +41 -0
- data/spec/unit/hardwaremodel_spec.rb +56 -0
- data/spec/unit/hostname_spec.rb +40 -0
- data/spec/unit/id_spec.rb +29 -0
- data/spec/unit/interfaces_spec.rb +57 -0
- data/spec/unit/ipaddress6_spec.rb +161 -0
- data/spec/unit/ipaddress_spec.rb +114 -0
- data/spec/unit/kernel_spec.rb +24 -0
- data/spec/unit/kernelmajversion_spec.rb +17 -0
- data/spec/unit/kernelrelease_spec.rb +53 -0
- data/spec/unit/kernelversion_spec.rb +32 -0
- data/spec/unit/ldom_spec.rb +74 -0
- data/spec/unit/lsbdistcodename_spec.rb +25 -0
- data/spec/unit/lsbdistdescription_spec.rb +25 -0
- data/spec/unit/lsbdistid_spec.rb +25 -0
- data/spec/unit/lsbdistrelease_spec.rb +25 -0
- data/spec/unit/lsbmajdistrelease_spec.rb +13 -0
- data/spec/unit/lsbrelease_spec.rb +25 -0
- data/spec/unit/macaddress_spec.rb +61 -0
- data/spec/unit/manufacturer_spec.rb +115 -0
- data/spec/unit/memory_spec.rb +539 -0
- data/spec/unit/netmask_spec.rb +95 -0
- data/spec/unit/operatingsystem_spec.rb +141 -0
- data/spec/unit/operatingsystemmajrelease_spec.rb +16 -0
- data/spec/unit/operatingsystemrelease_spec.rb +226 -0
- data/spec/unit/physicalprocessorcount_spec.rb +76 -0
- data/spec/unit/processor_spec.rb +393 -0
- data/spec/unit/ps_spec.rb +42 -0
- data/spec/unit/selinux_spec.rb +114 -0
- data/spec/unit/ssh_spec.rb +77 -0
- data/spec/unit/uniqueid_spec.rb +27 -0
- data/spec/unit/uptime_spec.rb +110 -0
- data/spec/unit/util/collection_spec.rb +258 -0
- data/spec/unit/util/config_spec.rb +84 -0
- data/spec/unit/util/confine_spec.rb +148 -0
- data/spec/unit/util/directory_loader_spec.rb +88 -0
- data/spec/unit/util/ec2_spec.rb +180 -0
- data/spec/unit/util/fact_spec.rb +142 -0
- data/spec/unit/util/file_read_spec.rb +29 -0
- data/spec/unit/util/ip/windows_spec.rb +80 -0
- data/spec/unit/util/ip_spec.rb +463 -0
- data/spec/unit/util/loader_spec.rb +286 -0
- data/spec/unit/util/macaddress_spec.rb +141 -0
- data/spec/unit/util/macosx_spec.rb +113 -0
- data/spec/unit/util/manufacturer_spec.rb +179 -0
- data/spec/unit/util/normalization_spec.rb +113 -0
- data/spec/unit/util/parser_spec.rb +200 -0
- data/spec/unit/util/processor_spec.rb +92 -0
- data/spec/unit/util/registry_spec.rb +76 -0
- data/spec/unit/util/resolution_spec.rb +129 -0
- data/spec/unit/util/solaris_zones_spec.rb +127 -0
- data/spec/unit/util/uptime_spec.rb +126 -0
- data/spec/unit/util/values_spec.rb +131 -0
- data/spec/unit/util/virtual_spec.rb +294 -0
- data/spec/unit/util/vlans_spec.rb +12 -0
- data/spec/unit/util/wmi_spec.rb +19 -0
- data/spec/unit/util/xendomains_spec.rb +21 -0
- data/spec/unit/version_spec.rb +42 -0
- data/spec/unit/virtual_spec.rb +470 -0
- data/spec/unit/zfs_version_spec.rb +75 -0
- data/spec/unit/zonename_spec.rb +14 -0
- data/spec/unit/zones_spec.rb +55 -0
- data/spec/unit/zpool_version_spec.rb +75 -0
- data/spec/watchr.rb +125 -0
- metadata +674 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "Kernel version fact" do
|
6
|
+
|
7
|
+
describe "on Solaris/Sun OS" do
|
8
|
+
before do
|
9
|
+
Facter.fact(:kernel).stubs(:value).returns('sunos')
|
10
|
+
Facter::Core::Execution.stubs(:exec).with('uname -v').returns("1.234.5")
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the kernel version using 'uname -v'" do
|
14
|
+
Facter.fact(:kernelversion).value.should == "1.234.5"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "on everything else" do
|
19
|
+
before do
|
20
|
+
Facter.fact(:kernel).stubs(:value).returns('linux')
|
21
|
+
Facter.fact(:kernelrelease).stubs(:value).returns('1.23.4-56')
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should return the kernel version using kernel release" do
|
25
|
+
Facter.fact(:kernelversion).value.should == "1.23.4"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
def ldom_fixtures(filename)
|
6
|
+
File.read(fixtures('ldom', filename))
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "ldom fact" do
|
10
|
+
before do
|
11
|
+
Facter.fact(:kernel).stubs(:value).returns("SunOS")
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "when running on ldom hardware" do
|
15
|
+
before :each do
|
16
|
+
# For virtinfo documentation:
|
17
|
+
# http://docs.oracle.com/cd/E23824_01/html/821-1462/virtinfo-1m.html
|
18
|
+
Facter::Core::Execution.stubs(:exec).with("virtinfo -ap").
|
19
|
+
returns(ldom_fixtures('ldom_v1'))
|
20
|
+
Facter.collection.internal_loader.load(:ldom)
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should return correct impl on version 1.0" do
|
24
|
+
Facter.fact(:ldom_domainrole_impl).value.should == "LDoms"
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should return correct control on version 1.0" do
|
28
|
+
Facter.fact(:ldom_domainrole_control).value.should == "false"
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return correct io on version 1.0" do
|
32
|
+
Facter.fact(:ldom_domainrole_io).value.should == "true"
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should return correct service on version 1.0" do
|
36
|
+
Facter.fact(:ldom_domainrole_service).value.should == "true"
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should return correct root on version 1.0" do
|
40
|
+
Facter.fact(:ldom_domainrole_root).value.should == "true"
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should return correct domain name on version 1.0" do
|
44
|
+
Facter.fact(:ldom_domainname).value.should == "primary"
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should return correct uuid on version 1.0" do
|
48
|
+
Facter.fact(:ldom_domainuuid).value.should == "8e0d6ec5-cd55-e57f-ae9f-b4cc050999a4"
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should return correct ldomcontrol on version 1.0" do
|
52
|
+
Facter.fact(:ldom_domaincontrol).value.should == "san-t2k-6"
|
53
|
+
end
|
54
|
+
|
55
|
+
it "should return correct serial on version 1.0" do
|
56
|
+
Facter.fact(:ldom_domainchassis).value.should == "0704RB0280"
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should return correct virtual on version 1.0" do
|
60
|
+
Facter.fact(:virtual).value.should == "LDoms"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "when running on non ldom hardware" do
|
65
|
+
before :each do
|
66
|
+
Facter::Core::Execution.stubs(:exec).with("virtinfo -ap").returns(nil)
|
67
|
+
Facter.collection.internal_loader.load(:ldom)
|
68
|
+
end
|
69
|
+
|
70
|
+
it "should return correct virtual" do
|
71
|
+
Facter.fact(:ldom_domainrole_impl).should == nil
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "lsbdistcodename fact" do
|
6
|
+
|
7
|
+
[ "Linux", "GNU/kFreeBSD"].each do |kernel|
|
8
|
+
describe "on #{kernel}" do
|
9
|
+
before :each do
|
10
|
+
Facter.fact(:kernel).stubs(:value).returns kernel
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the codename through lsb_release -c -s 2>/dev/null" do
|
14
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -c -s 2>/dev/null').returns 'n/a'
|
15
|
+
Facter.fact(:lsbdistcodename).value.should == 'n/a'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return nil if lsb_release is not installed" do
|
19
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -c -s 2>/dev/null').returns nil
|
20
|
+
Facter.fact(:lsbdistcodename).value.should be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "lsbdistdescription fact" do
|
6
|
+
|
7
|
+
[ "Linux", "GNU/kFreeBSD"].each do |kernel|
|
8
|
+
describe "on #{kernel}" do
|
9
|
+
before :each do
|
10
|
+
Facter.fact(:kernel).stubs(:value).returns kernel
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the description through lsb_release -d -s 2>/dev/null" do
|
14
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -d -s 2>/dev/null').returns '"Gentoo Base System release 2.1"'
|
15
|
+
Facter.fact(:lsbdistdescription).value.should == 'Gentoo Base System release 2.1'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return nil if lsb_release is not installed" do
|
19
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -d -s 2>/dev/null').returns nil
|
20
|
+
Facter.fact(:lsbdistdescription).value.should be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "lsbdistid fact" do
|
6
|
+
|
7
|
+
[ "Linux", "GNU/kFreeBSD"].each do |kernel|
|
8
|
+
describe "on #{kernel}" do
|
9
|
+
before :each do
|
10
|
+
Facter.fact(:kernel).stubs(:value).returns kernel
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the id through lsb_release -i -s 2>/dev/null" do
|
14
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -i -s 2>/dev/null').returns 'Gentoo'
|
15
|
+
Facter.fact(:lsbdistid).value.should == 'Gentoo'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return nil if lsb_release is not installed 2>/dev/null" do
|
19
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -i -s 2>/dev/null').returns nil
|
20
|
+
Facter.fact(:lsbdistid).value.should be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "lsbdistrelease fact" do
|
6
|
+
|
7
|
+
[ "Linux", "GNU/kFreeBSD"].each do |kernel|
|
8
|
+
describe "on #{kernel}" do
|
9
|
+
before :each do
|
10
|
+
Facter.fact(:kernel).stubs(:value).returns kernel
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the release through lsb_release -r -s 2>/dev/null" do
|
14
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -r -s 2>/dev/null').returns '2.1'
|
15
|
+
Facter.fact(:lsbdistrelease).value.should == '2.1'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return nil if lsb_release is not installed" do
|
19
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -r -s 2>/dev/null').returns nil
|
20
|
+
Facter.fact(:lsbdistrelease).value.should be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'facter'
|
5
|
+
|
6
|
+
describe "LSB distribution major release fact" do
|
7
|
+
it "should be derived from lsb_release" do
|
8
|
+
Facter.fact(:kernel).stubs(:value).returns("Linux")
|
9
|
+
Facter.stubs(:value).with(:lsbdistrelease).returns("10.10")
|
10
|
+
|
11
|
+
Facter.fact(:lsbmajdistrelease).value.should == "10"
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "lsbrelease fact" do
|
6
|
+
|
7
|
+
[ "Linux", "GNU/kFreeBSD"].each do |kernel|
|
8
|
+
describe "on #{kernel}" do
|
9
|
+
before :each do
|
10
|
+
Facter.fact(:kernel).stubs(:value).returns kernel
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should return the release through lsb_release -v -s 2>/dev/null" do
|
14
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -v -s 2>/dev/null').returns 'n/a'
|
15
|
+
Facter.fact(:lsbrelease).value.should == 'n/a'
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return nil if lsb_release is not installed" do
|
19
|
+
Facter::Core::Execution.stubs(:exec).with('lsb_release -v -s 2>/dev/null').returns nil
|
20
|
+
Facter.fact(:lsbrelease).value.should be_nil
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'facter/util/ip'
|
5
|
+
|
6
|
+
|
7
|
+
def ifconfig_fixture(filename)
|
8
|
+
File.read(fixtures('ifconfig', filename))
|
9
|
+
end
|
10
|
+
|
11
|
+
describe "macaddress fact" do
|
12
|
+
include FacterSpec::ConfigHelper
|
13
|
+
|
14
|
+
before do
|
15
|
+
given_a_configuration_of(:is_windows => false)
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "when run on Linux" do
|
19
|
+
before :each do
|
20
|
+
Facter.fact(:kernel).stubs(:value).returns("Linux")
|
21
|
+
Facter.fact(:operatingsystem).stubs(:value).returns("Linux")
|
22
|
+
Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should return the macaddress of the first interface" do
|
26
|
+
Facter::Util::IP.stubs(:exec_ifconfig).with(["-a","2>/dev/null"]).
|
27
|
+
returns(ifconfig_fixture('linux_ifconfig_all_with_multiple_interfaces'))
|
28
|
+
|
29
|
+
Facter.value(:macaddress).should == "00:12:3f:be:22:01"
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should return nil when no macaddress can be found" do
|
33
|
+
Facter::Util::IP.stubs(:exec_ifconfig).with(["-a","2>/dev/null"]).
|
34
|
+
returns(ifconfig_fixture('linux_ifconfig_no_mac'))
|
35
|
+
|
36
|
+
proc { Facter.value(:macaddress) }.should_not raise_error
|
37
|
+
Facter.value(:macaddress).should be_nil
|
38
|
+
end
|
39
|
+
|
40
|
+
# some interfaces dont have a real mac addresses (like venet inside a container)
|
41
|
+
it "should return nil when no interface has a real macaddress" do
|
42
|
+
Facter::Util::IP.stubs(:exec_ifconfig).with(["-a","2>/dev/null"]).
|
43
|
+
returns(ifconfig_fixture('linux_ifconfig_venet'))
|
44
|
+
|
45
|
+
proc { Facter.value(:macaddress) }.should_not raise_error
|
46
|
+
Facter.value(:macaddress).should be_nil
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "when run on BSD" do
|
51
|
+
it "should return macaddress information" do
|
52
|
+
Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
|
53
|
+
Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
|
54
|
+
Facter::Util::IP.stubs(:exec_ifconfig).
|
55
|
+
returns(ifconfig_fixture('bsd_ifconfig_all_with_multiple_interfaces'))
|
56
|
+
|
57
|
+
Facter.value(:macaddress).should == "00:0b:db:93:09:67"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,115 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
require 'facter'
|
5
|
+
require 'facter/util/manufacturer'
|
6
|
+
|
7
|
+
describe "Hardware manufacturer facts" do
|
8
|
+
|
9
|
+
describe "on OS'es without DMI support" do
|
10
|
+
|
11
|
+
it "no DMI facts should be reported" do
|
12
|
+
Facter.fact(:kernel).stubs(:value).returns("Darwin")
|
13
|
+
Facter.fact(:boardmanufacturer).should == nil
|
14
|
+
Facter.fact(:boardproductname).should == nil
|
15
|
+
Facter.fact(:boardserialnumber).should == nil
|
16
|
+
Facter.fact(:bios_vendor).should == nil
|
17
|
+
Facter.fact(:bios_version).should == nil
|
18
|
+
Facter.fact(:bios_release_date).should == nil
|
19
|
+
Facter.fact(:type).should == nil
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "on OS'es with DMI support" do
|
25
|
+
before :each do
|
26
|
+
Facter.fact(:kernel).stubs(:value).returns("Linux")
|
27
|
+
dmidecode_output = <<-eos
|
28
|
+
Handle 0x0000, DMI type 0, 24 bytes
|
29
|
+
BIOS Information
|
30
|
+
Vendor: Dell Inc.
|
31
|
+
Version: 1.2.5
|
32
|
+
Release Date: 03/16/2011
|
33
|
+
Address: 0xF0000
|
34
|
+
Runtime Size: 64 kB
|
35
|
+
ROM Size: 4096 kB
|
36
|
+
Characteristics:
|
37
|
+
ISA is supported
|
38
|
+
PCI is supported
|
39
|
+
PNP is supported
|
40
|
+
BIOS is upgradeable
|
41
|
+
BIOS shadowing is allowed
|
42
|
+
Boot from CD is supported
|
43
|
+
Selectable boot is supported
|
44
|
+
EDD is supported
|
45
|
+
8042 keyboard services are supported (int 9h)
|
46
|
+
Serial services are supported (int 14h)
|
47
|
+
CGA/mono video services are supported (int 10h)
|
48
|
+
ACPI is supported
|
49
|
+
USB legacy is supported
|
50
|
+
BIOS boot specification is supported
|
51
|
+
Function key-initiated network boot is supported
|
52
|
+
Targeted content distribution is supported
|
53
|
+
BIOS Revision: 1.2
|
54
|
+
|
55
|
+
Handle 0x0100, DMI type 1, 27 bytes
|
56
|
+
System Information
|
57
|
+
Manufacturer: Dell Inc.
|
58
|
+
Product Name: PowerEdge R515
|
59
|
+
Version: Not Specified
|
60
|
+
Serial Number: ABCD124
|
61
|
+
UUID: 1A2B3456-7890-1A23-4567-B8C91D123456
|
62
|
+
Wake-up Type: Power Switch
|
63
|
+
SKU Number: Not Specified
|
64
|
+
Family: Not Specified
|
65
|
+
|
66
|
+
Handle 0x0200, DMI type 2, 9 bytes
|
67
|
+
Base Board Information
|
68
|
+
Manufacturer: Dell Inc.
|
69
|
+
Product Name: 03X0MN
|
70
|
+
Version: A03
|
71
|
+
Serial Number: ..AB1234567B1234.
|
72
|
+
Asset Tag: Not Specified
|
73
|
+
|
74
|
+
Handle 0x0300, DMI type 3, 21 bytes
|
75
|
+
Chassis Information
|
76
|
+
Manufacturer: Dell Inc.
|
77
|
+
Type: Rack Mount Chassis
|
78
|
+
Lock: Present
|
79
|
+
Version: Not Specified
|
80
|
+
Serial Number: ABCD124
|
81
|
+
Asset Tag: Not Specified
|
82
|
+
Boot-up State: Safe
|
83
|
+
Power Supply State: Safe
|
84
|
+
Thermal State: Safe
|
85
|
+
Security Status: Unknown
|
86
|
+
OEM Information: 0x00000000
|
87
|
+
Height: 2 U
|
88
|
+
Number Of Power Cords: Unspecified
|
89
|
+
Contained Elements: 0
|
90
|
+
|
91
|
+
Handle 0x7F00, DMI type 127, 4 bytes
|
92
|
+
End Of Table
|
93
|
+
eos
|
94
|
+
Facter::Manufacturer.stubs(:get_dmi_table).returns(dmidecode_output)
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should report the correct details from the DMI query" do
|
98
|
+
Facter.fact(:manufacturer).value.should == "Dell Inc."
|
99
|
+
Facter.fact(:boardmanufacturer).value.should == "Dell Inc."
|
100
|
+
Facter.fact(:boardproductname).value.should == "03X0MN"
|
101
|
+
Facter.fact(:boardserialnumber).value.should == "..AB1234567B1234."
|
102
|
+
Facter.fact(:bios_vendor).value.should == "Dell Inc."
|
103
|
+
Facter.fact(:bios_version).value.should == "1.2.5"
|
104
|
+
Facter.fact(:bios_release_date).value.should == "03/16/2011"
|
105
|
+
Facter.fact(:manufacturer).value.should == "Dell Inc."
|
106
|
+
Facter.fact(:productname).value.should == "PowerEdge R515"
|
107
|
+
Facter.fact(:serialnumber).value.should == "ABCD124"
|
108
|
+
Facter.fact(:type).value.should == "Rack Mount Chassis"
|
109
|
+
Facter.fact(:productname).value.should_not == Facter.fact(:boardproductname).value
|
110
|
+
Facter.fact(:serialnumber).value.should_not == Facter.fact(:boardserialnumber).value
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
@@ -0,0 +1,539 @@
|
|
1
|
+
#! /usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe "Memory facts" do
|
6
|
+
before(:each) do
|
7
|
+
Facter.collection.internal_loader.load(:memory)
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:each) do
|
11
|
+
Facter.clear
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "when returning scaled sizes" do
|
15
|
+
[ "memorysize",
|
16
|
+
"memoryfree",
|
17
|
+
"swapsize",
|
18
|
+
"swapfree"
|
19
|
+
].each do |fact|
|
20
|
+
|
21
|
+
describe "when #{fact}_mb does not exist" do
|
22
|
+
before(:each) do
|
23
|
+
Facter.fact(fact + "_mb").stubs(:value).returns(nil)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "#{fact} should not exist either" do
|
27
|
+
Facter.fact(fact).value.should be_nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
{ "200.00" => "200.00 MB",
|
32
|
+
"1536.00" => "1.50 GB",
|
33
|
+
"1572864.00" => "1.50 TB",
|
34
|
+
}.each do |mbval, scval|
|
35
|
+
it "should scale #{fact} when given #{mbval} MB" do
|
36
|
+
Facter.fact(fact + "_mb").stubs(:value).returns(mbval)
|
37
|
+
Facter.fact(fact).value.should == scval
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
after(:each) do
|
43
|
+
Facter.clear
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "on Darwin" do
|
48
|
+
before(:each) do
|
49
|
+
Facter.clear
|
50
|
+
Facter.fact(:kernel).stubs(:value).returns("Darwin")
|
51
|
+
Facter::Core::Execution.stubs(:exec).with('sysctl -n hw.memsize').returns('8589934592')
|
52
|
+
sample_vm_stat = <<VMSTAT
|
53
|
+
Mach Virtual Memory Statistics: (page size of 4096 bytes)
|
54
|
+
Pages free: 28430.
|
55
|
+
Pages active: 1152576.
|
56
|
+
Pages inactive: 489054.
|
57
|
+
Pages speculative: 7076.
|
58
|
+
Pages wired down: 418217.
|
59
|
+
"Translation faults": 1340091228.
|
60
|
+
Pages copy-on-write: 16851357.
|
61
|
+
Pages zero filled: 665168768.
|
62
|
+
Pages reactivated: 3082708.
|
63
|
+
Pageins: 13862917.
|
64
|
+
Pageouts: 1384383.
|
65
|
+
Object cache: 14 hits of 2619925 lookups (0% hit rate)
|
66
|
+
VMSTAT
|
67
|
+
Facter::Core::Execution.stubs(:exec).with('vm_stat').returns(sample_vm_stat)
|
68
|
+
Facter::Core::Execution.stubs(:exec).with('sysctl vm.swapusage').returns("vm.swapusage: total = 64.00M used = 1.00M free = 63.00M (encrypted)")
|
69
|
+
|
70
|
+
Facter.collection.internal_loader.load(:memory)
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should return the current swap size in MB" do
|
74
|
+
Facter.fact(:swapsize_mb).value.should == "64.00"
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should return the current swap free in MB" do
|
78
|
+
Facter.fact(:swapfree_mb).value.should == "63.00"
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should return whether swap is encrypted" do
|
82
|
+
Facter.fact(:swapencrypted).value.should == true
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should return the memory size in MB" do
|
86
|
+
Facter.fact(:memorysize_mb).value.should == "8192.00"
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should return the memory free in MB" do
|
90
|
+
Facter.fact(:memoryfree_mb).value.should == "138.70"
|
91
|
+
end
|
92
|
+
|
93
|
+
after(:each) do
|
94
|
+
Facter.clear
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
[ "linux",
|
99
|
+
"gnu/kfreebsd",
|
100
|
+
].each do |kernel|
|
101
|
+
|
102
|
+
|
103
|
+
describe "on #{kernel}" do
|
104
|
+
before(:each) do
|
105
|
+
Facter.clear
|
106
|
+
Facter.fact(:kernel).stubs(:value).returns(kernel)
|
107
|
+
meminfo = <<INFO
|
108
|
+
MemTotal: 255908 kB
|
109
|
+
MemFree: 69936 kB
|
110
|
+
Buffers: 15812 kB
|
111
|
+
Cached: 115124 kB
|
112
|
+
SwapCached: 0 kB
|
113
|
+
Active: 92700 kB
|
114
|
+
Inactive: 63792 kB
|
115
|
+
SwapTotal: 524280 kB
|
116
|
+
SwapFree: 524280 kB
|
117
|
+
Dirty: 4 kB
|
118
|
+
INFO
|
119
|
+
|
120
|
+
File.stubs(:readlines).with("/proc/meminfo").returns(meminfo.split("\n"))
|
121
|
+
|
122
|
+
Facter.collection.internal_loader.load(:memory)
|
123
|
+
end
|
124
|
+
|
125
|
+
after(:each) do
|
126
|
+
Facter.clear
|
127
|
+
end
|
128
|
+
|
129
|
+
it "should return the current memory size in MB" do
|
130
|
+
Facter.fact(:memorysize_mb).value.should == "249.91"
|
131
|
+
end
|
132
|
+
|
133
|
+
it "should return the current memory free in MB" do
|
134
|
+
Facter.fact(:memoryfree_mb).value.should == "196.16"
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should return the current swap size in MB" do
|
138
|
+
Facter.fact(:swapsize_mb).value.should == "511.99"
|
139
|
+
end
|
140
|
+
|
141
|
+
it "should return the current swap free in MB" do
|
142
|
+
Facter.fact(:swapfree_mb).value.should == "511.99"
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
147
|
+
describe "on AIX" do
|
148
|
+
before (:each) do
|
149
|
+
Facter.clear
|
150
|
+
Facter.fact(:kernel).stubs(:value).returns("AIX")
|
151
|
+
|
152
|
+
swapusage = <<SWAP
|
153
|
+
device maj,min total free
|
154
|
+
/dev/hd6 10, 2 512MB 508MB
|
155
|
+
SWAP
|
156
|
+
|
157
|
+
Facter::Core::Execution.stubs(:exec).with('swap -l 2>/dev/null').returns(swapusage)
|
158
|
+
|
159
|
+
svmon = <<SVMON
|
160
|
+
Unit: KB
|
161
|
+
--------------------------------------------------------------------------------------
|
162
|
+
size inuse free pin virtual available mmode
|
163
|
+
memory 32768000 9948408 22819592 2432080 4448928 27231828 Ded
|
164
|
+
pg space 34078720 15000
|
165
|
+
|
166
|
+
work pers clnt other
|
167
|
+
pin 1478228 0 0 953852
|
168
|
+
in use 4448928 0 5499480
|
169
|
+
SVMON
|
170
|
+
|
171
|
+
Facter::Core::Execution.stubs(:exec).with('/usr/bin/svmon -O unit=KB').returns(svmon)
|
172
|
+
|
173
|
+
Facter.collection.internal_loader.load(:memory)
|
174
|
+
end
|
175
|
+
|
176
|
+
after(:each) do
|
177
|
+
Facter.clear
|
178
|
+
end
|
179
|
+
|
180
|
+
describe "when not root" do
|
181
|
+
before(:each) do
|
182
|
+
Facter.fact(:id).stubs(:value).returns("notroot")
|
183
|
+
end
|
184
|
+
|
185
|
+
it "should return nil for swap size" do
|
186
|
+
Facter.fact(:swapsize_mb).value.should be_nil
|
187
|
+
end
|
188
|
+
|
189
|
+
it "should return nil for swap free" do
|
190
|
+
Facter.fact(:swapfree_mb).value.should be_nil
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
describe "when root" do
|
195
|
+
before(:each) do
|
196
|
+
Facter.fact(:id).stubs(:value).returns("root")
|
197
|
+
end
|
198
|
+
|
199
|
+
it "should return the current swap size in MB" do
|
200
|
+
Facter.fact(:swapsize_mb).value.should == "512.00"
|
201
|
+
end
|
202
|
+
|
203
|
+
it "should return the current swap free in MB" do
|
204
|
+
Facter.fact(:swapfree_mb).value.should == "508.00"
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
it "should return the current memory free in MB" do
|
209
|
+
Facter.fact(:memoryfree_mb).value.should == "22284.76"
|
210
|
+
end
|
211
|
+
|
212
|
+
it "should return the current memory size in MB" do
|
213
|
+
Facter.fact(:memorysize_mb).value.should == "32000.00"
|
214
|
+
end
|
215
|
+
|
216
|
+
end
|
217
|
+
|
218
|
+
|
219
|
+
describe "on OpenBSD" do
|
220
|
+
before :each do
|
221
|
+
Facter.clear
|
222
|
+
Facter.fact(:kernel).stubs(:value).returns("OpenBSD")
|
223
|
+
|
224
|
+
swapusage = "total: 148342k bytes allocated = 0k used, 148342k available"
|
225
|
+
Facter::Core::Execution.stubs(:exec).with('swapctl -s').returns(swapusage)
|
226
|
+
|
227
|
+
vmstat = <<EOS
|
228
|
+
procs memory page disks traps cpu
|
229
|
+
r b w avm fre flt re pi po fr sr cd0 sd0 int sys cs us sy id
|
230
|
+
0 0 0 11048 181028 39 0 0 0 0 0 0 1 3 90 17 0 0 100
|
231
|
+
EOS
|
232
|
+
Facter::Core::Execution.stubs(:exec).with('vmstat').returns(vmstat)
|
233
|
+
|
234
|
+
Facter::Core::Execution.stubs(:exec).with("sysctl hw.physmem | cut -d'=' -f2").returns('267321344')
|
235
|
+
|
236
|
+
Facter.collection.internal_loader.load(:memory)
|
237
|
+
end
|
238
|
+
|
239
|
+
after :each do
|
240
|
+
Facter.clear
|
241
|
+
end
|
242
|
+
|
243
|
+
it "should return the current swap free in MB" do
|
244
|
+
Facter.fact(:swapfree_mb).value.should == "144.87"
|
245
|
+
end
|
246
|
+
|
247
|
+
it "should return the current swap size in MB" do
|
248
|
+
Facter.fact(:swapsize_mb).value.should == "144.87"
|
249
|
+
end
|
250
|
+
|
251
|
+
it "should return the current memory free in MB" do
|
252
|
+
Facter.fact(:memoryfree_mb).value.should == "176.79"
|
253
|
+
end
|
254
|
+
|
255
|
+
it "should return the current memory size in MB" do
|
256
|
+
Facter.fact(:memorysize_mb).value.should == "254.94"
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
describe "on Solaris" do
|
261
|
+
before(:each) do
|
262
|
+
Facter.clear
|
263
|
+
Facter.fact(:kernel).stubs(:value).returns("SunOS")
|
264
|
+
sample_prtconf = <<PRTCONF
|
265
|
+
System Configuration: Sun Microsystems sun4u
|
266
|
+
Memory size: 2048 Megabytes
|
267
|
+
System Peripherals (Software Nodes):
|
268
|
+
|
269
|
+
PRTCONF
|
270
|
+
Facter::Core::Execution.stubs(:exec).with('/usr/sbin/prtconf 2>/dev/null').returns sample_prtconf
|
271
|
+
|
272
|
+
vmstat_lines = <<VMSTAT
|
273
|
+
kthr memory page disk faults cpu
|
274
|
+
r b w swap free re mf pi po fr de sr s0 s3 -- -- in sy cs us sy id
|
275
|
+
0 0 0 1154552 476224 8 19 0 0 0 0 0 0 0 0 0 460 294 236 1 2 97
|
276
|
+
VMSTAT
|
277
|
+
Facter::Core::Execution.stubs(:exec).with('vmstat').returns(vmstat_lines)
|
278
|
+
end
|
279
|
+
|
280
|
+
after(:each) do
|
281
|
+
Facter.clear
|
282
|
+
end
|
283
|
+
|
284
|
+
describe "when single swap exists" do
|
285
|
+
before(:each) do
|
286
|
+
sample_swap_line = <<SWAP
|
287
|
+
swapfile dev swaplo blocks free
|
288
|
+
/dev/swap 4294967295,4294967295 16 2097136 2097136
|
289
|
+
SWAP
|
290
|
+
Facter::Core::Execution.stubs(:exec).with('/usr/sbin/swap -l 2>/dev/null').returns sample_swap_line
|
291
|
+
|
292
|
+
Facter.collection.internal_loader.load(:memory)
|
293
|
+
end
|
294
|
+
|
295
|
+
it "should return the current memory size in MB" do
|
296
|
+
Facter.fact(:memorysize_mb).value.should == "2048.00"
|
297
|
+
end
|
298
|
+
|
299
|
+
it "should return the current memory free in MB" do
|
300
|
+
Facter.fact(:memoryfree_mb).value.should == "465.06"
|
301
|
+
end
|
302
|
+
|
303
|
+
it "should return the current swap free in MB" do
|
304
|
+
Facter.fact(:swapfree_mb).value.should == "1023.99"
|
305
|
+
end
|
306
|
+
|
307
|
+
it "should return the current swap size in MB" do
|
308
|
+
Facter.fact(:swapsize_mb).value.should == "1023.99"
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
describe "when multiple swaps exist" do
|
313
|
+
before(:each) do
|
314
|
+
sample_swap_line = <<SWAP
|
315
|
+
swapfile dev swaplo blocks free
|
316
|
+
/dev/swap 4294967295,4294967295 16 2097136 2097136
|
317
|
+
/dev/swap2 4294967295,4294967295 16 2097136 2097136
|
318
|
+
SWAP
|
319
|
+
Facter::Core::Execution.stubs(:exec).with('/usr/sbin/swap -l 2>/dev/null').returns sample_swap_line
|
320
|
+
Facter.collection.internal_loader.load(:memory)
|
321
|
+
end
|
322
|
+
|
323
|
+
it "should return the current memory size in MB" do
|
324
|
+
Facter.fact(:memorysize_mb).value.should == "2048.00"
|
325
|
+
end
|
326
|
+
|
327
|
+
it "should return the current memory free in MB" do
|
328
|
+
Facter.fact(:memoryfree_mb).value.should == "465.06"
|
329
|
+
end
|
330
|
+
|
331
|
+
it "should return the current swap free in MB" do
|
332
|
+
Facter.fact(:swapfree_mb).value.should == "2047.98"
|
333
|
+
end
|
334
|
+
|
335
|
+
it "should return the current swap size in MB" do
|
336
|
+
Facter.fact(:swapsize_mb).value.should == "2047.98"
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
340
|
+
describe "when no swap exists" do
|
341
|
+
before(:each) do
|
342
|
+
Facter::Core::Execution.stubs(:exec).with('/usr/sbin/swap -l 2>/dev/null').returns ""
|
343
|
+
|
344
|
+
Facter.collection.internal_loader.load(:memory)
|
345
|
+
end
|
346
|
+
|
347
|
+
it "should return the current memory size in MB" do
|
348
|
+
Facter.fact(:memorysize_mb).value.should == "2048.00"
|
349
|
+
end
|
350
|
+
|
351
|
+
it "should return the current memory free in MB" do
|
352
|
+
Facter.fact(:memoryfree_mb).value.should == "465.06"
|
353
|
+
end
|
354
|
+
|
355
|
+
it "should return 0 for the swap free in MB" do
|
356
|
+
Facter.fact(:swapfree_mb).value.should == "0.00"
|
357
|
+
end
|
358
|
+
|
359
|
+
it "should return 0 for the swap size in MB" do
|
360
|
+
Facter.fact(:swapsize_mb).value.should == "0.00"
|
361
|
+
end
|
362
|
+
end
|
363
|
+
end
|
364
|
+
|
365
|
+
describe "on DragonFly BSD" do
|
366
|
+
before :each do
|
367
|
+
Facter.clear
|
368
|
+
Facter.fact(:kernel).stubs(:value).returns("dragonfly")
|
369
|
+
|
370
|
+
swapusage = "total: 148342k bytes allocated = 0k used, 148342k available"
|
371
|
+
Facter::Core::Execution.stubs(:exec).with('/sbin/sysctl -n hw.pagesize').returns("4096")
|
372
|
+
Facter::Core::Execution.stubs(:exec).with('/sbin/sysctl -n vm.swap_size').returns("128461")
|
373
|
+
Facter::Core::Execution.stubs(:exec).with('/sbin/sysctl -n vm.swap_anon_use').returns("2635")
|
374
|
+
Facter::Core::Execution.stubs(:exec).with('/sbin/sysctl -n vm.swap_cache_use').returns("0")
|
375
|
+
|
376
|
+
vmstat = <<EOS
|
377
|
+
procs memory page disks faults cpu
|
378
|
+
r b w avm fre flt re pi po fr sr da0 sg1 in sy cs us sy id
|
379
|
+
0 0 0 33152 13940 1902120 2198 53119 11642 6544597 5460994 0 0 6148243 7087927 3484264 0 1 9
|
380
|
+
EOS
|
381
|
+
Facter::Core::Execution.stubs(:exec).with('vmstat').returns(vmstat)
|
382
|
+
|
383
|
+
Facter::Core::Execution.stubs(:exec).with("sysctl -n hw.physmem").returns('248512512')
|
384
|
+
|
385
|
+
Facter.collection.internal_loader.load(:memory)
|
386
|
+
end
|
387
|
+
|
388
|
+
after :each do
|
389
|
+
Facter.clear
|
390
|
+
end
|
391
|
+
|
392
|
+
it "should return the current swap free in MB" do
|
393
|
+
Facter.fact(:swapfree_mb).value.should == "491.51"
|
394
|
+
end
|
395
|
+
|
396
|
+
it "should return the current swap size in MB" do
|
397
|
+
Facter.fact(:swapsize_mb).value.should == "501.80"
|
398
|
+
end
|
399
|
+
|
400
|
+
it "should return the current memory size in MB" do
|
401
|
+
Facter.fact(:memorysize_mb).value.should == "237.00"
|
402
|
+
end
|
403
|
+
|
404
|
+
it "should return the current memory free in MB" do
|
405
|
+
Facter.fact(:memoryfree_mb).value.should == "13.61"
|
406
|
+
end
|
407
|
+
end
|
408
|
+
|
409
|
+
describe "on FreeBSD" do
|
410
|
+
before(:each) do
|
411
|
+
Facter.clear
|
412
|
+
Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
|
413
|
+
|
414
|
+
sample_vmstat = <<VM_STAT
|
415
|
+
procs memory page disks faults cpu
|
416
|
+
r b w avm fre flt re pi po fr sr da0 cd0 in sy cs us sy id
|
417
|
+
1 0 0 207600 656640 10 0 0 0 13 0 0 0 51 164 257 0 1 99
|
418
|
+
VM_STAT
|
419
|
+
Facter::Core::Execution.stubs(:exec).with('vmstat -H').returns sample_vmstat
|
420
|
+
sample_physmem = <<PHYSMEM
|
421
|
+
1056276480
|
422
|
+
PHYSMEM
|
423
|
+
Facter::Core::Execution.stubs(:exec).with('sysctl -n hw.physmem').returns sample_physmem
|
424
|
+
end
|
425
|
+
|
426
|
+
after(:each) do
|
427
|
+
Facter.clear
|
428
|
+
end
|
429
|
+
|
430
|
+
describe "with no swap" do
|
431
|
+
before(:each) do
|
432
|
+
sample_swapinfo = <<SWAP
|
433
|
+
Device 1K-blocks Used Avail Capacity
|
434
|
+
SWAP
|
435
|
+
Facter::Core::Execution.stubs(:exec).with('swapinfo -k').returns sample_swapinfo
|
436
|
+
|
437
|
+
Facter.collection.internal_loader.load(:memory)
|
438
|
+
end
|
439
|
+
|
440
|
+
it "should return the current swap free in MB" do
|
441
|
+
Facter.fact(:swapfree_mb).value.should == "0.00"
|
442
|
+
end
|
443
|
+
|
444
|
+
it "should return the current swap size in MB" do
|
445
|
+
Facter.fact(:swapsize_mb).value.should == "0.00"
|
446
|
+
end
|
447
|
+
|
448
|
+
it "should return the current memory size in MB" do
|
449
|
+
Facter.fact(:memorysize_mb).value.should == "1007.34"
|
450
|
+
end
|
451
|
+
|
452
|
+
it "should return the current memory free in MB" do
|
453
|
+
Facter.fact(:memoryfree_mb).value.should == "641.25"
|
454
|
+
end
|
455
|
+
end
|
456
|
+
|
457
|
+
describe "with one swap" do
|
458
|
+
before(:each) do
|
459
|
+
sample_swapinfo = <<SWAP
|
460
|
+
Device 1K-blocks Used Avail Capacity
|
461
|
+
/dev/da0p3 2048540 0 1048540 0%
|
462
|
+
SWAP
|
463
|
+
Facter::Core::Execution.stubs(:exec).with('swapinfo -k').returns sample_swapinfo
|
464
|
+
|
465
|
+
Facter.collection.internal_loader.load(:memory)
|
466
|
+
end
|
467
|
+
|
468
|
+
it "should return the current swap free in MB" do
|
469
|
+
Facter.fact(:swapfree_mb).value.should == "1023.96"
|
470
|
+
end
|
471
|
+
|
472
|
+
it "should return the current swap size in MB" do
|
473
|
+
Facter.fact(:swapsize_mb).value.should == "2000.53"
|
474
|
+
end
|
475
|
+
|
476
|
+
it "should return the current memory size in MB" do
|
477
|
+
Facter.fact(:memorysize_mb).value.should == "1007.34"
|
478
|
+
end
|
479
|
+
|
480
|
+
it "should return the current memory free in MB" do
|
481
|
+
Facter.fact(:memoryfree_mb).value.should == "641.25"
|
482
|
+
end
|
483
|
+
end
|
484
|
+
|
485
|
+
describe "with multiple swaps" do
|
486
|
+
before(:each) do
|
487
|
+
sample_swapinfo = <<SWAP
|
488
|
+
Device 1K-blocks Used Avail Capacity
|
489
|
+
/dev/da0p3 2048540 0 1048540 0%
|
490
|
+
/dev/da0p4 3048540 0 1048540 0%
|
491
|
+
SWAP
|
492
|
+
Facter::Core::Execution.stubs(:exec).with('swapinfo -k').returns sample_swapinfo
|
493
|
+
|
494
|
+
Facter.collection.internal_loader.load(:memory)
|
495
|
+
end
|
496
|
+
|
497
|
+
it "should return the current swap free in MB" do
|
498
|
+
Facter.fact(:swapfree_mb).value.should == "2047.93"
|
499
|
+
end
|
500
|
+
|
501
|
+
it "should return the current swap size in MB" do
|
502
|
+
Facter.fact(:swapsize_mb).value.should == "4977.62"
|
503
|
+
end
|
504
|
+
|
505
|
+
it "should return the current memory size in MB" do
|
506
|
+
Facter.fact(:memorysize_mb).value.should == "1007.34"
|
507
|
+
end
|
508
|
+
|
509
|
+
it "should return the current memory free in MB" do
|
510
|
+
Facter.fact(:memoryfree_mb).value.should == "641.25"
|
511
|
+
end
|
512
|
+
end
|
513
|
+
end
|
514
|
+
|
515
|
+
describe "on Windows" do
|
516
|
+
before :each do
|
517
|
+
Facter.clear
|
518
|
+
Facter.fact(:kernel).stubs(:value).returns("windows")
|
519
|
+
Facter.collection.internal_loader.load(:memory)
|
520
|
+
require 'facter/util/wmi'
|
521
|
+
end
|
522
|
+
|
523
|
+
it "should return free memory in MB" do
|
524
|
+
os = stubs 'os'
|
525
|
+
os.stubs(:FreePhysicalMemory).returns("3415624")
|
526
|
+
Facter::Util::WMI.stubs(:execquery).returns([os])
|
527
|
+
|
528
|
+
Facter.fact(:memoryfree_mb).value.should == '3335.57'
|
529
|
+
end
|
530
|
+
|
531
|
+
it "should return total memory in MB" do
|
532
|
+
computer = stubs 'computer'
|
533
|
+
computer.stubs(:TotalPhysicalMemory).returns("4193837056")
|
534
|
+
Facter::Util::WMI.stubs(:execquery).returns([computer])
|
535
|
+
|
536
|
+
Facter.fact(:memorysize_mb).value.should == '3999.55'
|
537
|
+
end
|
538
|
+
end
|
539
|
+
end
|