facter 2.5.7-x64-mingw32 → 3.9.6.cfacter.20180412-x64-mingw32

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.
Files changed (506) hide show
  1. checksums.yaml +5 -5
  2. data/bin/facter.bat +8 -0
  3. data/bin/facter.exe +0 -0
  4. data/bin/facter_interactive.bat +6 -0
  5. data/bin/libfacter.so +0 -0
  6. data/bin/run_facter_interactive.bat +9 -0
  7. data/lib/facter.rb +45 -261
  8. data/lib/libfacter.so.a +0 -0
  9. metadata +23 -854
  10. data/COMMITTERS.md +0 -185
  11. data/CONTRIBUTING.md +0 -91
  12. data/Gemfile +0 -69
  13. data/LICENSE +0 -15
  14. data/README.md +0 -65
  15. data/Rakefile +0 -46
  16. data/bin/facter +0 -20
  17. data/etc/facter.conf +0 -5
  18. data/ext/build_defaults.yaml +0 -9
  19. data/ext/debian/changelog.erb +0 -59
  20. data/ext/debian/compat +0 -1
  21. data/ext/debian/control +0 -15
  22. data/ext/debian/copyright +0 -19
  23. data/ext/debian/docs +0 -1
  24. data/ext/debian/lintian-overrides +0 -0
  25. data/ext/debian/rules +0 -10
  26. data/ext/debian/source/format +0 -1
  27. data/ext/facter-diff +0 -74
  28. data/ext/ips/facter.p5m.erb +0 -10
  29. data/ext/ips/rules +0 -7
  30. data/ext/ips/transforms +0 -18
  31. data/ext/osx/file_mapping.yaml +0 -32
  32. data/ext/osx/preflight.erb +0 -33
  33. data/ext/osx/prototype.plist.erb +0 -38
  34. data/ext/project_data.yaml +0 -31
  35. data/ext/redhat/facter.spec.erb +0 -223
  36. data/ext/solaris/pkginfo +0 -7
  37. data/install.rb +0 -380
  38. data/lib/facter/Cfkey.rb +0 -42
  39. data/lib/facter/application.rb +0 -206
  40. data/lib/facter/architecture.rb +0 -50
  41. data/lib/facter/augeasversion.rb +0 -28
  42. data/lib/facter/blockdevices.rb +0 -105
  43. data/lib/facter/core/aggregate.rb +0 -220
  44. data/lib/facter/core/directed_graph.rb +0 -46
  45. data/lib/facter/core/execution.rb +0 -123
  46. data/lib/facter/core/execution/base.rb +0 -81
  47. data/lib/facter/core/execution/posix.rb +0 -50
  48. data/lib/facter/core/execution/windows.rb +0 -57
  49. data/lib/facter/core/logging.rb +0 -197
  50. data/lib/facter/core/resolvable.rb +0 -94
  51. data/lib/facter/core/suitable.rb +0 -113
  52. data/lib/facter/dhcp_servers.rb +0 -45
  53. data/lib/facter/domain.rb +0 -99
  54. data/lib/facter/ec2.rb +0 -68
  55. data/lib/facter/ec2/rest.rb +0 -137
  56. data/lib/facter/facterversion.rb +0 -15
  57. data/lib/facter/filesystems.rb +0 -45
  58. data/lib/facter/fqdn.rb +0 -24
  59. data/lib/facter/gce.rb +0 -16
  60. data/lib/facter/gce/metadata.rb +0 -87
  61. data/lib/facter/gid.rb +0 -25
  62. data/lib/facter/hardwareisa.rb +0 -20
  63. data/lib/facter/hardwaremodel.rb +0 -67
  64. data/lib/facter/hostname.rb +0 -31
  65. data/lib/facter/id.rb +0 -21
  66. data/lib/facter/interfaces.rb +0 -58
  67. data/lib/facter/ipaddress.rb +0 -169
  68. data/lib/facter/ipaddress6.rb +0 -82
  69. data/lib/facter/iphostnumber.rb +0 -29
  70. data/lib/facter/kernel.rb +0 -22
  71. data/lib/facter/kernelmajversion.rb +0 -23
  72. data/lib/facter/kernelrelease.rb +0 -45
  73. data/lib/facter/kernelversion.rb +0 -22
  74. data/lib/facter/ldom.rb +0 -51
  75. data/lib/facter/lsbdistcodename.rb +0 -20
  76. data/lib/facter/lsbdistdescription.rb +0 -21
  77. data/lib/facter/lsbdistid.rb +0 -20
  78. data/lib/facter/lsbdistrelease.rb +0 -20
  79. data/lib/facter/lsbmajdistrelease.rb +0 -22
  80. data/lib/facter/lsbminordistrelease.rb +0 -22
  81. data/lib/facter/lsbrelease.rb +0 -20
  82. data/lib/facter/macaddress.rb +0 -99
  83. data/lib/facter/macosx.rb +0 -56
  84. data/lib/facter/manufacturer.rb +0 -68
  85. data/lib/facter/memory.rb +0 -168
  86. data/lib/facter/netmask.rb +0 -43
  87. data/lib/facter/network.rb +0 -20
  88. data/lib/facter/operatingsystem.rb +0 -24
  89. data/lib/facter/operatingsystem/base.rb +0 -61
  90. data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  91. data/lib/facter/operatingsystem/implementation.rb +0 -33
  92. data/lib/facter/operatingsystem/linux.rb +0 -511
  93. data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  94. data/lib/facter/operatingsystem/sunos.rb +0 -54
  95. data/lib/facter/operatingsystem/vmkernel.rb +0 -11
  96. data/lib/facter/operatingsystem/windows.rb +0 -43
  97. data/lib/facter/operatingsystemmajrelease.rb +0 -31
  98. data/lib/facter/operatingsystemrelease.rb +0 -29
  99. data/lib/facter/os.rb +0 -98
  100. data/lib/facter/osfamily.rb +0 -18
  101. data/lib/facter/partitions.rb +0 -39
  102. data/lib/facter/path.rb +0 -14
  103. data/lib/facter/physicalprocessorcount.rb +0 -27
  104. data/lib/facter/processor.rb +0 -52
  105. data/lib/facter/processors.rb +0 -66
  106. data/lib/facter/processors/os.rb +0 -244
  107. data/lib/facter/ps.rb +0 -31
  108. data/lib/facter/puppetversion.rb +0 -20
  109. data/lib/facter/rackspace.rb +0 -37
  110. data/lib/facter/rubyplatform.rb +0 -12
  111. data/lib/facter/rubysitedir.rb +0 -15
  112. data/lib/facter/rubyversion.rb +0 -12
  113. data/lib/facter/selinux.rb +0 -154
  114. data/lib/facter/ssh.rb +0 -73
  115. data/lib/facter/system32.rb +0 -21
  116. data/lib/facter/system_uptime.rb +0 -44
  117. data/lib/facter/timezone.rb +0 -14
  118. data/lib/facter/uniqueid.rb +0 -4
  119. data/lib/facter/uptime.rb +0 -16
  120. data/lib/facter/uptime_days.rb +0 -13
  121. data/lib/facter/uptime_hours.rb +0 -13
  122. data/lib/facter/uptime_seconds.rb +0 -20
  123. data/lib/facter/util/architecture.rb +0 -19
  124. data/lib/facter/util/collection.rb +0 -161
  125. data/lib/facter/util/composite_loader.rb +0 -12
  126. data/lib/facter/util/config.rb +0 -88
  127. data/lib/facter/util/confine.rb +0 -66
  128. data/lib/facter/util/dhcp_servers.rb +0 -58
  129. data/lib/facter/util/directory_loader.rb +0 -88
  130. data/lib/facter/util/ec2.rb +0 -106
  131. data/lib/facter/util/fact.rb +0 -204
  132. data/lib/facter/util/file_read.rb +0 -37
  133. data/lib/facter/util/formatter.rb +0 -39
  134. data/lib/facter/util/ip.rb +0 -340
  135. data/lib/facter/util/ip/windows.rb +0 -215
  136. data/lib/facter/util/loader.rb +0 -155
  137. data/lib/facter/util/macaddress.rb +0 -43
  138. data/lib/facter/util/macosx.rb +0 -73
  139. data/lib/facter/util/manufacturer.rb +0 -99
  140. data/lib/facter/util/memory.rb +0 -228
  141. data/lib/facter/util/netmask.rb +0 -40
  142. data/lib/facter/util/normalization.rb +0 -94
  143. data/lib/facter/util/nothing_loader.rb +0 -12
  144. data/lib/facter/util/operatingsystem.rb +0 -21
  145. data/lib/facter/util/parser.rb +0 -168
  146. data/lib/facter/util/partitions.rb +0 -47
  147. data/lib/facter/util/partitions/linux.rb +0 -71
  148. data/lib/facter/util/partitions/openbsd.rb +0 -40
  149. data/lib/facter/util/plist.rb +0 -24
  150. data/lib/facter/util/plist/generator.rb +0 -228
  151. data/lib/facter/util/plist/parser.rb +0 -226
  152. data/lib/facter/util/posix.rb +0 -16
  153. data/lib/facter/util/processor.rb +0 -289
  154. data/lib/facter/util/registry.rb +0 -11
  155. data/lib/facter/util/resolution.rb +0 -160
  156. data/lib/facter/util/solaris_zones.rb +0 -158
  157. data/lib/facter/util/unix_root.rb +0 -5
  158. data/lib/facter/util/uptime.rb +0 -83
  159. data/lib/facter/util/values.rb +0 -109
  160. data/lib/facter/util/virtual.rb +0 -220
  161. data/lib/facter/util/vlans.rb +0 -21
  162. data/lib/facter/util/windows.rb +0 -10
  163. data/lib/facter/util/windows/api_types.rb +0 -135
  164. data/lib/facter/util/windows/dir.rb +0 -43
  165. data/lib/facter/util/windows/error.rb +0 -87
  166. data/lib/facter/util/windows/process.rb +0 -294
  167. data/lib/facter/util/windows/user.rb +0 -186
  168. data/lib/facter/util/windows_root.rb +0 -7
  169. data/lib/facter/util/wmi.rb +0 -49
  170. data/lib/facter/util/xendomains.rb +0 -28
  171. data/lib/facter/version.rb +0 -86
  172. data/lib/facter/virtual.rb +0 -339
  173. data/lib/facter/vlans.rb +0 -17
  174. data/lib/facter/xendomains.rb +0 -20
  175. data/lib/facter/zfs_version.rb +0 -14
  176. data/lib/facter/zonename.rb +0 -6
  177. data/lib/facter/zones.rb +0 -18
  178. data/lib/facter/zpool_version.rb +0 -10
  179. data/spec/fixtures/cpuinfo/amd64dual +0 -57
  180. data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
  181. data/spec/fixtures/cpuinfo/amd64quad +0 -79
  182. data/spec/fixtures/cpuinfo/amd64solo +0 -23
  183. data/spec/fixtures/cpuinfo/amd64tri +0 -86
  184. data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
  185. data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
  186. data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
  187. data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
  188. data/spec/fixtures/cpuinfo/panda-armel +0 -17
  189. data/spec/fixtures/cpuinfo/ppc64 +0 -19
  190. data/spec/fixtures/cpuinfo/ppc64le +0 -15
  191. data/spec/fixtures/cpuinfo/sparc +0 -10
  192. data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
  193. data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
  194. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
  195. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
  196. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
  197. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
  198. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
  199. data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
  200. data/spec/fixtures/hpux/sched.models +0 -174
  201. data/spec/fixtures/hpux/unistd.h +0 -1534
  202. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
  203. data/spec/fixtures/ifconfig/centos_5_5 +0 -17
  204. data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
  205. data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
  206. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
  207. data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
  208. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
  209. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
  210. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
  211. data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
  212. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
  213. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
  214. data/spec/fixtures/ifconfig/fedora_10 +0 -36
  215. data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
  216. data/spec/fixtures/ifconfig/fedora_13 +0 -18
  217. data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
  218. data/spec/fixtures/ifconfig/fedora_8 +0 -38
  219. data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
  220. data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
  221. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
  222. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
  223. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
  224. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
  225. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
  226. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
  227. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
  228. data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
  229. data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
  230. data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
  231. data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
  232. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
  233. data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
  234. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
  235. data/spec/fixtures/ldom/ldom_v1 +0 -6
  236. data/spec/fixtures/netstat/centos_5_5 +0 -5
  237. data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
  238. data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
  239. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
  240. data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
  241. data/spec/fixtures/netstat/fedora_10 +0 -7
  242. data/spec/fixtures/netstat/open_solaris_10 +0 -16
  243. data/spec/fixtures/netstat/open_solaris_b132 +0 -17
  244. data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
  245. data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
  246. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
  247. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
  248. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
  249. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
  250. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
  251. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
  252. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
  253. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
  254. data/spec/fixtures/unit/dhcp_servers/route +0 -3
  255. data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
  256. data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
  257. data/spec/fixtures/unit/filesystems/linux +0 -28
  258. data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
  259. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
  260. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
  261. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
  262. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
  263. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
  264. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
  265. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
  266. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
  267. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
  268. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
  269. data/spec/fixtures/unit/memory/aix-svmon +0 -9
  270. data/spec/fixtures/unit/memory/aix-swap_l +0 -2
  271. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
  272. data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
  273. data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
  274. data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
  275. data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
  276. data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
  277. data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
  278. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
  279. data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
  280. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
  281. data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
  282. data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
  283. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
  284. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
  285. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
  286. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
  287. data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
  288. data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
  289. data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
  290. data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
  291. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
  292. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
  293. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
  294. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
  295. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
  296. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
  297. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
  298. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
  299. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
  300. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
  301. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
  302. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
  303. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
  304. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
  305. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
  306. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
  307. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
  308. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
  309. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
  310. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
  311. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
  312. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
  313. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
  314. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
  315. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
  316. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
  317. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
  318. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
  319. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
  320. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
  321. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
  322. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
  323. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
  324. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
  325. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
  326. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
  327. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
  328. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
  329. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
  330. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
  331. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
  332. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
  333. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
  334. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
  335. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
  336. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
  337. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
  338. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
  339. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
  340. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
  341. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
  342. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
  343. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
  344. data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
  345. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
  346. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
  347. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
  348. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
  349. data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
  350. data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
  351. data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
  352. data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
  353. data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
  354. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
  355. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
  356. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
  357. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  358. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  359. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
  360. data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
  361. data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
  362. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  363. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
  364. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
  365. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
  366. data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
  367. data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
  368. data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
  369. data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
  370. data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
  371. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
  372. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
  373. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
  374. data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
  375. data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
  376. data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
  377. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
  378. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
  379. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
  380. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
  381. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
  382. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
  383. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
  384. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
  385. data/spec/integration/facter_spec.rb +0 -39
  386. data/spec/integration/util/windows/user_spec.rb +0 -59
  387. data/spec/lib/facter_spec/cpuinfo.rb +0 -15
  388. data/spec/lib/facter_spec/windows_network.rb +0 -64
  389. data/spec/puppetlabs_spec/files.rb +0 -57
  390. data/spec/puppetlabs_spec/fixtures.rb +0 -49
  391. data/spec/puppetlabs_spec/matchers.rb +0 -87
  392. data/spec/puppetlabs_spec/verbose.rb +0 -9
  393. data/spec/puppetlabs_spec_helper.rb +0 -26
  394. data/spec/schema/validate_facter_schema.rb +0 -18
  395. data/spec/shared_contexts/platform.rb +0 -55
  396. data/spec/shared_formats/parses.rb +0 -3
  397. data/spec/spec_helper.rb +0 -68
  398. data/spec/unit/application_spec.rb +0 -110
  399. data/spec/unit/architecture_spec.rb +0 -63
  400. data/spec/unit/blockdevices_spec.rb +0 -109
  401. data/spec/unit/core/aggregate_spec.rb +0 -125
  402. data/spec/unit/core/directed_graph_spec.rb +0 -79
  403. data/spec/unit/core/execution/base_spec.rb +0 -130
  404. data/spec/unit/core/execution/posix_spec.rb +0 -96
  405. data/spec/unit/core/execution/windows_spec.rb +0 -106
  406. data/spec/unit/core/execution_spec.rb +0 -42
  407. data/spec/unit/core/logging_spec.rb +0 -223
  408. data/spec/unit/core/resolvable_spec.rb +0 -81
  409. data/spec/unit/core/suitable_spec.rb +0 -106
  410. data/spec/unit/dhcp_servers_spec.rb +0 -212
  411. data/spec/unit/domain_spec.rb +0 -310
  412. data/spec/unit/ec2/rest_spec.rb +0 -168
  413. data/spec/unit/ec2_spec.rb +0 -139
  414. data/spec/unit/facter_spec.rb +0 -108
  415. data/spec/unit/filesystems_spec.rb +0 -50
  416. data/spec/unit/fqdn_spec.rb +0 -16
  417. data/spec/unit/gce/metadata_spec.rb +0 -49
  418. data/spec/unit/gce_spec.rb +0 -34
  419. data/spec/unit/gid_spec.rb +0 -51
  420. data/spec/unit/hardwareisa_spec.rb +0 -41
  421. data/spec/unit/hardwaremodel_spec.rb +0 -58
  422. data/spec/unit/hostname_spec.rb +0 -40
  423. data/spec/unit/id_spec.rb +0 -29
  424. data/spec/unit/interfaces_spec.rb +0 -67
  425. data/spec/unit/ipaddress6_spec.rb +0 -180
  426. data/spec/unit/ipaddress_spec.rb +0 -114
  427. data/spec/unit/kernel_spec.rb +0 -24
  428. data/spec/unit/kernelmajversion_spec.rb +0 -22
  429. data/spec/unit/kernelrelease_spec.rb +0 -66
  430. data/spec/unit/kernelversion_spec.rb +0 -32
  431. data/spec/unit/ldom_spec.rb +0 -84
  432. data/spec/unit/lsbdistcodename_spec.rb +0 -30
  433. data/spec/unit/lsbdistdescription_spec.rb +0 -30
  434. data/spec/unit/lsbdistid_spec.rb +0 -30
  435. data/spec/unit/lsbdistrelease_spec.rb +0 -30
  436. data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
  437. data/spec/unit/lsbminordistrelease_spec.rb +0 -31
  438. data/spec/unit/lsbrelease_spec.rb +0 -30
  439. data/spec/unit/macaddress_spec.rb +0 -76
  440. data/spec/unit/manufacturer_spec.rb +0 -115
  441. data/spec/unit/memory_spec.rb +0 -470
  442. data/spec/unit/netmask_spec.rb +0 -106
  443. data/spec/unit/operatingsystem/base_spec.rb +0 -76
  444. data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
  445. data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
  446. data/spec/unit/operatingsystem/linux_spec.rb +0 -559
  447. data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
  448. data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
  449. data/spec/unit/operatingsystem/windows_spec.rb +0 -77
  450. data/spec/unit/operatingsystem_spec.rb +0 -17
  451. data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
  452. data/spec/unit/operatingsystemrelease_spec.rb +0 -20
  453. data/spec/unit/os_spec.rb +0 -131
  454. data/spec/unit/osfamily_spec.rb +0 -17
  455. data/spec/unit/partitions_spec.rb +0 -88
  456. data/spec/unit/physicalprocessorcount_spec.rb +0 -13
  457. data/spec/unit/processor_spec.rb +0 -38
  458. data/spec/unit/processors/os_spec.rb +0 -469
  459. data/spec/unit/processors_spec.rb +0 -203
  460. data/spec/unit/ps_spec.rb +0 -42
  461. data/spec/unit/rackspace_spec.rb +0 -40
  462. data/spec/unit/rubyplatform_spec.rb +0 -7
  463. data/spec/unit/selinux_spec.rb +0 -119
  464. data/spec/unit/ssh_spec.rb +0 -77
  465. data/spec/unit/system32_spec.rb +0 -28
  466. data/spec/unit/system_uptime_spec.rb +0 -80
  467. data/spec/unit/uniqueid_spec.rb +0 -27
  468. data/spec/unit/uptime_spec.rb +0 -110
  469. data/spec/unit/util/collection_spec.rb +0 -258
  470. data/spec/unit/util/config_spec.rb +0 -120
  471. data/spec/unit/util/confine_spec.rb +0 -148
  472. data/spec/unit/util/dhcp_servers_spec.rb +0 -63
  473. data/spec/unit/util/directory_loader_spec.rb +0 -102
  474. data/spec/unit/util/ec2_spec.rb +0 -184
  475. data/spec/unit/util/fact_spec.rb +0 -142
  476. data/spec/unit/util/file_read_spec.rb +0 -29
  477. data/spec/unit/util/formatter_spec.rb +0 -55
  478. data/spec/unit/util/ip/windows_spec.rb +0 -80
  479. data/spec/unit/util/ip_spec.rb +0 -487
  480. data/spec/unit/util/loader_spec.rb +0 -286
  481. data/spec/unit/util/macaddress_spec.rb +0 -143
  482. data/spec/unit/util/macosx_spec.rb +0 -114
  483. data/spec/unit/util/manufacturer_spec.rb +0 -223
  484. data/spec/unit/util/normalization_spec.rb +0 -113
  485. data/spec/unit/util/operatingsystem_spec.rb +0 -107
  486. data/spec/unit/util/parser_spec.rb +0 -233
  487. data/spec/unit/util/partitions/partitions_spec.rb +0 -67
  488. data/spec/unit/util/partitions_spec.rb +0 -19
  489. data/spec/unit/util/posix_spec.rb +0 -11
  490. data/spec/unit/util/processor_spec.rb +0 -212
  491. data/spec/unit/util/registry_spec.rb +0 -76
  492. data/spec/unit/util/resolution_spec.rb +0 -129
  493. data/spec/unit/util/solaris_zones_spec.rb +0 -127
  494. data/spec/unit/util/uptime_spec.rb +0 -131
  495. data/spec/unit/util/values_spec.rb +0 -171
  496. data/spec/unit/util/virtual_spec.rb +0 -393
  497. data/spec/unit/util/vlans_spec.rb +0 -42
  498. data/spec/unit/util/wmi_spec.rb +0 -19
  499. data/spec/unit/util/xendomains_spec.rb +0 -114
  500. data/spec/unit/version_spec.rb +0 -42
  501. data/spec/unit/virtual_spec.rb +0 -585
  502. data/spec/unit/zfs_version_spec.rb +0 -87
  503. data/spec/unit/zonename_spec.rb +0 -14
  504. data/spec/unit/zones_spec.rb +0 -55
  505. data/spec/unit/zpool_version_spec.rb +0 -80
  506. data/spec/watchr.rb +0 -125
