facter 2.0.1.rc1-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of facter might be problematic. Click here for more details.

Files changed (379) hide show
  1. checksums.yaml +7 -0
  2. data/COMMITTERS.md +194 -0
  3. data/CONTRIBUTING.md +65 -0
  4. data/Gemfile +43 -0
  5. data/LICENSE +15 -0
  6. data/README.md +33 -0
  7. data/Rakefile +79 -0
  8. data/bin/facter +16 -0
  9. data/etc/facter.conf +5 -0
  10. data/ext/build_defaults.yaml +24 -0
  11. data/ext/debian/changelog.erb +59 -0
  12. data/ext/debian/compat +1 -0
  13. data/ext/debian/control +14 -0
  14. data/ext/debian/copyright +19 -0
  15. data/ext/debian/docs +1 -0
  16. data/ext/debian/lintian-overrides +0 -0
  17. data/ext/debian/rules +10 -0
  18. data/ext/debian/source/format +1 -0
  19. data/ext/facter-diff +74 -0
  20. data/ext/ips/facter.p5m.erb +10 -0
  21. data/ext/ips/rules +7 -0
  22. data/ext/ips/transforms +18 -0
  23. data/ext/osx/file_mapping.yaml +27 -0
  24. data/ext/osx/preflight.erb +33 -0
  25. data/ext/osx/prototype.plist.erb +38 -0
  26. data/ext/project_data.yaml +33 -0
  27. data/ext/redhat/facter.spec.erb +220 -0
  28. data/ext/solaris/pkginfo +7 -0
  29. data/install.rb +380 -0
  30. data/lib/facter.rb +262 -0
  31. data/lib/facter/Cfkey.rb +42 -0
  32. data/lib/facter/application.rb +204 -0
  33. data/lib/facter/architecture.rb +50 -0
  34. data/lib/facter/augeasversion.rb +28 -0
  35. data/lib/facter/blockdevices.rb +105 -0
  36. data/lib/facter/core/aggregate.rb +220 -0
  37. data/lib/facter/core/directed_graph.rb +46 -0
  38. data/lib/facter/core/execution.rb +100 -0
  39. data/lib/facter/core/execution/base.rb +73 -0
  40. data/lib/facter/core/execution/posix.rb +50 -0
  41. data/lib/facter/core/execution/windows.rb +57 -0
  42. data/lib/facter/core/logging.rb +169 -0
  43. data/lib/facter/core/resolvable.rb +94 -0
  44. data/lib/facter/core/suitable.rb +117 -0
  45. data/lib/facter/domain.rb +99 -0
  46. data/lib/facter/ec2.rb +37 -0
  47. data/lib/facter/facterversion.rb +15 -0
  48. data/lib/facter/filesystems.rb +38 -0
  49. data/lib/facter/fqdn.rb +22 -0
  50. data/lib/facter/hardwareisa.rb +20 -0
  51. data/lib/facter/hardwaremodel.rb +67 -0
  52. data/lib/facter/hostname.rb +33 -0
  53. data/lib/facter/id.rb +21 -0
  54. data/lib/facter/interfaces.rb +46 -0
  55. data/lib/facter/ipaddress.rb +171 -0
  56. data/lib/facter/ipaddress6.rb +82 -0
  57. data/lib/facter/iphostnumber.rb +29 -0
  58. data/lib/facter/kernel.rb +22 -0
  59. data/lib/facter/kernelmajversion.rb +15 -0
  60. data/lib/facter/kernelrelease.rb +42 -0
  61. data/lib/facter/kernelversion.rb +22 -0
  62. data/lib/facter/ldom.rb +47 -0
  63. data/lib/facter/lsbdistcodename.rb +18 -0
  64. data/lib/facter/lsbdistdescription.rb +21 -0
  65. data/lib/facter/lsbdistid.rb +18 -0
  66. data/lib/facter/lsbdistrelease.rb +18 -0
  67. data/lib/facter/lsbmajdistrelease.rb +27 -0
  68. data/lib/facter/lsbrelease.rb +18 -0
  69. data/lib/facter/macaddress.rb +97 -0
  70. data/lib/facter/macosx.rb +56 -0
  71. data/lib/facter/manufacturer.rb +68 -0
  72. data/lib/facter/memory.rb +162 -0
  73. data/lib/facter/netmask.rb +42 -0
  74. data/lib/facter/network.rb +20 -0
  75. data/lib/facter/operatingsystem.rb +121 -0
  76. data/lib/facter/operatingsystemmajrelease.rb +33 -0
  77. data/lib/facter/operatingsystemrelease.rb +226 -0
  78. data/lib/facter/osfamily.rb +35 -0
  79. data/lib/facter/path.rb +14 -0
  80. data/lib/facter/physicalprocessorcount.rb +84 -0
  81. data/lib/facter/processor.rb +183 -0
  82. data/lib/facter/ps.rb +30 -0
  83. data/lib/facter/puppetversion.rb +20 -0
  84. data/lib/facter/rubysitedir.rb +12 -0
  85. data/lib/facter/rubyversion.rb +12 -0
  86. data/lib/facter/selinux.rb +99 -0
  87. data/lib/facter/ssh.rb +72 -0
  88. data/lib/facter/timezone.rb +14 -0
  89. data/lib/facter/uniqueid.rb +4 -0
  90. data/lib/facter/uptime.rb +34 -0
  91. data/lib/facter/uptime_days.rb +15 -0
  92. data/lib/facter/uptime_hours.rb +15 -0
  93. data/lib/facter/uptime_seconds.rb +24 -0
  94. data/lib/facter/util/architecture.rb +19 -0
  95. data/lib/facter/util/collection.rb +161 -0
  96. data/lib/facter/util/composite_loader.rb +12 -0
  97. data/lib/facter/util/config.rb +61 -0
  98. data/lib/facter/util/confine.rb +66 -0
  99. data/lib/facter/util/directory_loader.rb +83 -0
  100. data/lib/facter/util/ec2.rb +101 -0
  101. data/lib/facter/util/fact.rb +204 -0
  102. data/lib/facter/util/file_read.rb +37 -0
  103. data/lib/facter/util/formatter.rb +38 -0
  104. data/lib/facter/util/ip.rb +285 -0
  105. data/lib/facter/util/ip/windows.rb +215 -0
  106. data/lib/facter/util/loader.rb +146 -0
  107. data/lib/facter/util/macaddress.rb +43 -0
  108. data/lib/facter/util/macosx.rb +73 -0
  109. data/lib/facter/util/manufacturer.rb +104 -0
  110. data/lib/facter/util/memory.rb +228 -0
  111. data/lib/facter/util/monkey_patches.rb +8 -0
  112. data/lib/facter/util/netmask.rb +40 -0
  113. data/lib/facter/util/normalization.rb +94 -0
  114. data/lib/facter/util/nothing_loader.rb +12 -0
  115. data/lib/facter/util/parser.rb +158 -0
  116. data/lib/facter/util/plist.rb +24 -0
  117. data/lib/facter/util/plist/generator.rb +228 -0
  118. data/lib/facter/util/plist/parser.rb +226 -0
  119. data/lib/facter/util/processor.rb +291 -0
  120. data/lib/facter/util/registry.rb +11 -0
  121. data/lib/facter/util/resolution.rb +152 -0
  122. data/lib/facter/util/solaris_zones.rb +158 -0
  123. data/lib/facter/util/unix_root.rb +5 -0
  124. data/lib/facter/util/uptime.rb +81 -0
  125. data/lib/facter/util/values.rb +80 -0
  126. data/lib/facter/util/virtual.rb +151 -0
  127. data/lib/facter/util/vlans.rb +24 -0
  128. data/lib/facter/util/windows_root.rb +37 -0
  129. data/lib/facter/util/wmi.rb +16 -0
  130. data/lib/facter/util/xendomains.rb +10 -0
  131. data/lib/facter/version.rb +86 -0
  132. data/lib/facter/virtual.rb +262 -0
  133. data/lib/facter/vlans.rb +17 -0
  134. data/lib/facter/xendomains.rb +20 -0
  135. data/lib/facter/zfs_version.rb +10 -0
  136. data/lib/facter/zonename.rb +6 -0
  137. data/lib/facter/zones.rb +17 -0
  138. data/lib/facter/zpool_version.rb +10 -0
  139. data/spec/fixtures/cpuinfo/amd64dual +57 -0
  140. data/spec/fixtures/cpuinfo/amd64quad +79 -0
  141. data/spec/fixtures/cpuinfo/amd64solo +23 -0
  142. data/spec/fixtures/cpuinfo/amd64tri +86 -0
  143. data/spec/fixtures/cpuinfo/amd64twentyfour +600 -0
  144. data/spec/fixtures/cpuinfo/bbg3-armel +12 -0
  145. data/spec/fixtures/cpuinfo/beaglexm-armel +12 -0
  146. data/spec/fixtures/cpuinfo/panda-armel +17 -0
  147. data/spec/fixtures/cpuinfo/ppc64 +19 -0
  148. data/spec/fixtures/cpuinfo/sparc +10 -0
  149. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +26 -0
  150. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +49 -0
  151. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +26 -0
  152. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +53 -0
  153. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +53 -0
  154. data/spec/fixtures/hpux/machinfo/superdome2-16s +31 -0
  155. data/spec/fixtures/hpux/sched.models +174 -0
  156. data/spec/fixtures/hpux/unistd.h +1534 -0
  157. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +18 -0
  158. data/spec/fixtures/ifconfig/centos_5_5 +17 -0
  159. data/spec/fixtures/ifconfig/centos_5_5_eth0 +8 -0
  160. data/spec/fixtures/ifconfig/darwin_10_3_0 +26 -0
  161. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +6 -0
  162. data/spec/fixtures/ifconfig/darwin_10_6_4 +28 -0
  163. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +6 -0
  164. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +8 -0
  165. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +7 -0
  166. data/spec/fixtures/ifconfig/darwin_9_8_0 +26 -0
  167. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +6 -0
  168. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +23 -0
  169. data/spec/fixtures/ifconfig/fedora_10 +36 -0
  170. data/spec/fixtures/ifconfig/fedora_10_eth0 +9 -0
  171. data/spec/fixtures/ifconfig/fedora_13 +18 -0
  172. data/spec/fixtures/ifconfig/fedora_13_eth0 +9 -0
  173. data/spec/fixtures/ifconfig/fedora_8 +38 -0
  174. data/spec/fixtures/ifconfig/fedora_8_eth0 +9 -0
  175. data/spec/fixtures/ifconfig/freebsd_6_0 +12 -0
  176. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +19 -0
  177. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +16 -0
  178. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +19 -0
  179. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +19 -0
  180. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +8 -0
  181. data/spec/fixtures/ifconfig/linux_ifconfig_venet +24 -0
  182. data/spec/fixtures/ifconfig/open_solaris_10 +12 -0
  183. data/spec/fixtures/ifconfig/open_solaris_b132 +20 -0
  184. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +10 -0
  185. data/spec/fixtures/ifconfig/ubuntu_7_04 +38 -0
  186. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +9 -0
  187. data/spec/fixtures/ldom/ldom_v1 +6 -0
  188. data/spec/fixtures/netstat/centos_5_5 +5 -0
  189. data/spec/fixtures/netstat/darwin_10_3_0 +35 -0
  190. data/spec/fixtures/netstat/darwin_10_6_4 +29 -0
  191. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +34 -0
  192. data/spec/fixtures/netstat/darwin_9_8_0 +28 -0
  193. data/spec/fixtures/netstat/fedora_10 +7 -0
  194. data/spec/fixtures/netstat/open_solaris_10 +16 -0
  195. data/spec/fixtures/netstat/open_solaris_b132 +17 -0
  196. data/spec/fixtures/netstat/ubuntu_7_04 +7 -0
  197. data/spec/fixtures/processorcount/solaris-psrinfo +24 -0
  198. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +1216 -0
  199. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +225 -0
  200. data/spec/fixtures/unit/filesystems/linux +28 -0
  201. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +19 -0
  202. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +10 -0
  203. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +8 -0
  204. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +20 -0
  205. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +19 -0
  206. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +18 -0
  207. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +16 -0
  208. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +30 -0
  209. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +19 -0
  210. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +16 -0
  211. data/spec/fixtures/unit/selinux/selinux_sestatus +6 -0
  212. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +1 -0
  213. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +1 -0
  214. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +5 -0
  215. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +7 -0
  216. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +6 -0
  217. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +10 -0
  218. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +12 -0
  219. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +26 -0
  220. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +10 -0
  221. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +6 -0
  222. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +40 -0
  223. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +2 -0
  224. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +2 -0
  225. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +2 -0
  226. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +5 -0
  227. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +4 -0
  228. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +2 -0
  229. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +2 -0
  230. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +2 -0
  231. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +5 -0
  232. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +4 -0
  233. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +2 -0
  234. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +2 -0
  235. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +2 -0
  236. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +4 -0
  237. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +4 -0
  238. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +2 -0
  239. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +2 -0
  240. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +2 -0
  241. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +2 -0
  242. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +9 -0
  243. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +6 -0
  244. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +19 -0
  245. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +10 -0
  246. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +8 -0
  247. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +9 -0
  248. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +18 -0
  249. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +8 -0
  250. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +8 -0
  251. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +3 -0
  252. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +12 -0
  253. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +7 -0
  254. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +18 -0
  255. data/spec/fixtures/unit/util/loader/nosuchfact.rb +1 -0
  256. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +42 -0
  257. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +549 -0
  258. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +60 -0
  259. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +33 -0
  260. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +33 -0
  261. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +136 -0
  262. data/spec/fixtures/unit/util/processor/solaris-i86pc +28 -0
  263. data/spec/fixtures/unit/util/processor/solaris-sun4u +151 -0
  264. data/spec/fixtures/unit/util/processor/x86-pentium2 +41 -0
  265. data/spec/fixtures/unit/util/uptime/kstat_boot_time +1 -0
  266. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +1 -0
  267. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +1 -0
  268. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +1 -0
  269. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  270. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  271. data/spec/fixtures/unit/util/vlans/linux_vlan_config +6 -0
  272. data/spec/fixtures/unit/util/xendomains/xendomains +4 -0
  273. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  274. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +14 -0
  275. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +13 -0
  276. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +14 -0
  277. data/spec/fixtures/unit/zfs_version/solaris_10 +10 -0
  278. data/spec/fixtures/unit/zfs_version/solaris_11 +12 -0
  279. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +26 -0
  280. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +38 -0
  281. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +35 -0
  282. data/spec/fixtures/unit/zpool_version/solaris_10 +31 -0
  283. data/spec/fixtures/unit/zpool_version/solaris_11 +43 -0
  284. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +37 -0
  285. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +36 -0
  286. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +39 -0
  287. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +39 -0
  288. data/spec/integration/facter_spec.rb +39 -0
  289. data/spec/lib/facter_spec/cpuinfo.rb +15 -0
  290. data/spec/lib/facter_spec/windows_network.rb +64 -0
  291. data/spec/puppetlabs_spec/files.rb +57 -0
  292. data/spec/puppetlabs_spec/fixtures.rb +49 -0
  293. data/spec/puppetlabs_spec/matchers.rb +87 -0
  294. data/spec/puppetlabs_spec/verbose.rb +9 -0
  295. data/spec/puppetlabs_spec_helper.rb +26 -0
  296. data/spec/shared_contexts/platform.rb +55 -0
  297. data/spec/shared_formats/parses.rb +3 -0
  298. data/spec/spec_helper.rb +75 -0
  299. data/spec/unit/application_spec.rb +101 -0
  300. data/spec/unit/architecture_spec.rb +63 -0
  301. data/spec/unit/blockdevices_spec.rb +109 -0
  302. data/spec/unit/core/aggregate_spec.rb +125 -0
  303. data/spec/unit/core/directed_graph_spec.rb +79 -0
  304. data/spec/unit/core/execution/base_spec.rb +119 -0
  305. data/spec/unit/core/execution/posix_spec.rb +86 -0
  306. data/spec/unit/core/execution/windows_spec.rb +106 -0
  307. data/spec/unit/core/execution_spec.rb +37 -0
  308. data/spec/unit/core/logging_spec.rb +104 -0
  309. data/spec/unit/core/resolvable_spec.rb +81 -0
  310. data/spec/unit/core/suitable_spec.rb +96 -0
  311. data/spec/unit/domain_spec.rb +310 -0
  312. data/spec/unit/ec2_spec.rb +187 -0
  313. data/spec/unit/facter_spec.rb +108 -0
  314. data/spec/unit/filesystems_spec.rb +50 -0
  315. data/spec/unit/hardwareisa_spec.rb +41 -0
  316. data/spec/unit/hardwaremodel_spec.rb +56 -0
  317. data/spec/unit/hostname_spec.rb +40 -0
  318. data/spec/unit/id_spec.rb +29 -0
  319. data/spec/unit/interfaces_spec.rb +57 -0
  320. data/spec/unit/ipaddress6_spec.rb +161 -0
  321. data/spec/unit/ipaddress_spec.rb +114 -0
  322. data/spec/unit/kernel_spec.rb +24 -0
  323. data/spec/unit/kernelmajversion_spec.rb +17 -0
  324. data/spec/unit/kernelrelease_spec.rb +53 -0
  325. data/spec/unit/kernelversion_spec.rb +32 -0
  326. data/spec/unit/ldom_spec.rb +74 -0
  327. data/spec/unit/lsbdistcodename_spec.rb +25 -0
  328. data/spec/unit/lsbdistdescription_spec.rb +25 -0
  329. data/spec/unit/lsbdistid_spec.rb +25 -0
  330. data/spec/unit/lsbdistrelease_spec.rb +25 -0
  331. data/spec/unit/lsbmajdistrelease_spec.rb +13 -0
  332. data/spec/unit/lsbrelease_spec.rb +25 -0
  333. data/spec/unit/macaddress_spec.rb +61 -0
  334. data/spec/unit/manufacturer_spec.rb +115 -0
  335. data/spec/unit/memory_spec.rb +539 -0
  336. data/spec/unit/netmask_spec.rb +95 -0
  337. data/spec/unit/operatingsystem_spec.rb +141 -0
  338. data/spec/unit/operatingsystemmajrelease_spec.rb +16 -0
  339. data/spec/unit/operatingsystemrelease_spec.rb +226 -0
  340. data/spec/unit/physicalprocessorcount_spec.rb +76 -0
  341. data/spec/unit/processor_spec.rb +393 -0
  342. data/spec/unit/ps_spec.rb +42 -0
  343. data/spec/unit/selinux_spec.rb +114 -0
  344. data/spec/unit/ssh_spec.rb +77 -0
  345. data/spec/unit/uniqueid_spec.rb +27 -0
  346. data/spec/unit/uptime_spec.rb +110 -0
  347. data/spec/unit/util/collection_spec.rb +258 -0
  348. data/spec/unit/util/config_spec.rb +84 -0
  349. data/spec/unit/util/confine_spec.rb +148 -0
  350. data/spec/unit/util/directory_loader_spec.rb +88 -0
  351. data/spec/unit/util/ec2_spec.rb +180 -0
  352. data/spec/unit/util/fact_spec.rb +142 -0
  353. data/spec/unit/util/file_read_spec.rb +29 -0
  354. data/spec/unit/util/ip/windows_spec.rb +80 -0
  355. data/spec/unit/util/ip_spec.rb +463 -0
  356. data/spec/unit/util/loader_spec.rb +286 -0
  357. data/spec/unit/util/macaddress_spec.rb +141 -0
  358. data/spec/unit/util/macosx_spec.rb +113 -0
  359. data/spec/unit/util/manufacturer_spec.rb +179 -0
  360. data/spec/unit/util/normalization_spec.rb +113 -0
  361. data/spec/unit/util/parser_spec.rb +200 -0
  362. data/spec/unit/util/processor_spec.rb +92 -0
  363. data/spec/unit/util/registry_spec.rb +76 -0
  364. data/spec/unit/util/resolution_spec.rb +129 -0
  365. data/spec/unit/util/solaris_zones_spec.rb +127 -0
  366. data/spec/unit/util/uptime_spec.rb +126 -0
  367. data/spec/unit/util/values_spec.rb +131 -0
  368. data/spec/unit/util/virtual_spec.rb +294 -0
  369. data/spec/unit/util/vlans_spec.rb +12 -0
  370. data/spec/unit/util/wmi_spec.rb +19 -0
  371. data/spec/unit/util/xendomains_spec.rb +21 -0
  372. data/spec/unit/version_spec.rb +42 -0
  373. data/spec/unit/virtual_spec.rb +470 -0
  374. data/spec/unit/zfs_version_spec.rb +75 -0
  375. data/spec/unit/zonename_spec.rb +14 -0
  376. data/spec/unit/zones_spec.rb +55 -0
  377. data/spec/unit/zpool_version_spec.rb +75 -0
  378. data/spec/watchr.rb +125 -0
  379. metadata +674 -0
