facter 2.1.0-x64-mingw32

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.

Files changed (440) hide show
  1. checksums.yaml +7 -0
  2. data/COMMITTERS.md +194 -0
  3. data/CONTRIBUTING.md +65 -0
  4. data/Gemfile +53 -0
  5. data/LICENSE +15 -0
  6. data/README.md +33 -0
  7. data/Rakefile +79 -0
  8. data/bin/facter +20 -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 +36 -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 +261 -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 +123 -0
  39. data/lib/facter/core/execution/base.rb +81 -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 +113 -0
  45. data/lib/facter/dhcp_servers.rb +39 -0
  46. data/lib/facter/domain.rb +99 -0
  47. data/lib/facter/ec2.rb +44 -0
  48. data/lib/facter/ec2/rest.rb +130 -0
  49. data/lib/facter/facterversion.rb +15 -0
  50. data/lib/facter/filesystems.rb +38 -0
  51. data/lib/facter/fqdn.rb +24 -0
  52. data/lib/facter/gce.rb +16 -0
  53. data/lib/facter/gce/metadata.rb +87 -0
  54. data/lib/facter/hardwareisa.rb +20 -0
  55. data/lib/facter/hardwaremodel.rb +67 -0
  56. data/lib/facter/hostname.rb +31 -0
  57. data/lib/facter/id.rb +21 -0
  58. data/lib/facter/interfaces.rb +46 -0
  59. data/lib/facter/ipaddress.rb +171 -0
  60. data/lib/facter/ipaddress6.rb +82 -0
  61. data/lib/facter/iphostnumber.rb +29 -0
  62. data/lib/facter/kernel.rb +22 -0
  63. data/lib/facter/kernelmajversion.rb +23 -0
  64. data/lib/facter/kernelrelease.rb +50 -0
  65. data/lib/facter/kernelversion.rb +22 -0
  66. data/lib/facter/ldom.rb +47 -0
  67. data/lib/facter/lsbdistcodename.rb +16 -0
  68. data/lib/facter/lsbdistdescription.rb +25 -0
  69. data/lib/facter/lsbdistid.rb +16 -0
  70. data/lib/facter/lsbdistrelease.rb +16 -0
  71. data/lib/facter/lsbmajdistrelease.rb +27 -0
  72. data/lib/facter/lsbrelease.rb +16 -0
  73. data/lib/facter/macaddress.rb +97 -0
  74. data/lib/facter/macosx.rb +56 -0
  75. data/lib/facter/manufacturer.rb +68 -0
  76. data/lib/facter/memory.rb +168 -0
  77. data/lib/facter/netmask.rb +42 -0
  78. data/lib/facter/network.rb +20 -0
  79. data/lib/facter/operatingsystem.rb +141 -0
  80. data/lib/facter/operatingsystemmajrelease.rb +47 -0
  81. data/lib/facter/operatingsystemrelease.rb +250 -0
  82. data/lib/facter/osfamily.rb +37 -0
  83. data/lib/facter/partitions.rb +35 -0
  84. data/lib/facter/path.rb +14 -0
  85. data/lib/facter/physicalprocessorcount.rb +91 -0
  86. data/lib/facter/processor.rb +168 -0
  87. data/lib/facter/ps.rb +30 -0
  88. data/lib/facter/puppetversion.rb +20 -0
  89. data/lib/facter/rubysitedir.rb +12 -0
  90. data/lib/facter/rubyversion.rb +12 -0
  91. data/lib/facter/selinux.rb +99 -0
  92. data/lib/facter/ssh.rb +72 -0
  93. data/lib/facter/timezone.rb +14 -0
  94. data/lib/facter/uniqueid.rb +4 -0
  95. data/lib/facter/uptime.rb +34 -0
  96. data/lib/facter/uptime_days.rb +15 -0
  97. data/lib/facter/uptime_hours.rb +15 -0
  98. data/lib/facter/uptime_seconds.rb +24 -0
  99. data/lib/facter/util/architecture.rb +19 -0
  100. data/lib/facter/util/collection.rb +161 -0
  101. data/lib/facter/util/composite_loader.rb +12 -0
  102. data/lib/facter/util/config.rb +63 -0
  103. data/lib/facter/util/confine.rb +66 -0
  104. data/lib/facter/util/dhcp_servers.rb +43 -0
  105. data/lib/facter/util/directory_loader.rb +83 -0
  106. data/lib/facter/util/ec2.rb +106 -0
  107. data/lib/facter/util/fact.rb +204 -0
  108. data/lib/facter/util/file_read.rb +37 -0
  109. data/lib/facter/util/formatter.rb +39 -0
  110. data/lib/facter/util/ip.rb +285 -0
  111. data/lib/facter/util/ip/windows.rb +215 -0
  112. data/lib/facter/util/loader.rb +155 -0
  113. data/lib/facter/util/macaddress.rb +43 -0
  114. data/lib/facter/util/macosx.rb +73 -0
  115. data/lib/facter/util/manufacturer.rb +99 -0
  116. data/lib/facter/util/memory.rb +228 -0
  117. data/lib/facter/util/netmask.rb +40 -0
  118. data/lib/facter/util/normalization.rb +94 -0
  119. data/lib/facter/util/nothing_loader.rb +12 -0
  120. data/lib/facter/util/operatingsystem.rb +21 -0
  121. data/lib/facter/util/parser.rb +158 -0
  122. data/lib/facter/util/partitions.rb +41 -0
  123. data/lib/facter/util/partitions/linux.rb +65 -0
  124. data/lib/facter/util/plist.rb +24 -0
  125. data/lib/facter/util/plist/generator.rb +228 -0
  126. data/lib/facter/util/plist/parser.rb +226 -0
  127. data/lib/facter/util/posix.rb +16 -0
  128. data/lib/facter/util/processor.rb +289 -0
  129. data/lib/facter/util/registry.rb +11 -0
  130. data/lib/facter/util/resolution.rb +160 -0
  131. data/lib/facter/util/solaris_zones.rb +158 -0
  132. data/lib/facter/util/unix_root.rb +5 -0
  133. data/lib/facter/util/uptime.rb +81 -0
  134. data/lib/facter/util/values.rb +109 -0
  135. data/lib/facter/util/virtual.rb +180 -0
  136. data/lib/facter/util/vlans.rb +21 -0
  137. data/lib/facter/util/windows_root.rb +7 -0
  138. data/lib/facter/util/wmi.rb +16 -0
  139. data/lib/facter/util/xendomains.rb +10 -0
  140. data/lib/facter/version.rb +86 -0
  141. data/lib/facter/virtual.rb +311 -0
  142. data/lib/facter/vlans.rb +17 -0
  143. data/lib/facter/xendomains.rb +20 -0
  144. data/lib/facter/zfs_version.rb +10 -0
  145. data/lib/facter/zonename.rb +6 -0
  146. data/lib/facter/zones.rb +17 -0
  147. data/lib/facter/zpool_version.rb +10 -0
  148. data/spec/fixtures/cpuinfo/amd64dual +57 -0
  149. data/spec/fixtures/cpuinfo/amd64quad +79 -0
  150. data/spec/fixtures/cpuinfo/amd64solo +23 -0
  151. data/spec/fixtures/cpuinfo/amd64tri +86 -0
  152. data/spec/fixtures/cpuinfo/amd64twentyfour +600 -0
  153. data/spec/fixtures/cpuinfo/bbg3-armel +12 -0
  154. data/spec/fixtures/cpuinfo/beaglexm-armel +12 -0
  155. data/spec/fixtures/cpuinfo/panda-armel +17 -0
  156. data/spec/fixtures/cpuinfo/ppc64 +19 -0
  157. data/spec/fixtures/cpuinfo/sparc +10 -0
  158. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +26 -0
  159. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +49 -0
  160. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +26 -0
  161. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +53 -0
  162. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +53 -0
  163. data/spec/fixtures/hpux/machinfo/superdome2-16s +31 -0
  164. data/spec/fixtures/hpux/sched.models +174 -0
  165. data/spec/fixtures/hpux/unistd.h +1534 -0
  166. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +18 -0
  167. data/spec/fixtures/ifconfig/centos_5_5 +17 -0
  168. data/spec/fixtures/ifconfig/centos_5_5_eth0 +8 -0
  169. data/spec/fixtures/ifconfig/darwin_10_3_0 +26 -0
  170. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +6 -0
  171. data/spec/fixtures/ifconfig/darwin_10_6_4 +28 -0
  172. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +6 -0
  173. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +8 -0
  174. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +7 -0
  175. data/spec/fixtures/ifconfig/darwin_9_8_0 +26 -0
  176. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +6 -0
  177. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +23 -0
  178. data/spec/fixtures/ifconfig/fedora_10 +36 -0
  179. data/spec/fixtures/ifconfig/fedora_10_eth0 +9 -0
  180. data/spec/fixtures/ifconfig/fedora_13 +18 -0
  181. data/spec/fixtures/ifconfig/fedora_13_eth0 +9 -0
  182. data/spec/fixtures/ifconfig/fedora_8 +38 -0
  183. data/spec/fixtures/ifconfig/fedora_8_eth0 +9 -0
  184. data/spec/fixtures/ifconfig/freebsd_6_0 +12 -0
  185. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +19 -0
  186. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +16 -0
  187. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +19 -0
  188. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +19 -0
  189. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +8 -0
  190. data/spec/fixtures/ifconfig/linux_ifconfig_venet +24 -0
  191. data/spec/fixtures/ifconfig/open_solaris_10 +12 -0
  192. data/spec/fixtures/ifconfig/open_solaris_b132 +20 -0
  193. data/spec/fixtures/ifconfig/openbsd_bridge_rules +11 -0
  194. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +10 -0
  195. data/spec/fixtures/ifconfig/ubuntu_7_04 +38 -0
  196. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +9 -0
  197. data/spec/fixtures/ldom/ldom_v1 +6 -0
  198. data/spec/fixtures/netstat/centos_5_5 +5 -0
  199. data/spec/fixtures/netstat/darwin_10_3_0 +35 -0
  200. data/spec/fixtures/netstat/darwin_10_6_4 +29 -0
  201. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +34 -0
  202. data/spec/fixtures/netstat/darwin_9_8_0 +28 -0
  203. data/spec/fixtures/netstat/fedora_10 +7 -0
  204. data/spec/fixtures/netstat/open_solaris_10 +16 -0
  205. data/spec/fixtures/netstat/open_solaris_b132 +17 -0
  206. data/spec/fixtures/netstat/ubuntu_7_04 +7 -0
  207. data/spec/fixtures/processorcount/solaris-psrinfo +24 -0
  208. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +1216 -0
  209. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +225 -0
  210. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +4 -0
  211. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +4 -0
  212. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +36 -0
  213. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +24 -0
  214. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +49 -0
  215. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +37 -0
  216. data/spec/fixtures/unit/dhcp_servers/route +3 -0
  217. data/spec/fixtures/unit/dhcp_servers/route_nogw +1 -0
  218. data/spec/fixtures/unit/ec2/rest/meta-data/root +20 -0
  219. data/spec/fixtures/unit/filesystems/linux +28 -0
  220. data/spec/fixtures/unit/gce/metadata/metadata.json +69 -0
  221. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +19 -0
  222. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +10 -0
  223. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +8 -0
  224. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +20 -0
  225. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +19 -0
  226. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +18 -0
  227. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +16 -0
  228. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +2 -0
  229. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +3 -0
  230. data/spec/fixtures/unit/memory/aix-svmon +9 -0
  231. data/spec/fixtures/unit/memory/aix-swap_l +2 -0
  232. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +3 -0
  233. data/spec/fixtures/unit/memory/darwin-swapinfo-single +2 -0
  234. data/spec/fixtures/unit/memory/darwin-vm_stat +13 -0
  235. data/spec/fixtures/unit/memory/dragonfly-vmstat +3 -0
  236. data/spec/fixtures/unit/memory/freebsd-vmstat +3 -0
  237. data/spec/fixtures/unit/memory/linux-proc_meminfo +10 -0
  238. data/spec/fixtures/unit/memory/openbsd-vmstat +3 -0
  239. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +2 -0
  240. data/spec/fixtures/unit/memory/solaris-prtconf +4 -0
  241. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +3 -0
  242. data/spec/fixtures/unit/memory/solaris-swap_l-single +2 -0
  243. data/spec/fixtures/unit/memory/solaris-vmstat +3 -0
  244. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +30 -0
  245. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +3 -0
  246. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +19 -0
  247. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +16 -0
  248. data/spec/fixtures/unit/selinux/selinux_sestatus +6 -0
  249. data/spec/fixtures/unit/util/dhcp_servers/route +3 -0
  250. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +1 -0
  251. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +1 -0
  252. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +1 -0
  253. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +5 -0
  254. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +7 -0
  255. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +6 -0
  256. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +10 -0
  257. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +12 -0
  258. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +26 -0
  259. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +10 -0
  260. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +6 -0
  261. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +40 -0
  262. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +2 -0
  263. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +2 -0
  264. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +2 -0
  265. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +5 -0
  266. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +4 -0
  267. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +2 -0
  268. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +2 -0
  269. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +2 -0
  270. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +5 -0
  271. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +4 -0
  272. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +2 -0
  273. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +2 -0
  274. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +2 -0
  275. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +4 -0
  276. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +4 -0
  277. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +2 -0
  278. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +2 -0
  279. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +2 -0
  280. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +2 -0
  281. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +9 -0
  282. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +6 -0
  283. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +19 -0
  284. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +10 -0
  285. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +8 -0
  286. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +9 -0
  287. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +18 -0
  288. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +8 -0
  289. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +8 -0
  290. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +3 -0
  291. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +12 -0
  292. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +7 -0
  293. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +18 -0
  294. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +42 -0
  295. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +549 -0
  296. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +60 -0
  297. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +33 -0
  298. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +533 -0
  299. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +33 -0
  300. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +136 -0
  301. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +8 -0
  302. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +12 -0
  303. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +7 -0
  304. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +9 -0
  305. data/spec/fixtures/unit/util/partitions/partitions/mount +9 -0
  306. data/spec/fixtures/unit/util/processor/solaris-i86pc +28 -0
  307. data/spec/fixtures/unit/util/processor/solaris-sun4u +151 -0
  308. data/spec/fixtures/unit/util/processor/x86-pentium2 +41 -0
  309. data/spec/fixtures/unit/util/uptime/kstat_boot_time +1 -0
  310. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +1 -0
  311. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +1 -0
  312. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +1 -0
  313. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  314. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  315. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +2 -0
  316. data/spec/fixtures/unit/util/vlans/linux_vlan_config +6 -0
  317. data/spec/fixtures/unit/util/xendomains/xendomains +4 -0
  318. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  319. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +14 -0
  320. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +13 -0
  321. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +14 -0
  322. data/spec/fixtures/unit/zfs_version/solaris_10 +10 -0
  323. data/spec/fixtures/unit/zfs_version/solaris_11 +12 -0
  324. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +26 -0
  325. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +38 -0
  326. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +35 -0
  327. data/spec/fixtures/unit/zpool_version/solaris_10 +31 -0
  328. data/spec/fixtures/unit/zpool_version/solaris_11 +43 -0
  329. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +9 -0
  330. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +8 -0
  331. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +9 -0
  332. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +37 -0
  333. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +36 -0
  334. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +39 -0
  335. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +39 -0
  336. data/spec/integration/facter_spec.rb +39 -0
  337. data/spec/lib/facter_spec/cpuinfo.rb +15 -0
  338. data/spec/lib/facter_spec/windows_network.rb +64 -0
  339. data/spec/puppetlabs_spec/files.rb +57 -0
  340. data/spec/puppetlabs_spec/fixtures.rb +49 -0
  341. data/spec/puppetlabs_spec/matchers.rb +87 -0
  342. data/spec/puppetlabs_spec/verbose.rb +9 -0
  343. data/spec/puppetlabs_spec_helper.rb +26 -0
  344. data/spec/shared_contexts/platform.rb +55 -0
  345. data/spec/shared_formats/parses.rb +3 -0
  346. data/spec/spec_helper.rb +75 -0
  347. data/spec/unit/application_spec.rb +101 -0
  348. data/spec/unit/architecture_spec.rb +63 -0
  349. data/spec/unit/blockdevices_spec.rb +109 -0
  350. data/spec/unit/core/aggregate_spec.rb +125 -0
  351. data/spec/unit/core/directed_graph_spec.rb +79 -0
  352. data/spec/unit/core/execution/base_spec.rb +130 -0
  353. data/spec/unit/core/execution/posix_spec.rb +86 -0
  354. data/spec/unit/core/execution/windows_spec.rb +106 -0
  355. data/spec/unit/core/execution_spec.rb +42 -0
  356. data/spec/unit/core/logging_spec.rb +104 -0
  357. data/spec/unit/core/resolvable_spec.rb +81 -0
  358. data/spec/unit/core/suitable_spec.rb +106 -0
  359. data/spec/unit/dhcp_servers_spec.rb +152 -0
  360. data/spec/unit/domain_spec.rb +310 -0
  361. data/spec/unit/ec2/rest_spec.rb +145 -0
  362. data/spec/unit/ec2_spec.rb +127 -0
  363. data/spec/unit/facter_spec.rb +108 -0
  364. data/spec/unit/filesystems_spec.rb +50 -0
  365. data/spec/unit/fqdn_spec.rb +16 -0
  366. data/spec/unit/gce/metadata_spec.rb +49 -0
  367. data/spec/unit/gce_spec.rb +34 -0
  368. data/spec/unit/hardwareisa_spec.rb +41 -0
  369. data/spec/unit/hardwaremodel_spec.rb +56 -0
  370. data/spec/unit/hostname_spec.rb +40 -0
  371. data/spec/unit/id_spec.rb +29 -0
  372. data/spec/unit/interfaces_spec.rb +57 -0
  373. data/spec/unit/ipaddress6_spec.rb +161 -0
  374. data/spec/unit/ipaddress_spec.rb +114 -0
  375. data/spec/unit/kernel_spec.rb +24 -0
  376. data/spec/unit/kernelmajversion_spec.rb +22 -0
  377. data/spec/unit/kernelrelease_spec.rb +69 -0
  378. data/spec/unit/kernelversion_spec.rb +32 -0
  379. data/spec/unit/ldom_spec.rb +75 -0
  380. data/spec/unit/lsbdistcodename_spec.rb +25 -0
  381. data/spec/unit/lsbdistdescription_spec.rb +25 -0
  382. data/spec/unit/lsbdistid_spec.rb +25 -0
  383. data/spec/unit/lsbdistrelease_spec.rb +25 -0
  384. data/spec/unit/lsbmajdistrelease_spec.rb +13 -0
  385. data/spec/unit/lsbrelease_spec.rb +25 -0
  386. data/spec/unit/macaddress_spec.rb +73 -0
  387. data/spec/unit/manufacturer_spec.rb +115 -0
  388. data/spec/unit/memory_spec.rb +470 -0
  389. data/spec/unit/netmask_spec.rb +106 -0
  390. data/spec/unit/operatingsystem_spec.rb +160 -0
  391. data/spec/unit/operatingsystemmajrelease_spec.rb +38 -0
  392. data/spec/unit/operatingsystemrelease_spec.rb +236 -0
  393. data/spec/unit/osfamily_spec.rb +62 -0
  394. data/spec/unit/partitions_spec.rb +48 -0
  395. data/spec/unit/physicalprocessorcount_spec.rb +85 -0
  396. data/spec/unit/processor_spec.rb +401 -0
  397. data/spec/unit/ps_spec.rb +42 -0
  398. data/spec/unit/selinux_spec.rb +114 -0
  399. data/spec/unit/ssh_spec.rb +77 -0
  400. data/spec/unit/uniqueid_spec.rb +27 -0
  401. data/spec/unit/uptime_spec.rb +110 -0
  402. data/spec/unit/util/collection_spec.rb +258 -0
  403. data/spec/unit/util/config_spec.rb +97 -0
  404. data/spec/unit/util/confine_spec.rb +148 -0
  405. data/spec/unit/util/dhcp_servers_spec.rb +63 -0
  406. data/spec/unit/util/directory_loader_spec.rb +88 -0
  407. data/spec/unit/util/ec2_spec.rb +184 -0
  408. data/spec/unit/util/fact_spec.rb +142 -0
  409. data/spec/unit/util/file_read_spec.rb +29 -0
  410. data/spec/unit/util/formatter_spec.rb +50 -0
  411. data/spec/unit/util/ip/windows_spec.rb +80 -0
  412. data/spec/unit/util/ip_spec.rb +467 -0
  413. data/spec/unit/util/loader_spec.rb +286 -0
  414. data/spec/unit/util/macaddress_spec.rb +141 -0
  415. data/spec/unit/util/macosx_spec.rb +114 -0
  416. data/spec/unit/util/manufacturer_spec.rb +223 -0
  417. data/spec/unit/util/normalization_spec.rb +113 -0
  418. data/spec/unit/util/operatingsystem_spec.rb +92 -0
  419. data/spec/unit/util/parser_spec.rb +200 -0
  420. data/spec/unit/util/partitions/partitions_spec.rb +67 -0
  421. data/spec/unit/util/partitions_spec.rb +19 -0
  422. data/spec/unit/util/posix_spec.rb +11 -0
  423. data/spec/unit/util/processor_spec.rb +92 -0
  424. data/spec/unit/util/registry_spec.rb +76 -0
  425. data/spec/unit/util/resolution_spec.rb +129 -0
  426. data/spec/unit/util/solaris_zones_spec.rb +127 -0
  427. data/spec/unit/util/uptime_spec.rb +126 -0
  428. data/spec/unit/util/values_spec.rb +171 -0
  429. data/spec/unit/util/virtual_spec.rb +364 -0
  430. data/spec/unit/util/vlans_spec.rb +42 -0
  431. data/spec/unit/util/wmi_spec.rb +19 -0
  432. data/spec/unit/util/xendomains_spec.rb +21 -0
  433. data/spec/unit/version_spec.rb +42 -0
  434. data/spec/unit/virtual_spec.rb +519 -0
  435. data/spec/unit/zfs_version_spec.rb +75 -0
  436. data/spec/unit/zonename_spec.rb +14 -0
  437. data/spec/unit/zones_spec.rb +55 -0
  438. data/spec/unit/zpool_version_spec.rb +75 -0
  439. data/spec/watchr.rb +125 -0
  440. metadata +815 -0