@@ -1,286 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/loader'
5
-
6
- describe Facter::Util::Loader do
7
- before :each do
8
- Facter::Util::Loader.any_instance.unstub(:load_all)
9
- end
10
-
11
- def loader_from(places)
12
- env = places[:env] || {}
13
- search_path = places[:search_path] || []
14
- loader = Facter::Util::Loader.new(env)
15
- loader.stubs(:search_path).returns search_path
16
- loader
17
- end
18
-
19
- it "should have a method for loading individual facts by name" do
20
- Facter::Util::Loader.new.should respond_to(:load)
21
- end
22
-
23
- it "should have a method for loading all facts" do
24
- Facter::Util::Loader.new.should respond_to(:load_all)
25
- end
26
-
27
- it "should have a method for returning directories containing facts" do
28
- Facter::Util::Loader.new.should respond_to(:search_path)
29
- end
30
-
31
- describe "#valid_seach_path?" do
32
- let(:loader) { Facter::Util::Loader.new }
33
-
34
- # Used to have test for " " as a directory since that should
35
- # be a relative directory, but on Windows in both 1.8.7 and
36
- # 1.9.3 it is an absolute directory (WTF Windows). Considering
37
- # we didn't have a valid use case for a " " directory, the
38
- # test was removed.
39
-
40
- [
41
- '.',
42
- '..',
43
- '...',
44
- '.foo',
45
- '../foo',
46
- 'foo',
47
- 'foo/bar',
48
- 'foo/../bar',
49
- ' /',
50
- ' \/',
51
- ].each do |dir|
52
- it "should be false for relative path #{dir}" do
53
- loader.should_not be_valid_search_path dir
54
- end
55
- end
56
- [
57
- '/.',
58
- '/..',
59
- '/...',
60
- '/.foo',
61
- '/../foo',
62
- '/foo',
63
- '/foo/bar',
64
- '/foo/../bar',
65
- '/ ',
66
- '/ /..',
67
- ].each do |dir|
68
- it "should be true for absolute path #{dir}" do
69
- loader.should be_valid_search_path dir
70
- end
71
- end
72
- end
73
-
74
- describe "when determining the search path" do
75
- let(:loader) { Facter::Util::Loader.new }
76
-
77
- it "should include the facter subdirectory of all paths in ruby LOAD_PATH" do
78
- dirs = $LOAD_PATH.collect { |d| File.expand_path('facter', d) }
79
- loader.stubs(:valid_search_path?).returns(true)
80
- File.stubs(:directory?).returns true
81
-
82
- paths = loader.search_path
83
-
84
- dirs.each do |dir|
85
- paths.should be_include(dir)
86
- end
87
- end
88
-
89
- it "should exclude invalid search paths" do
90
- dirs = $LOAD_PATH.collect { |d| File.join(d, "facter") }
91
- loader.stubs(:valid_search_path?).returns(false)
92
- paths = loader.search_path
93
- dirs.each do |dir|
94
- paths.should_not be_include(dir)
95
- end
96
- end
97
-
98
- it "should include all search paths registered with Facter" do
99
- Facter.expects(:search_path).returns %w{/one /two}
100
- loader.stubs(:valid_search_path?).returns true
101
-
102
- File.stubs(:directory?).returns false
103
- File.stubs(:directory?).with('/one').returns true
104
- File.stubs(:directory?).with('/two').returns true
105
-
106
- paths = loader.search_path
107
- paths.should be_include("/one")
108
- paths.should be_include("/two")
109
- end
110
-
111
- it "should warn on invalid search paths registered with Facter" do
112
- Facter.expects(:search_path).returns %w{/one two/three}
113
- loader.stubs(:valid_search_path?).returns false
114
- loader.stubs(:valid_search_path?).with('/one').returns true
115
- loader.stubs(:valid_search_path?).with('two/three').returns false
116
- Facter.expects(:warn).with('Excluding two/three from search path. Fact file paths must be an absolute directory').once
117
-
118
- File.stubs(:directory?).returns false
119
- File.stubs(:directory?).with('/one').returns true
120
-
121
- paths = loader.search_path
122
- paths.should be_include("/one")
123
- paths.should_not be_include("two/three")
124
- end
125
-
126
- it "should strip paths that are valid paths but not are not present" do
127
- Facter.expects(:search_path).returns %w{/one /two}
128
- loader.stubs(:valid_search_path?).returns false
129
- loader.stubs(:valid_search_path?).with('/one').returns true
130
- loader.stubs(:valid_search_path?).with('/two').returns true
131
-
132
- File.stubs(:directory?).returns false
133
- File.stubs(:directory?).with('/one').returns true
134
- File.stubs(:directory?).with('/two').returns false
135
-
136
- paths = loader.search_path
137
- paths.should be_include("/one")
138
- paths.should_not be_include('/two')
139
- end
140
-
141
- describe "and the FACTERLIB environment variable is set" do
142
- it "should include all paths in FACTERLIB" do
143
- loader = Facter::Util::Loader.new("FACTERLIB" => "/one/path#{File::PATH_SEPARATOR}/two/path")
144
-
145
- File.stubs(:directory?).returns false
146
- File.stubs(:directory?).with('/one/path').returns true
147
- File.stubs(:directory?).with('/two/path').returns true
148
-
149
- loader.stubs(:valid_search_path?).returns true
150
- paths = loader.search_path
151
- %w{/one/path /two/path}.each do |dir|
152
- paths.should be_include(dir)
153
- end
154
- end
155
- end
156
- end
157
-
158
- describe "when loading facts" do
159
- it "should load values from the matching environment variable if one is present" do
160
- loader = loader_from(:env => { "facter_testing" => "yayness" })
161
-
162
- Facter.expects(:add).with("testing")
163
-
164
- loader.load(:testing)
165
- end
166
-
167
- it "should load any files in the search path with names matching the fact name" do
168
- loader = loader_from(:search_path => %w{/one/dir /two/dir})
169
-
170
- loader.expects(:search_path).returns %w{/one/dir /two/dir}
171
- File.stubs(:file?).returns false
172
- File.expects(:file?).with("/one/dir/testing.rb").returns true
173
-
174
- Kernel.expects(:load).with("/one/dir/testing.rb")
175
-
176
- loader.load(:testing)
177
- end
178
-
179
- it 'should not load any ruby files from subdirectories matching the fact name in the search path' do
180
- loader = Facter::Util::Loader.new
181
- File.stubs(:file?).returns false
182
- File.expects(:file?).with("/one/dir/testing.rb").returns true
183
- Kernel.expects(:load).with("/one/dir/testing.rb")
184
-
185
- File.stubs(:directory?).with("/one/dir/testing").returns true
186
- loader.stubs(:search_path).returns %w{/one/dir}
187
-
188
- Dir.stubs(:entries).with("/one/dir/testing").returns %w{foo.rb bar.rb}
189
- %w{/one/dir/testing/foo.rb /one/dir/testing/bar.rb}.each do |f|
190
- File.stubs(:directory?).with(f).returns false
191
- Kernel.stubs(:load).with(f)
192
- end
193
-
194
- loader.load(:testing)
195
- end
196
-
197
- it "should not load files that don't end in '.rb'" do
198
- loader = Facter::Util::Loader.new
199
- loader.expects(:search_path).returns %w{/one/dir}
200
- File.stubs(:file?).returns false
201
- File.expects(:file?).with("/one/dir/testing.rb").returns false
202
- File.expects(:exist?).with("/one/dir/testing").never
203
- Kernel.expects(:load).never
204
-
205
- loader.load(:testing)
206
- end
207
- end
208
-
209
- describe "when loading all facts" do
210
- let(:loader) { Facter::Util::Loader.new }
211
-
212
- before :each do
213
- loader.stubs(:search_path).returns []
214
-
215
- File.stubs(:directory?).returns true
216
- end
217
-
218
- it "should load all files in all search paths" do
219
- loader = loader_from(:search_path => %w{/one/dir /two/dir})
220
-
221
- Dir.expects(:glob).with('/one/dir/*.rb').returns %w{/one/dir/a.rb /one/dir/b.rb}
222
- Dir.expects(:glob).with('/two/dir/*.rb').returns %w{/two/dir/c.rb /two/dir/d.rb}
223
-
224
- %w{/one/dir/a.rb /one/dir/b.rb /two/dir/c.rb /two/dir/d.rb}.each do |f|
225
- File.expects(:file?).with(f).returns true
226
- Kernel.expects(:load).with(f)
227
- end
228
-
229
- loader.load_all
230
- end
231
-
232
- it "should not try to load subdirectories of search paths" do
233
- loader.expects(:search_path).returns %w{/one/dir /two/dir}
234
-
235
- # a.rb is a directory
236
- Dir.expects(:glob).with('/one/dir/*.rb').returns %w{/one/dir/a.rb /one/dir/b.rb}
237
- File.expects(:file?).with('/one/dir/a.rb').returns false
238
- File.expects(:file?).with('/one/dir/b.rb').returns true
239
- Kernel.expects(:load).with('/one/dir/b.rb')
240
-
241
- # c.rb is a directory
242
- Dir.expects(:glob).with('/two/dir/*.rb').returns %w{/two/dir/c.rb /two/dir/d.rb}
243
- File.expects(:file?).with('/two/dir/c.rb').returns false
244
- File.expects(:file?).with('/two/dir/d.rb').returns true
245
- Kernel.expects(:load).with('/two/dir/d.rb')
246
-
247
- loader.load_all
248
- end
249
-
250
- it "should not raise an exception when a file is unloadable" do
251
- loader.expects(:search_path).returns %w{/one/dir}
252
-
253
- Dir.expects(:glob).with('/one/dir/*.rb').returns %w{/one/dir/a.rb}
254
- File.expects(:file?).with('/one/dir/a.rb').returns true
255
-
256
- Kernel.expects(:load).with("/one/dir/a.rb").raises(LoadError)
257
- Facter.expects(:warn)
258
-
259
- expect { loader.load_all }.to_not raise_error
260
- end
261
-
262
- it "should load all facts from the environment" do
263
- Facter::Util::Resolution.with_env "facter_one" => "yayness", "facter_two" => "boo" do
264
- loader.load_all
265
- end
266
- Facter.value(:one).should == 'yayness'
267
- Facter.value(:two).should == 'boo'
268
- end
269
-
270
- it "should only load all facts one time" do
271
- loader = loader_from(:env => {})
272
- loader.expects(:load_env).once
273
-
274
- loader.load_all
275
- loader.load_all
276
- end
277
- end
278
-
279
- it "should load facts on the facter search path only once" do
280
- loader = loader_from(:env => {})
281
- loader.load_all
282
-
283
- loader.expects(:kernel_load).with(regexp_matches(/ec2/)).never
284
- loader.load(:ec2)
285
- end
286
- end
@@ -1,143 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/macaddress'
5
-
6
- describe "standardized MAC address" do
7
- it "should have zeroes added if missing" do
8
- Facter::Util::Macaddress::standardize("0:ab:cd:e:12:3").should == "00:ab:cd:0e:12:03"
9
- end
10
-
11
- it "should be identical if each octet already has two digits" do
12
- Facter::Util::Macaddress::standardize("00:ab:cd:0e:12:03").should == "00:ab:cd:0e:12:03"
13
- end
14
-
15
- it "should be nil if input is nil" do
16
- proc { result = Facter::Util::Macaddress.standardize(nil) }.should_not raise_error
17
- Facter::Util::Macaddress.standardize(nil).should be_nil
18
- end
19
- end
20
-
21
- describe "Darwin", :unless => Facter::Util::Config.is_windows? do
22
- test_cases = [
23
- # version, iface, real macaddress, fallback macaddress
24
- ["9.8.0", 'en0', "00:17:f2:06:e4:2e", "00:17:f2:06:e4:2e"],
25
- ["10.3.0", 'en0', "00:17:f2:06:e3:c2", "00:17:f2:06:e3:c2"],
26
- ["10.6.4", 'en1', "58:b0:35:7f:25:b3", "58:b0:35:fa:08:b1"],
27
- ["10.6.6_dualstack", "en1", "00:25:00:48:19:ef", "00:25:4b:ca:56:72"]
28
- ]
29
-
30
- test_cases.each do |version, default_iface, macaddress, fallback_macaddress|
31
- netstat_file = fixtures("netstat", "darwin_#{version.tr('.', '_')}")
32
- ifconfig_file_no_iface = fixtures("ifconfig", "darwin_#{version.tr('.', '_')}")
33
- ifconfig_file = "#{ifconfig_file_no_iface}_#{default_iface}"
34
-
35
- describe "version #{version}" do
36
- describe Facter::Util::Macaddress::Darwin do
37
- describe ".default_interface" do
38
- describe "when netstat has a default interface" do
39
- before do
40
- Facter::Util::Macaddress::Darwin.stubs(:netstat_command).returns("cat \"#{netstat_file}\"")
41
- end
42
-
43
- it "should return the default interface name" do
44
- Facter::Util::Macaddress::Darwin.default_interface.should == default_iface
45
- end
46
- end
47
- end
48
-
49
- describe ".macaddress" do
50
- describe "when netstat has a default interface" do
51
- before do
52
- Facter.stubs(:warn)
53
- Facter::Util::Macaddress::Darwin.stubs(:default_interface).returns('')
54
- Facter::Util::Macaddress::Darwin.stubs(:ifconfig_command).returns("cat \"#{ifconfig_file}\"")
55
- end
56
-
57
- it "should return the macaddress of the default interface" do
58
- Facter::Util::Macaddress::Darwin.macaddress.should == macaddress
59
- end
60
- end
61
-
62
- describe "when netstat does not have a default interface" do
63
- before do
64
- Facter::Util::Macaddress::Darwin.stubs(:default_interface).returns("")
65
- Facter::Util::Macaddress::Darwin.stubs(:ifconfig_command).returns("cat \"#{ifconfig_file_no_iface}\"")
66
- end
67
-
68
- it "should warn about the lack of default" do
69
- Facter.expects(:warn).with("Could not find a default route. Using first non-loopback interface")
70
- Facter::Util::Macaddress::Darwin.macaddress
71
- end
72
-
73
- it "should return the macaddress of the first non-loopback interface" do
74
- Facter.expects(:warn).with("Could not find a default route. Using first non-loopback interface")
75
- Facter::Util::Macaddress::Darwin.macaddress.should == fallback_macaddress
76
- end
77
- end
78
- end
79
- end
80
- end
81
- end
82
- end
83
-
84
- describe "The macaddress fact" do
85
- context "on Windows" do
86
- require 'facter/util/wmi'
87
- require 'facter/util/registry'
88
- require 'facter_spec/windows_network'
89
-
90
- include FacterSpec::WindowsNetwork
91
-
92
- before :each do
93
- Facter.fact(:kernel).stubs(:value).returns('windows')
94
- Facter.fact(:operatingsystem).stubs(:value).returns('windows')
95
- Facter.fact(:osfamily).stubs(:value).returns('windows')
96
- Facter::Util::Registry.stubs(:hklm_read).returns(nic_bindings)
97
- end
98
-
99
- describe "when you have no active network adapter" do
100
- it "should return nil if there are no active (or any) network adapters" do
101
- Facter::Util::WMI.expects(:execquery).returns([])
102
-
103
- Facter.value(:macaddress).should == nil
104
- end
105
- end
106
-
107
- describe "when you have one network adapter" do
108
- it "should return properly" do
109
- nic = given_a_valid_windows_nic_with_ipv4_and_ipv6
110
- Facter::Util::WMI.expects(:execquery).returns([nic])
111
-
112
- Facter.value(:macaddress).should == macAddress0
113
- end
114
- end
115
-
116
- describe "when you have more than one network adapter" do
117
- it "should return the macaddress of the adapter with the lowest IP connection metric (best connection)" do
118
- nics = given_two_valid_windows_nics_with_ipv4_and_ipv6
119
- nics[:nic1].expects(:IPConnectionMetric).returns(5)
120
- Facter::Util::WMI.expects(:execquery).returns(nics.values)
121
-
122
- Facter.value(:macaddress).should == macAddress1
123
- end
124
-
125
- context "when the IP connection metric is the same" do
126
- it "should return the macaddress of the adapter with the lowest binding order" do
127
- nics = given_two_valid_windows_nics_with_ipv4_and_ipv6
128
- Facter::Util::WMI.expects(:execquery).returns(nics.values)
129
-
130
- Facter.value(:macaddress).should == macAddress0
131
- end
132
-
133
- it "should return the macaddress of the adapter with the lowest MACAddress when multiple adapters have the same IP connection metric when the lowest MACAddress is not first" do
134
- nics = given_two_valid_windows_nics_with_ipv4_and_ipv6
135
- Facter::Util::WMI.expects(:execquery).returns(nics.values)
136
- Facter::Util::Registry.stubs(:hklm_read).returns(["\\Device\\#{settingId1}", "\\Device\\#{settingId0}" ])
137
-
138
- Facter.value(:macaddress).should == macAddress1
139
- end
140
- end
141
- end
142
- end
143
- end
@@ -1,114 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/config'
5
- require 'facter/util/macosx' unless Facter::Util::Config.is_windows?
6
-
7
- describe "Facter::Util::Macosx", :unless => Facter::Util::Config.is_windows? do
8
- let(:badplist) do
9
- '<?xml version="1.0" encoding="UTF-8"?>
10
- <!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
11
- <plist version="1.0">
12
- <dict>
13
- <key>test</key>
14
- <string>file</string>
15
- </dict>
16
- </plist>'
17
- end
18
-
19
- let(:goodplist) do
20
- '<?xml version="1.0" encoding="UTF-8"?>
21
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
22
- <plist version="1.0">
23
- <dict>
24
- <key>test</key>
25
- <string>file</string>
26
- </dict>
27
- </plist>'
28
- end
29
-
30
- it "should be able to retrieve profiler data as xml for a given data field" do
31
- Facter::Core::Execution.expects(:exec).with("/usr/sbin/system_profiler -xml foo 2>/dev/null").returns "yay"
32
- Facter::Util::Macosx.profiler_xml("foo").should == "yay"
33
- end
34
-
35
- it 'should correct a bad XML doctype string' do
36
- Facter.expects(:debug).with('Had to fix plist with incorrect DOCTYPE declaration')
37
- Facter::Util::Macosx.intern_xml(badplist)
38
- end
39
-
40
- it 'should return a hash given XML data' do
41
- test_hash = { 'test' => 'file' }
42
- Facter::Util::Macosx.intern_xml(goodplist).should == test_hash
43
- end
44
-
45
- it 'should fail when trying to read invalid XML' do
46
- STDERR.stubs(:<<)
47
- expect {
48
- Facter::Util::Macosx.intern_xml('<bad}|%-->xml<--->')
49
- }.to raise_error(RuntimeError, /A plist file could not be properly read by CFPropertyList/)
50
- end
51
-
52
- describe "when collecting profiler data" do
53
- it "should return the first value in the '_items' hash in the first value of the results of the system_profiler data, with the '_name' field removed, if the profiler returns data" do
54
- @result = [
55
- '_items' => [
56
- {'_name' => "foo", "yay" => "bar"}
57
- ]
58
- ]
59
- Facter::Util::Macosx.expects(:profiler_xml).with("foo").returns "eh"
60
- Facter::Util::Macosx.expects(:intern_xml).with("eh").returns @result
61
- Facter::Util::Macosx.profiler_data("foo").should == {"yay" => "bar"}
62
- end
63
-
64
- it "should return nil if an exception is thrown during parsing of xml" do
65
- Facter::Util::Macosx.expects(:profiler_xml).with("foo").returns "eh"
66
- Facter::Util::Macosx.expects(:intern_xml).with("eh").raises "boo!"
67
- Facter::Util::Macosx.profiler_data("foo").should be_nil
68
- end
69
- end
70
-
71
- it "should return the profiler data for 'SPHardwareDataType' as the hardware information" do
72
- Facter::Util::Macosx.expects(:profiler_data).with("SPHardwareDataType").returns "eh"
73
- Facter::Util::Macosx.hardware_overview.should == "eh"
74
- end
75
-
76
- it "should return the profiler data for 'SPSoftwareDataType' as the os information" do
77
- Facter::Util::Macosx.expects(:profiler_data).with("SPSoftwareDataType").returns "eh"
78
- Facter::Util::Macosx.os_overview.should == "eh"
79
- end
80
-
81
- describe "when working out software version" do
82
-
83
- before do
84
- Facter::Core::Execution.expects(:exec).with("/usr/bin/sw_vers -productName").returns "Mac OS X"
85
- Facter::Core::Execution.expects(:exec).with("/usr/bin/sw_vers -buildVersion").returns "9J62"
86
- end
87
-
88
- it "should have called sw_vers three times when determining software version" do
89
- Facter::Core::Execution.expects(:exec).with("/usr/bin/sw_vers -productVersion").returns "10.5.7"
90
- Facter::Util::Macosx.sw_vers
91
- end
92
-
93
- it "should return a hash with the correct keys when determining software version" do
94
- Facter::Core::Execution.expects(:exec).with("/usr/bin/sw_vers -productVersion").returns "10.5.7"
95
- Facter::Util::Macosx.sw_vers.keys.sort.should == ["macosx_productName",
96
- "macosx_buildVersion",
97
- "macosx_productversion_minor",
98
- "macosx_productversion_major",
99
- "macosx_productVersion"].sort
100
- end
101
-
102
- it "should split a product version of 'x.y.z' into separate hash entries correctly" do
103
- Facter::Core::Execution.expects(:exec).with("/usr/bin/sw_vers -productVersion").returns "1.2.3"
104
- sw_vers = Facter::Util::Macosx.sw_vers
105
- sw_vers["macosx_productversion_major"].should == "1.2"
106
- sw_vers["macosx_productversion_minor"].should == "3"
107
- end
108
-
109
- it "should treat a product version of 'x.y' as 'x.y.0" do
110
- Facter::Core::Execution.expects(:exec).with("/usr/bin/sw_vers -productVersion").returns "2.3"
111
- Facter::Util::Macosx.sw_vers["macosx_productversion_minor"].should == "0"
112
- end
113
- end
114
- end