@@ -0,0 +1,76 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "Physical processor count facts" do
6
+
7
+ describe "on linux" do
8
+ before :each do
9
+ Facter.fact(:kernel).stubs(:value).returns("Linux")
10
+ File.stubs(:exists?).with('/sys/devices/system/cpu').returns(true)
11
+ end
12
+
13
+ it "should return one physical CPU" do
14
+ Dir.stubs(:glob).with("/sys/devices/system/cpu/cpu*/topology/physical_package_id").returns(["/sys/devices/system/cpu/cpu0/topology/physical_package_id"])
15
+ Facter::Core::Execution.stubs(:exec).with("cat /sys/devices/system/cpu/cpu0/topology/physical_package_id").returns("0")
16
+
17
+ Facter.fact(:physicalprocessorcount).value.should == "1"
18
+ end
19
+
20
+ it "should return four physical CPUs" do
21
+ Dir.stubs(:glob).with("/sys/devices/system/cpu/cpu*/topology/physical_package_id").returns(%w{
22
+ /sys/devices/system/cpu/cpu0/topology/physical_package_id
23
+ /sys/devices/system/cpu/cpu1/topology/physical_package_id
24
+ /sys/devices/system/cpu/cpu2/topology/physical_package_id
25
+ /sys/devices/system/cpu/cpu3/topology/physical_package_id
26
+ })
27
+
28
+ Facter::Core::Execution.stubs(:exec).with("cat /sys/devices/system/cpu/cpu0/topology/physical_package_id").returns("0")
29
+ Facter::Core::Execution.stubs(:exec).with("cat /sys/devices/system/cpu/cpu1/topology/physical_package_id").returns("1")
30
+ Facter::Core::Execution.stubs(:exec).with("cat /sys/devices/system/cpu/cpu2/topology/physical_package_id").returns("2")
31
+ Facter::Core::Execution.stubs(:exec).with("cat /sys/devices/system/cpu/cpu3/topology/physical_package_id").returns("3")
32
+
33
+ Facter.fact(:physicalprocessorcount).value.should == "4"
34
+ end
35
+ end
36
+
37
+ describe "on windows" do
38
+ it "should return 4 physical CPUs" do
39
+ Facter.fact(:kernel).stubs(:value).returns("windows")
40
+
41
+ require 'facter/util/wmi'
42
+ ole = stub 'WIN32OLE'
43
+ Facter::Util::WMI.expects(:execquery).with("select Name from Win32_Processor").returns(ole)
44
+ ole.stubs(:Count).returns(4)
45
+
46
+ Facter.fact(:physicalprocessorcount).value.should == "4"
47
+ end
48
+ end
49
+
50
+ describe "on solaris" do
51
+ let(:psrinfo) do
52
+ "0 on-line since 10/16/2012 14:06:12\n" +
53
+ "1 on-line since 10/16/2012 14:06:14\n"
54
+ end
55
+
56
+ %w{ 5.8 5.9 5.10 5.11 }.each do |release|
57
+ it "should use the output of psrinfo -p on #{release}" do
58
+ Facter.fact(:kernel).stubs(:value).returns(:sunos)
59
+ Facter.stubs(:value).with(:kernelrelease).returns(release)
60
+
61
+ Facter::Core::Execution.expects(:exec).with("/usr/sbin/psrinfo -p").returns("1")
62
+ Facter.fact(:physicalprocessorcount).value.should == "1"
63
+ end
64
+ end
65
+
66
+ %w{ 5.5.1 5.6 5.7 }.each do |release|
67
+ it "uses psrinfo with no -p for kernelrelease #{release}" do
68
+ Facter.fact(:kernel).stubs(:value).returns(:sunos)
69
+ Facter.stubs(:value).with(:kernelrelease).returns(release)
70
+
71
+ Facter::Core::Execution.expects(:exec).with("/usr/sbin/psrinfo").returns(psrinfo)
72
+ Facter.fact(:physicalprocessorcount).value.should == "2"
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,393 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'facter/util/processor'
4
+ require 'spec_helper'
5
+ require 'facter_spec/cpuinfo'
6
+
7
+ describe "Processor facts" do
8
+ describe "on Windows" do
9
+ before :each do
10
+ Facter.clear
11
+ Facter.fact(:kernel).stubs(:value).returns("windows")
12
+ end
13
+
14
+ def load(procs)
15
+ require 'facter/util/wmi'
16
+ Facter::Util::WMI.stubs(:execquery).with("select * from Win32_Processor").returns(procs)
17
+ # This is to workaround #14674
18
+ Facter.fact(:architecture).stubs(:value).returns("x64")
19
+
20
+ # processor facts belong to a file with a different name,
21
+ # so load the file explicitly (after stubbing kernel),
22
+ # but we have to stub execquery first
23
+ Facter.collection.internal_loader.load(:processor)
24
+ end
25
+
26
+ describe "2003" do
27
+ before :each do
28
+ proc = stubs 'proc'
29
+ proc.stubs(:Name).returns("Intel(R) Celeron(R) processor")
30
+
31
+ load(Array.new(2, proc))
32
+ end
33
+
34
+ it "should count 2 processors" do
35
+ proc.expects(:NumberOfLogicalProcessors).never
36
+
37
+ Facter.fact(:processorcount).value.should == "2"
38
+ end
39
+
40
+ it "should squeeze the processor name 2 times" do
41
+ 2.times do |i|
42
+ Facter.fact("processor#{i}".to_sym).value.should == "Intel(R) Celeron(R) processor"
43
+ end
44
+ end
45
+ end
46
+
47
+ describe "2008" do
48
+ before :each do
49
+ proc = stubs 'proc'
50
+ proc.stubs(:NumberOfLogicalProcessors).returns(2)
51
+ proc.stubs(:Name).returns("Intel(R) Celeron(R) processor")
52
+
53
+ load(Array.new(2, proc))
54
+ end
55
+
56
+ it "should count 4 processors" do
57
+ Facter.fact(:processorcount).value.should == "4"
58
+ end
59
+
60
+ it "should squeeze the processor name 4 times" do
61
+ 4.times do |i|
62
+ Facter.fact("processor#{i}".to_sym).value.should == "Intel(R) Celeron(R) processor"
63
+ end
64
+ end
65
+ end
66
+ end
67
+
68
+ describe "on Linux" do
69
+ include FacterSpec::Cpuinfo
70
+
71
+ shared_context 'Linux processor stubs' do
72
+ before :each do
73
+ Facter.collection.internal_loader.load(:processor)
74
+
75
+ Facter.fact(:kernel).stubs(:value).returns 'Linux'
76
+ Facter.fact(:operatingsystem).stubs(:value).returns 'Linux'
77
+ File.stubs(:exists?).with("/proc/cpuinfo").returns(true)
78
+ end
79
+ end
80
+
81
+ shared_examples_for 'a /proc/cpuinfo based processor fact' do |processor_fact|
82
+ include_context 'Linux processor stubs'
83
+
84
+ it "should be 1 in SPARC fixture" do
85
+ Facter.fact(:architecture).stubs(:value).returns("sparc")
86
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("sparc"))
87
+
88
+ Facter.fact(processor_fact).value.should == "1"
89
+ end
90
+
91
+ it "should be 2 in ppc64 fixture on Linux" do
92
+ Facter.fact(:architecture).stubs(:value).returns("ppc64")
93
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("ppc64"))
94
+
95
+ Facter.fact(processor_fact).value.should == "2"
96
+ end
97
+
98
+ it "should be 2 in panda-armel fixture on Linux" do
99
+ Facter.fact(:architecture).stubs(:value).returns("arm")
100
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("panda-armel"))
101
+
102
+ Facter.fact(processor_fact).value.should == "2"
103
+ end
104
+
105
+ it "should be 1 in bbg3-armel fixture on Linux" do
106
+ Facter.fact(:architecture).stubs(:value).returns("arm")
107
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("bbg3-armel"))
108
+
109
+ Facter.fact(processor_fact).value.should == "1"
110
+ end
111
+
112
+ it "should be 1 in beaglexm-armel fixture on Linux" do
113
+ Facter.fact(:architecture).stubs(:value).returns("arm")
114
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("beaglexm-armel"))
115
+
116
+ Facter.fact(processor_fact).value.should == "1"
117
+ end
118
+
119
+ it "should be 1 in amd64solo fixture on Linux" do
120
+ Facter.fact(:architecture).stubs(:value).returns("amd64")
121
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("amd64solo"))
122
+
123
+ Facter.fact(processor_fact).value.should == "1"
124
+ end
125
+
126
+ it "should be 2 in amd64dual fixture on Linux" do
127
+ Facter.fact(:architecture).stubs(:value).returns("amd64")
128
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("amd64dual"))
129
+
130
+ Facter.fact(processor_fact).value.should == "2"
131
+ end
132
+
133
+ it "should be 3 in amd64tri fixture on Linux" do
134
+ Facter.fact(:architecture).stubs(:value).returns("amd64")
135
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("amd64tri"))
136
+
137
+ Facter.fact(processor_fact).value.should == "3"
138
+ end
139
+
140
+ it "should be 4 in amd64quad fixture on Linux" do
141
+ Facter.fact(:architecture).stubs(:value).returns("amd64")
142
+ File.stubs(:readlines).with("/proc/cpuinfo").returns(cpuinfo_fixture_readlines("amd64quad"))
143
+
144
+ Facter.fact(processor_fact).value.should == "4"
145
+ end
146
+ end
147
+
148
+ it_behaves_like 'a /proc/cpuinfo based processor fact', :processorcount
149
+
150
+ def sysfs_cpu_stubs(count)
151
+ (0...count).map { |index| "/sys/devices/system/cpu/cpu#{index}" }
152
+ end
153
+
154
+ describe 'when /proc/cpuinfo returns 0 processors (#2945)' do
155
+ include_context 'Linux processor stubs'
156
+
157
+ before do
158
+ File.stubs(:readlines).with("/proc/cpuinfo").returns([])
159
+ File.stubs(:exists?).with("/sys/devices/system/cpu").returns(true)
160
+ end
161
+
162
+ it "should be 2 via sysfs when cpu0 and cpu1 are present" do
163
+ Dir.stubs(:glob).with("/sys/devices/system/cpu/cpu[0-9]*").returns(
164
+ sysfs_cpu_stubs(2)
165
+ )
166
+
167
+ Facter.fact(:processorcount).value.should == "2"
168
+ end
169
+
170
+ it "should be 16 via sysfs when cpu0 through cpu15 are present" do
171
+ Dir.stubs(:glob).with("/sys/devices/system/cpu/cpu[0-9]*").returns(
172
+ sysfs_cpu_stubs(16)
173
+ )
174
+
175
+ Facter.fact(:processorcount).value.should == "16"
176
+ end
177
+ end
178
+ end
179
+
180
+
181
+ describe "on Unixes" do
182
+ before :each do
183
+ Facter.collection.internal_loader.load(:processor)
184
+ end
185
+
186
+ it "should be 2 on dual-processor Darwin box" do
187
+ Facter.fact(:kernel).stubs(:value).returns("Darwin")
188
+ Facter::Core::Execution.stubs(:exec).with("sysctl -n hw.ncpu").returns('2')
189
+
190
+ Facter.fact(:processorcount).value.should == "2"
191
+ end
192
+
193
+ it "should be 2 on dual-processor OpenBSD box" do
194
+ Facter.fact(:kernel).stubs(:value).returns("OpenBSD")
195
+ Facter::Core::Execution.stubs(:exec).with("sysctl -n hw.ncpu").returns('2')
196
+
197
+ Facter.fact(:processorcount).value.should == "2"
198
+ end
199
+
200
+ it "should be 2 on dual-processor FreeBSD box" do
201
+ Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
202
+ Facter::Core::Execution.stubs(:exec).with("sysctl -n hw.ncpu").returns('2')
203
+
204
+ Facter.fact(:processorcount).value.should == "2"
205
+ end
206
+
207
+ it "should print the correct CPU Model on FreeBSD" do
208
+ Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
209
+ Facter::Core::Execution.stubs(:exec).with("sysctl -n hw.model").returns('SomeVendor CPU 3GHz')
210
+
211
+ Facter.fact(:processor).value.should == "SomeVendor CPU 3GHz"
212
+ end
213
+
214
+ it "should be 2 on dual-processor DragonFly box" do
215
+ Facter.fact(:kernel).stubs(:value).returns("DragonFly")
216
+ Facter::Core::Execution.stubs(:exec).with("sysctl -n hw.ncpu").returns('2')
217
+
218
+ Facter.fact(:processorcount).value.should == "2"
219
+ end
220
+ end
221
+
222
+ describe "on solaris" do
223
+ before :each do
224
+ Facter::Util::Processor.stubs(:kernel_fact_value).returns :sunos
225
+ Facter.fact(:kernel).stubs(:value).returns(:sunos)
226
+ Facter.collection.internal_loader.load(:processor)
227
+ end
228
+
229
+ before :all do
230
+ @fixture_kstat_sparc = File.read(fixtures('processorcount','solaris-sparc-kstat-cpu-info'))
231
+ @fixture_kstat_x86_64 = File.read(fixtures('processorcount','solaris-x86_64-kstat-cpu-info'))
232
+ end
233
+
234
+ let(:kstat_sparc) { @fixture_kstat_sparc }
235
+ let(:kstat_x86_64) { @fixture_kstat_x86_64 }
236
+
237
+ %w{ 5.8 5.9 5.10 5.11 }.each do |release|
238
+ %w{ sparc x86_64 }.each do |arch|
239
+ it "uses kstat on release #{release} (#{arch})" do
240
+ Facter.stubs(:value).with(:kernelrelease).returns(release)
241
+
242
+ Facter::Core::Execution.expects(:exec).with("/usr/sbin/psrinfo").never
243
+ Facter::Core::Execution.expects(:exec).with("/usr/bin/kstat cpu_info").returns(self.send("kstat_#{arch}".intern))
244
+ Facter.fact(:processorcount).value.should == '8'
245
+ end
246
+ end
247
+ end
248
+
249
+ %w{ 5.5.1 5.6 5.7 }.each do |release|
250
+ it "uses psrinfo on release #{release}" do
251
+ Facter.stubs(:value).with(:kernelrelease).returns(release)
252
+
253
+ fixture_data = File.read(fixtures('processorcount','solaris-psrinfo'))
254
+ Facter::Core::Execution.expects(:exec).with("/usr/bin/kstat cpu_info").never
255
+ Facter::Core::Execution.expects(:exec).with("/usr/sbin/psrinfo").returns(fixture_data)
256
+ Facter.fact(:processorcount).value.should == '24'
257
+ end
258
+ end
259
+ end
260
+ end
261
+
262
+ describe "processorX facts" do
263
+ describe "on AIX" do
264
+ def self.lsdev_examples
265
+ examples = []
266
+ examples << "proc0 Available 00-00 Processor\n" +
267
+ "proc4 Available 00-04 Processor\n" +
268
+ "proc8 Defined 00-08 Processor\n" +
269
+ "proc12 Defined 00-12 Processor\n"
270
+ examples
271
+ end
272
+
273
+ let(:lsattr) do
274
+ "type PowerPC_POWER5 Processor type False\n"
275
+ end
276
+
277
+ lsdev_examples.each_with_index do |lsdev_example, i|
278
+ context "lsdev example ##{i}" do
279
+ before :each do
280
+ Facter.fact(:kernel).stubs(:value).returns("AIX")
281
+ Facter::Util::Processor.stubs(:lsdev).returns(lsdev_example)
282
+ Facter::Util::Processor.stubs(:lsattr).returns(lsattr)
283
+ Facter.collection.internal_loader.load(:processor)
284
+ end
285
+
286
+ lsdev_example.split("\n").each_with_index do |line, idx|
287
+ aix_idx = idx * 4
288
+ it "maps proc#{aix_idx} to processor#{idx} (#11609)" do
289
+ Facter.value("processor#{idx}").should == "PowerPC_POWER5"
290
+ end
291
+ end
292
+ end
293
+ end
294
+ end
295
+
296
+ describe "on HP-UX" do
297
+ def self.machinfo_examples
298
+ examples = []
299
+ examples << [File.read(fixtures('hpux','machinfo','ia64-rx2620')), "Intel(R) Itanium 2 processor"]
300
+ examples << [File.read(fixtures('hpux','machinfo','ia64-rx6600')), "Intel(R) Itanium 2 9100 series processor (1.59 GHz, 18 MB)"]
301
+ examples << [File.read(fixtures('hpux','machinfo','ia64-rx8640')), "Intel(R) Itanium 2 9100 series"]
302
+ examples << [File.read(fixtures('hpux','machinfo','hppa-rp4440')), "PA-RISC 8800 processor (1000 MHz, 64 MB)"]
303
+ examples << [File.read(fixtures('hpux','machinfo','superdome-server-SD32B')), "Intel(R) Itanium 2 9000 series"]
304
+ examples << [File.read(fixtures('hpux','machinfo','superdome2-16s')), "Intel(R) Itanium(R) Processor 9340 (1.6 GHz, 15 MB)"]
305
+ examples
306
+ end
307
+
308
+ let(:ioscan) do
309
+ "Class I H/W Path Driver S/W State H/W Type Description\n" +
310
+ "===================================================================\n" +
311
+ "processor 0 0/120 processor CLAIMED PROCESSOR Processor\n" +
312
+ "processor 1 0/123 processor CLAIMED PROCESSOR Processor\n"
313
+ end
314
+
315
+ describe "when machinfo is available" do
316
+ machinfo_examples.each_with_index do |example, i|
317
+ machinfo_example, expected_cpu = example
318
+ context "machinfo example ##{i}" do
319
+ before :each do
320
+ Facter.fact(:kernel).stubs(:value).returns("HP-UX")
321
+ Facter::Util::Processor.stubs(:ioscan).returns(ioscan)
322
+ Facter::Util::Processor.stubs(:machinfo).returns(machinfo_example)
323
+ Facter.collection.internal_loader.load(:processor)
324
+ end
325
+
326
+ %w{ 0 1 }.each do |j|
327
+ it "should find #{expected_cpu}" do
328
+ Facter.value("processor#{j}").should == expected_cpu
329
+ end
330
+ end
331
+ end
332
+ end
333
+ end
334
+
335
+ def self.model_and_getconf_examples
336
+ examples = []
337
+ examples << ["9000/800/L3000-5x", "sched.models_present", "unistd.h_present", "532", "616", "PA-RISC 8600 processor"]
338
+ examples << ["9000/800/L3000-5x", "", "unistd.h_present", "532", "616", "HP PA-RISC2.0 CHIP TYPE #616"]
339
+ examples << ["9000/800/L3000-5x", "", "", "532", "616", "CPU v532 CHIP TYPE #616"]
340
+ examples << ["ia64 hp server rx2660", "sched.models_present", "unistd.h_present", "768", "536936708", "IA-64 archrev 0 CHIP TYPE #536936708"]
341
+ examples << ["ia64 hp server rx2660", "", "unistd.h_present", "768", "536936708", "IA-64 archrev 0 CHIP TYPE #536936708"]
342
+ examples << ["ia64 hp server rx2660", "", "", "768", "536936708", "CPU v768 CHIP TYPE #536936708"]
343
+ examples
344
+ end
345
+
346
+ sched_models = File.readlines(fixtures('hpux','sched.models'))
347
+ unistd_h = File.readlines(fixtures('hpux','unistd.h'))
348
+
349
+ describe "when machinfo is not available" do
350
+ model_and_getconf_examples.each_with_index do |example, i|
351
+ model_example, sm, unistd, getconf_cpu_ver, getconf_chip_type, expected_cpu = example
352
+ context "and model and getconf example ##{i}" do
353
+ before :each do
354
+ Facter.fact(:kernel).stubs(:value).returns("HP-UX")
355
+ Facter::Util::Processor.stubs(:ioscan).returns(ioscan)
356
+ Facter::Util::Processor.stubs(:getconf_cpu_version).returns(getconf_cpu_ver)
357
+ Facter::Util::Processor.stubs(:getconf_cpu_chip_type).returns(getconf_chip_type)
358
+ Facter::Util::Processor.stubs(:machinfo).returns(nil)
359
+ Facter::Util::Processor.stubs(:model).returns(model_example)
360
+ end
361
+
362
+ if unistd == "unistd.h_present" then
363
+ before :each do
364
+ Facter::Util::Processor.stubs(:read_unistd_h).returns(unistd_h)
365
+ end
366
+ else
367
+ before :each do
368
+ Facter::Util::Processor.stubs(:read_unistd_h).returns(nil)
369
+ end
370
+ end
371
+
372
+ if sm == "sched.models_present" then
373
+ before :each do
374
+ Facter::Util::Processor.stubs(:read_sched_models).returns(sched_models)
375
+ Facter.collection.internal_loader.load(:processor)
376
+ end
377
+ else
378
+ before :each do
379
+ Facter::Util::Processor.stubs(:read_sched_models).returns(nil)
380
+ Facter.collection.internal_loader.load(:processor)
381
+ end
382
+ end
383
+
384
+ %w{ 0 1 }.each do |j|
385
+ it "should find #{expected_cpu}" do
386
+ Facter.value("processor#{j}").should == expected_cpu
387
+ end
388
+ end
389
+ end
390
+ end
391
+ end
392
+ end
393
+ end