@@ -0,0 +1,145 @@
1
+ require 'spec_helper'
2
+ require 'facter/ec2/rest'
3
+
4
+ shared_examples_for "an ec2 rest querier" do
5
+ describe "determining if the uri is reachable" do
6
+ it "retries if the connection times out" do
7
+ subject.stubs(:open).returns(stub(:read => nil))
8
+ Timeout.expects(:timeout).with(0.2).twice.raises(Timeout::Error).returns(true)
9
+ expect(subject).to be_reachable
10
+ end
11
+
12
+ it "retries if the connection is reset" do
13
+ subject.expects(:open).twice.raises(Errno::ECONNREFUSED).returns(StringIO.new("woo"))
14
+ expect(subject).to be_reachable
15
+ end
16
+
17
+ it "is false if the given uri returns a 404" do
18
+ subject.expects(:open).with(anything).once.raises(OpenURI::HTTPError.new("404 Not Found", StringIO.new("woo")))
19
+ expect(subject).to_not be_reachable
20
+ end
21
+
22
+ it "is false if the connection always times out" do
23
+ Timeout.expects(:timeout).with(0.2).times(3).raises(Timeout::Error)
24
+ expect(subject).to_not be_reachable
25
+ end
26
+ end
27
+
28
+ end
29
+
30
+ describe Facter::EC2::Metadata do
31
+
32
+ subject { described_class.new('http://0.0.0.0/latest/meta-data/') }
33
+
34
+ let(:response) { StringIO.new }
35
+
36
+ describe "fetching a metadata endpoint" do
37
+ it "splits the body into an array" do
38
+ response.string = my_fixture_read("meta-data/root")
39
+ subject.stubs(:open).with("http://0.0.0.0/latest/meta-data/").returns response
40
+ output = subject.fetch_endpoint('')
41
+
42
+ expect(output).to eq %w[
43
+ ami-id ami-launch-index ami-manifest-path block-device-mapping/ hostname
44
+ instance-action instance-id instance-type kernel-id local-hostname
45
+ local-ipv4 mac metrics/ network/ placement/ profile public-hostname
46
+ public-ipv4 public-keys/ reservation-id
47
+ ]
48
+ end
49
+
50
+ it "reformats keys that are array indices" do
51
+ response.string = "0=adrien@grey/"
52
+ subject.stubs(:open).with("http://0.0.0.0/latest/meta-data/public-keys/").returns response
53
+ output = subject.fetch_endpoint("public-keys/")
54
+
55
+ expect(output).to eq %w[0/]
56
+ end
57
+
58
+ it "returns nil if the endpoint returns a 404" do
59
+ Facter.expects(:log_exception).never
60
+ subject.stubs(:open).with("http://0.0.0.0/latest/meta-data/public-keys/1/").raises OpenURI::HTTPError.new("404 Not Found", response)
61
+ output = subject.fetch_endpoint('public-keys/1/')
62
+
63
+ expect(output).to be_nil
64
+ end
65
+
66
+ it "logs an error if the endpoint raises a non-404 HTTPError" do
67
+ Facter.expects(:log_exception).with(instance_of(OpenURI::HTTPError), anything)
68
+
69
+ subject.stubs(:open).with("http://0.0.0.0/latest/meta-data/").raises OpenURI::HTTPError.new("418 I'm a Teapot", response)
70
+ output = subject.fetch_endpoint("")
71
+
72
+ expect(output).to be_nil
73
+ end
74
+
75
+ it "logs an error if the endpoint raises a connection error" do
76
+ Facter.expects(:log_exception).with(instance_of(Errno::ECONNREFUSED), anything)
77
+
78
+ subject.stubs(:open).with("http://0.0.0.0/latest/meta-data/").raises Errno::ECONNREFUSED
79
+ output = subject.fetch_endpoint('')
80
+
81
+ expect(output).to be_nil
82
+ end
83
+ end
84
+
85
+ describe "recursively fetching the EC2 metadata API" do
86
+ it "queries the given endpoint for metadata keys" do
87
+ subject.expects(:fetch_endpoint).with("").returns([])
88
+ subject.fetch
89
+ end
90
+
91
+ it "fetches the value for a simple metadata key" do
92
+ subject.expects(:fetch_endpoint).with("").returns(['indexthing'])
93
+ subject.expects(:fetch_endpoint).with("indexthing").returns(['first', 'second'])
94
+
95
+ output = subject.fetch
96
+ expect(output).to eq({'indexthing' => ['first', 'second']})
97
+ end
98
+
99
+ it "unwraps metadata values that are in single element arrays" do
100
+ subject.expects(:fetch_endpoint).with("").returns(['ami-id'])
101
+ subject.expects(:fetch_endpoint).with("ami-id").returns(['i-12x'])
102
+
103
+ output = subject.fetch
104
+ expect(output).to eq({'ami-id' => 'i-12x'})
105
+ end
106
+
107
+ it "recursively queries an endpoint if the key ends with '/'" do
108
+ subject.expects(:fetch_endpoint).with("").returns(['metrics/'])
109
+ subject.expects(:fetch_endpoint).with("metrics/").returns(['vhostmd'])
110
+ subject.expects(:fetch_endpoint).with("metrics/vhostmd").returns(['woo'])
111
+
112
+ output = subject.fetch
113
+ expect(output).to eq({'metrics' => {'vhostmd' => 'woo'}})
114
+ end
115
+ end
116
+
117
+ it_behaves_like "an ec2 rest querier"
118
+ end
119
+
120
+ describe Facter::EC2::Userdata do
121
+
122
+ subject { described_class.new('http://0.0.0.0/latest/user-data/') }
123
+
124
+ let(:response) { StringIO.new }
125
+
126
+ describe "reaching the userdata" do
127
+ it "queries the userdata URI" do
128
+ subject.expects(:open).with('http://0.0.0.0/latest/user-data/').returns(response)
129
+ subject.fetch
130
+ end
131
+
132
+ it "returns the result of the query without modification" do
133
+ response.string = "clooouuuuud"
134
+ subject.expects(:open).with('http://0.0.0.0/latest/user-data/').returns(response)
135
+ expect(subject.fetch).to eq "clooouuuuud"
136
+ end
137
+
138
+ it "is nil if the URI returned a 404" do
139
+ subject.expects(:open).with('http://0.0.0.0/latest/user-data/').once.raises(OpenURI::HTTPError.new("404 Not Found", StringIO.new("woo")))
140
+ expect(subject.fetch).to be_nil
141
+ end
142
+ end
143
+
144
+ it_behaves_like "an ec2 rest querier"
145
+ end
@@ -0,0 +1,127 @@
1
+ require 'spec_helper'
2
+ require 'facter/ec2/rest'
3
+
4
+ describe "ec2_metadata" do
5
+ let(:querier) { stub('EC2 metadata querier') }
6
+
7
+ before do
8
+ Facter::EC2::Metadata.stubs(:new).returns querier
9
+
10
+ # Prevent flattened facts from forcing evaluation of the ec2 metadata fact
11
+ Facter.stubs(:value).with(:ec2_metadata)
12
+ Facter.collection.internal_loader.load(:ec2)
13
+ Facter.unstub(:value)
14
+ end
15
+
16
+ subject { Facter.fact(:ec2_metadata).resolution(:rest) }
17
+
18
+ it "is unsuitable if the virtual fact is not xen" do
19
+ querier.stubs(:reachable?).returns false
20
+ Facter.fact(:virtual).stubs(:value).returns "kvm"
21
+ expect(subject).to_not be_suitable
22
+ end
23
+
24
+ it "is unsuitable if ec2 endpoint is not reachable" do
25
+ Facter.fact(:virtual).stubs(:value).returns "xen"
26
+ querier.stubs(:reachable?).returns false
27
+ expect(subject).to_not be_suitable
28
+ end
29
+
30
+ describe "when the ec2 endpoint is reachable" do
31
+ before do
32
+ querier.stubs(:reachable?).returns true
33
+ end
34
+
35
+ it "is suitable if the virtual fact is xen" do
36
+ Facter.fact(:virtual).stubs(:value).returns "xen"
37
+ subject.suitable?
38
+
39
+ expect(subject).to be_suitable
40
+ end
41
+
42
+ it "is suitable if the virtual fact is xenu" do
43
+ Facter.fact(:virtual).stubs(:value).returns "xenu"
44
+ expect(subject).to be_suitable
45
+ end
46
+ end
47
+
48
+ it "resolves the value by recursively querying the rest endpoint" do
49
+ querier.expects(:fetch).returns({"hello" => "world"})
50
+ expect(subject.value).to eq({"hello" => "world"})
51
+ end
52
+ end
53
+
54
+ describe "ec2_userdata" do
55
+ let(:querier) { stub('EC2 metadata querier') }
56
+
57
+ before do
58
+ Facter::EC2::Userdata.stubs(:new).returns querier
59
+
60
+ # Prevent flattened facts from forcing evaluation of the ec2 metadata fact
61
+ Facter.stubs(:value).with(:ec2_metadata)
62
+ Facter.collection.internal_loader.load(:ec2)
63
+ Facter.unstub(:value)
64
+ end
65
+
66
+ subject { Facter.fact(:ec2_userdata).resolution(:rest) }
67
+
68
+ it "is unsuitable if the virtual fact is not xen" do
69
+ querier.stubs(:reachable?).returns(true)
70
+ Facter.fact(:virtual).stubs(:value).returns "kvm"
71
+ expect(subject).to_not be_suitable
72
+ end
73
+
74
+ it "is unsuitable if ec2 endpoint is not reachable" do
75
+ Facter.fact(:virtual).stubs(:value).returns "xen"
76
+ querier.stubs(:reachable?).returns false
77
+ expect(subject).to_not be_suitable
78
+ end
79
+
80
+ describe "when the ec2 endpoint is reachable" do
81
+ before do
82
+ querier.stubs(:reachable?).returns true
83
+ end
84
+
85
+ it "is suitable if the virtual fact is xen" do
86
+ Facter.fact(:virtual).stubs(:value).returns "xen"
87
+ expect(subject).to be_suitable
88
+ end
89
+
90
+ it "is suitable if the virtual fact is xenu" do
91
+ Facter.fact(:virtual).stubs(:value).returns "xenu"
92
+ expect(subject).to be_suitable
93
+ end
94
+ end
95
+
96
+ it "resolves the value by fetching the rest endpoint" do
97
+ querier.expects(:fetch).returns "user data!"
98
+ expect(subject.value).to eq "user data!"
99
+ end
100
+ end
101
+
102
+ describe "flattened versions of ec2 facts" do
103
+ # These facts are tricky to test because they are dynamic facts, and they are
104
+ # generated from a fact that is defined in the same file. In order to pull
105
+ # this off we need to define the ec2_metadata fact ahead of time so that we
106
+ # can stub the value, and then manually load the correct files.
107
+
108
+ it "unpacks the ec2_metadata fact" do
109
+ Facter.define_fact(:ec2_metadata).stubs(:value).returns({"hello" => "world"})
110
+ Facter.collection.internal_loader.load(:ec2)
111
+
112
+ expect(Facter.value("ec2_hello")).to eq "world"
113
+ end
114
+
115
+ it "does not set any flat ec2 facts if the ec2_metadata fact is nil" do
116
+ Facter.define_fact(:ec2_metadata).stubs(:value)
117
+ Facter.define_fact(:ec2_userdata).stubs(:value).returns(nil)
118
+
119
+ Facter.collection.internal_loader.load(:ec2)
120
+
121
+ all_facts = Facter.collection.to_hash
122
+
123
+ ec2_facts = all_facts.keys.select { |k| k =~ /^ec2_/ }
124
+ expect(ec2_facts).to be_empty
125
+ end
126
+
127
+ end
@@ -0,0 +1,108 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'spec_helper'
4
+
5
+ describe Facter do
6
+ it "caches the collection" do
7
+ Facter.collection.should equal(Facter.collection)
8
+ end
9
+
10
+ describe "methods on the collection" do
11
+ it "delegates the :flush method to the collection" do
12
+ Facter.collection.expects(:flush)
13
+ Facter.flush
14
+ end
15
+
16
+ it "delegates the :fact method to the collection" do
17
+ Facter.collection.expects(:fact).with("afact")
18
+ Facter.fact("afact")
19
+ end
20
+
21
+ it "delegates the :list method to the collection" do
22
+ Facter.collection.expects(:list)
23
+ Facter.list
24
+ end
25
+
26
+ it "loads all facts when listing" do
27
+ Facter.collection.expects(:load_all)
28
+ Facter.list
29
+ end
30
+
31
+ it "delegates the :to_hash method to the collection" do
32
+ Facter.collection.expects(:to_hash)
33
+ Facter.to_hash
34
+ end
35
+
36
+ it "loads all facts when calling :to_hash" do
37
+ Facter.collection.expects(:load_all)
38
+ Facter.collection.stubs(:to_hash)
39
+ Facter.to_hash
40
+ end
41
+
42
+ it "delegates the :value method to the collection" do
43
+ Facter.collection.expects(:value).with("myvaluefact")
44
+ Facter.value("myvaluefact")
45
+ end
46
+
47
+ it "delegates the :each method to the collection" do
48
+ Facter.collection.expects(:each)
49
+ Facter.each
50
+ end
51
+
52
+ it "delegates the :add method to the collection" do
53
+ Facter.collection.expects(:add).with("factname", {})
54
+ Facter.add("factname")
55
+ end
56
+
57
+ it "delegates the :define_fact method to the collection" do
58
+ Facter.collection.expects(:define_fact).with("factname", {})
59
+ Facter.define_fact("factname")
60
+ end
61
+
62
+ it "loads all facts when calling :each" do
63
+ Facter.collection.expects(:load_all)
64
+ Facter.collection.stubs(:each)
65
+ Facter.each
66
+ end
67
+ end
68
+
69
+ it "yields to the block when using :each" do
70
+ Facter.collection.stubs(:load_all)
71
+ Facter.collection.stubs(:each).yields "foo"
72
+ result = []
73
+ Facter.each { |f| result << f }
74
+ result.should == %w{foo}
75
+ end
76
+
77
+ describe "when registering directories to search" do
78
+ after { Facter.reset_search_path! }
79
+
80
+ it "allows registration of a directory" do
81
+ Facter.search "/my/dir"
82
+ end
83
+
84
+ it "allows registration of multiple directories" do
85
+ Facter.search "/my/dir", "/other/dir"
86
+ end
87
+
88
+ it "returns all registered directories when asked" do
89
+ Facter.search "/my/dir", "/other/dir"
90
+ Facter.search_path.should == %w{/my/dir /other/dir}
91
+ end
92
+ end
93
+
94
+ describe "when registering directories to search for external facts" do
95
+ it "allows registration of a directory" do
96
+ Facter.search_external ["/my/dir"]
97
+ end
98
+
99
+ it "allows registration of multiple directories" do
100
+ Facter.search_external ["/my/dir", "/other/dir"]
101
+ end
102
+
103
+ it "returns all registered directories when asked" do
104
+ Facter.search_external ["/my/dir", "/other/dir"]
105
+ Facter.search_external_path.should include("/my/dir", "/other/dir")
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,50 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'spec_helper'
4
+
5
+ describe 'Filesystem facts' do
6
+ describe 'on non-Linux OS' do
7
+ it 'should not exist' do
8
+ Facter.fact(:kernel).stubs(:value).returns('SunOS')
9
+ Facter.fact(:filesystems).value.should == nil
10
+ end
11
+ end
12
+
13
+ describe 'on Linux' do
14
+ before :each do
15
+ Facter.fact(:kernel).stubs(:value).returns('Linux')
16
+ fixture_data = my_fixture_read('linux')
17
+ Facter::Core::Execution.expects(:exec) \
18
+ .with('cat /proc/filesystems 2> /dev/null').returns(fixture_data)
19
+ Facter.collection.internal_loader.load(:filesystems)
20
+ end
21
+
22
+ after :each do
23
+ Facter.clear
24
+ end
25
+
26
+ it 'should exist' do
27
+ Facter.fact(:filesystems).value.should_not == nil
28
+ end
29
+
30
+ it 'should detect the correct number of filesystems' do
31
+ Facter.fact(:filesystems).value.split(',').length.should == 6
32
+ end
33
+
34
+ # Check that lines from /proc/filesystems that start with 'nodev' are
35
+ # skipped
36
+ it 'should not detect sysfs' do
37
+ Facter.fact(:filesystems).value.split(',').should_not include('sysfs')
38
+ end
39
+
40
+ # Check that all other lines are counted as valid filesystems
41
+ it 'should detect ext4' do
42
+ Facter.fact(:filesystems).value.split(',').should include('ext4')
43
+ end
44
+
45
+ # fuseblk is never included in the filesystem list
46
+ it 'should not detect fuseblk' do
47
+ Facter.fact(:filesystems).value.split(',').should_not include('fuseblk')
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,16 @@
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'spec_helper'
4
+
5
+ describe "fqdn fact" do
6
+ it "should concatenate hostname and domain" do
7
+ Facter.fact(:hostname).stubs(:value).returns("foo")
8
+ Facter.fact(:domain).stubs(:value).returns("bar")
9
+ Facter.fact(:fqdn).value.should == "foo.bar"
10
+ end
11
+ it "should return hostname when domain is nil" do
12
+ Facter.fact(:hostname).stubs(:value).returns("foo")
13
+ Facter.fact(:domain).stubs(:value).returns(nil)
14
+ Facter.fact(:fqdn).value.should == "foo"
15
+ end
16
+ end