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,142 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/fact'
5
-
6
- describe Facter::Util::Fact do
7
-
8
- subject(:fact) { Facter::Util::Fact.new("yay") }
9
-
10
- let(:resolution) { Facter::Util::Resolution.new("yay", fact) }
11
-
12
- it "requires a name" do
13
- expect { Facter::Util::Fact.new }.to raise_error(ArgumentError)
14
- end
15
-
16
- it "downcases and converts the name to a symbol" do
17
- expect(Facter::Util::Fact.new("YayNess").name).to eq :yayness
18
- end
19
-
20
- it "issues a deprecation warning for use of ldapname" do
21
- Facter.expects(:warnonce).with("ldapname is deprecated and will be removed in a future version")
22
- Facter::Util::Fact.new("YayNess", :ldapname => "fooness")
23
- end
24
-
25
- describe "when adding resolution mechanisms using #add" do
26
- it "delegates to #define_resolution with an anonymous resolution" do
27
- subject.expects(:define_resolution).with(nil, {})
28
- subject.add
29
- end
30
- end
31
-
32
- describe "looking up resolutions by name" do
33
- subject(:fact) { described_class.new('yay') }
34
-
35
- it "returns nil if no such resolution exists" do
36
- expect(fact.resolution('nope')).to be_nil
37
- end
38
-
39
- it "never returns anonymous resolutions" do
40
- fact.add() { setcode { 'anonymous' } }
41
-
42
- expect(fact.resolution(nil)).to be_nil
43
- end
44
- end
45
-
46
- describe "adding resolution mechanisms by name" do
47
-
48
- let(:res) do
49
- stub 'resolution',
50
- :name => 'named',
51
- :set_options => nil,
52
- :resolution_type => :simple
53
- end
54
-
55
- it "creates a new resolution if no such resolution exists" do
56
- Facter::Util::Resolution.expects(:new).once.with('named', fact).returns(res)
57
-
58
- fact.define_resolution('named')
59
-
60
- expect(fact.resolution('named')).to eq res
61
- end
62
-
63
- it "creates a simple resolution when the type is nil" do
64
- fact.define_resolution('named')
65
- expect(fact.resolution('named')).to be_a_kind_of Facter::Util::Resolution
66
- end
67
-
68
- it "creates a simple resolution when the type is :simple" do
69
- fact.define_resolution('named', :type => :simple)
70
- expect(fact.resolution('named')).to be_a_kind_of Facter::Util::Resolution
71
- end
72
-
73
- it "creates an aggregate resolution when the type is :aggregate" do
74
- fact.define_resolution('named', :type => :aggregate)
75
- expect(fact.resolution('named')).to be_a_kind_of Facter::Core::Aggregate
76
- end
77
-
78
- it "raises an error if there is an existing resolution with a different type" do
79
- pending "We need to stop rescuing all errors when instantiating resolutions"
80
- fact.define_resolution('named')
81
- expect {
82
- fact.define_resolution('named', :type => :aggregate)
83
- }.to raise_error(ArgumentError, /Cannot return resolution.*already defined as simple/)
84
- end
85
-
86
- it "returns existing resolutions by name" do
87
- Facter::Util::Resolution.expects(:new).once.with('named', fact).returns(res)
88
-
89
- fact.define_resolution('named')
90
- fact.define_resolution('named')
91
-
92
- expect(fact.resolution('named')).to eq res
93
- end
94
- end
95
-
96
- describe "when returning a value" do
97
- it "returns nil if there are no resolutions" do
98
- Facter::Util::Fact.new("yay").value.should be_nil
99
- end
100
-
101
- it "prefers the highest weight resolution" do
102
- fact.add { has_weight 1; setcode { "1" } }
103
- fact.add { has_weight 2; setcode { "2" } }
104
- fact.add { has_weight 0; setcode { "0" } }
105
- expect(fact.value).to eq "2"
106
- end
107
-
108
- it "returns the first value returned by a resolution" do
109
- fact.add { has_weight 1; setcode { "1" } }
110
- fact.add { has_weight 2; setcode { nil } }
111
- fact.add { has_weight 0; setcode { "0" } }
112
- expect(fact.value).to eq "1"
113
- end
114
-
115
- it "skips unsuitable resolutions" do
116
- fact.add { has_weight 1; setcode { "1" } }
117
- fact.add do
118
- def suitable?; false; end
119
- has_weight 2
120
- setcode { 2 }
121
- end
122
-
123
- expect(fact.value).to eq "1"
124
- end
125
- end
126
-
127
- describe '#flush' do
128
- subject do
129
- Facter::Util::Fact.new(:foo)
130
- end
131
-
132
- it "invokes #flush on all resolutions" do
133
- simple = subject.add(:type => :simple)
134
- simple.expects(:flush)
135
-
136
- aggregate = subject.add(:type => :aggregate)
137
- aggregate.expects(:flush)
138
-
139
- subject.flush
140
- end
141
- end
142
- end
@@ -1,29 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'facter/util/file_read'
4
- require 'spec_helper'
5
-
6
- describe Facter::Util::FileRead do
7
- let(:issue) { "Ubuntu 10.04.4 LTS \\n \\l\n\n" }
8
-
9
- it "reads a file" do
10
- File.expects(:read).with("/etc/issue").returns(issue)
11
- Facter::Util::FileRead.read("/etc/issue").should == issue
12
- end
13
-
14
- it "returns nil if the file cannot be accessed" do
15
- File.stubs(:read).with("/etc/issue").raises(Errno::EACCES.new("/etc/issue"))
16
- Facter::Util::FileRead.read("/etc/issue").should be_nil
17
- end
18
-
19
- it "returns nil if the file does not exist" do
20
- File.stubs(:read).with("/etc/issue").raises(Errno::ENOENT.new("/etc/issue"))
21
- Facter::Util::FileRead.read("/etc/issue").should be_nil
22
- end
23
-
24
- it "logs a message when handing exceptions" do
25
- File.stubs(:read).with("/etc/issue").raises(Errno::EACCES.new("/etc/issue"))
26
- Facter.expects(:debug).with("Could not read /etc/issue: Permission denied - /etc/issue")
27
- Facter::Util::FileRead.read("/etc/issue")
28
- end
29
- end
@@ -1,55 +0,0 @@
1
- require 'spec_helper'
2
- require 'facter/util/formatter'
3
-
4
- describe Facter::Util::Formatter do
5
- describe "formatting as json" do
6
- it "formats the text as json when json is available", :if => Facter.json? do
7
- JSON.expects(:pretty_generate).with({"hello" => "world"}).returns(%Q({"hello": "world"}))
8
- expect(described_class.format_json({"hello" => "world"})).to eq %Q({"hello": "world"})
9
- end
10
-
11
- it "raises an error when JSON is not available" do
12
- Facter.stubs(:json?).returns false
13
- expect {
14
- described_class.format_json({"hello" => "world"})
15
- }.to raise_error(/'json' library is not present/)
16
- end
17
- end
18
-
19
- describe "formatting as yaml" do
20
- it "dumps the text as YAML" do
21
- expect(described_class.format_yaml({"hello" => "world"})).to match(/hello: world/)
22
- end
23
- end
24
-
25
- describe "formatting as plaintext" do
26
- it "formats a single string value without quotes" do
27
- expect(described_class.format_plaintext({"foo" => "bar"})).to eq "bar"
28
- end
29
-
30
- it "can return false:FalseClass as a single fact value" do
31
- expect(described_class.format_plaintext({"foo" => false})).to eq "false"
32
- end
33
-
34
- it "formats a structured value with #inspect" do
35
- value = ["bar"]
36
- value.expects(:inspect).returns %Q(["bar"])
37
- hash = {"foo" => value, "baz" => "quux"}
38
- expect(described_class.format_plaintext(hash)).to match(%Q([bar]))
39
- end
40
-
41
- it "formats multiple string values as key/value pairs" do
42
- hash = {"foo" => "bar", "baz" => "quux"}
43
- expect(described_class.format_plaintext(hash)).to match(/foo => bar/)
44
- expect(described_class.format_plaintext(hash)).to match(/baz => quux/)
45
- end
46
-
47
- it "formats multiple structured values with #inspect" do
48
- value = ["bar"]
49
- value.expects(:inspect).twice.returns %Q(["bar"])
50
- hash = {"foo" => value, "baz" => "quux"}
51
- expect(described_class.format_plaintext(hash)).to match(/foo => \["bar"\]/)
52
- expect(described_class.format_plaintext(hash)).to match(/baz => quux/)
53
- end
54
- end
55
- end
@@ -1,80 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require 'spec_helper'
4
- require 'facter/util/ip/windows'
5
-
6
- describe Facter::Util::IP::Windows do
7
- before :each do
8
- Facter.fact(:kernel).stubs(:value).returns('windows')
9
- end
10
-
11
- describe ".to_s" do
12
- let(:to_s) { described_class.to_s }
13
-
14
- it { to_s.should eq 'windows' }
15
- end
16
-
17
- describe ".convert_netmask_from_hex?" do
18
- let :convert_netmask_from_hex? do
19
- described_class.convert_netmask_from_hex?
20
- end
21
-
22
- it { convert_netmask_from_hex?.should be false }
23
- end
24
-
25
- describe ".bonding_master" do
26
- let(:bonding_master) { described_class.bonding_master('eth0') }
27
-
28
- pending("porting to Windows") do
29
- it { bonding_master.should be_nil }
30
- end
31
- end
32
-
33
- describe ".interfaces" do
34
- let(:name) { 'Local Area Connection' }
35
- let(:index) { 7 }
36
- let(:nic_config) { mock('nic_config', :Index => index) }
37
- let(:nic) { stub('nic', :NetConnectionId => name ) }
38
- let(:nic_empty_NetConnectionId) { stub('nic', :NetConnectionId => '' ) }
39
- let(:nic_nil_NetConnectionId) { stub('nic', :NetConnectionId => nil ) }
40
- let(:wmi_query) {"SELECT * FROM Win32_NetworkAdapter WHERE Index = #{index} AND NetEnabled = TRUE"}
41
-
42
- it "should return an array of only connected interfaces" do
43
- Facter::Util::WMI.expects(:execquery).with(Facter::Util::IP::Windows::WMI_IP_INFO_QUERY).
44
- returns([nic_config])
45
- Facter::Util::WMI.expects(:execquery).with(wmi_query).
46
- returns([nic])
47
-
48
- described_class.interfaces.should == [name]
49
- end
50
-
51
- it "should not return an interface with an empty NetConnectionId" do
52
- Facter::Util::WMI.expects(:execquery).with(Facter::Util::IP::Windows::WMI_IP_INFO_QUERY).
53
- returns([nic_config])
54
- Facter::Util::WMI.expects(:execquery).with(wmi_query).
55
- returns([nic_empty_NetConnectionId])
56
-
57
- described_class.interfaces.should == []
58
- end
59
-
60
- it "should not return an interface with a nil NetConnectionId" do
61
- Facter::Util::WMI.expects(:execquery).with(Facter::Util::IP::Windows::WMI_IP_INFO_QUERY).
62
- returns([nic_config])
63
- Facter::Util::WMI.expects(:execquery).with(wmi_query).
64
- returns([nic_nil_NetConnectionId])
65
-
66
- described_class.interfaces.should == []
67
- end
68
-
69
- context "when the adapter configuration is enabled but the underlying adapter is not enabled" do
70
- it "should not return an interface" do
71
- Facter::Util::WMI.expects(:execquery).with(Facter::Util::IP::Windows::WMI_IP_INFO_QUERY).
72
- returns([nic_config])
73
- Facter::Util::WMI.expects(:execquery).with(wmi_query).
74
- returns([])
75
-
76
- described_class.interfaces.should == []
77
- end
78
- end
79
- end
80
- end
@@ -1,487 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter/util/ip'
5
-
6
- describe Facter::Util::IP do
7
- include FacterSpec::ConfigHelper
8
-
9
- before :each do
10
- given_a_configuration_of(:is_windows => false)
11
- end
12
-
13
- [:freebsd, :linux, :netbsd, :openbsd, :sunos, :darwin, :"hp-ux", :"gnu/kfreebsd", :windows].each do |platform|
14
- it "should be supported on #{platform}" do
15
- given_a_configuration_of(:is_windows => platform == :windows)
16
- Facter::Util::IP.supported_platforms.should be_include(platform)
17
- end
18
- end
19
-
20
- it "should return a list of interfaces" do
21
- Facter::Util::IP.should respond_to(:get_interfaces)
22
- end
23
-
24
- it "should return an empty list of interfaces on an unknown kernel" do
25
- Facter.stubs(:value).returns("UnknownKernel")
26
- Facter::Util::IP.get_interfaces().should == []
27
- end
28
-
29
- it "should return a list with a single interface and the loopback interface on Linux with a single interface" do
30
- linux_ifconfig = my_fixture_read("linux_ifconfig_all_with_single_interface")
31
- Facter::Util::IP.stubs(:get_all_interface_output).returns(linux_ifconfig)
32
- Facter::Util::IP.get_interfaces().should == ["eth0", "lo"]
33
- end
34
-
35
- it "should return a list two interfaces on Darwin with two interfaces" do
36
- darwin_ifconfig = my_fixture_read("darwin_ifconfig_all_with_multiple_interfaces")
37
- Facter::Util::IP.stubs(:get_all_interface_output).returns(darwin_ifconfig)
38
- Facter::Util::IP.get_interfaces().should == ["lo0", "en0"]
39
- end
40
-
41
- it "should return a list two interfaces on Solaris with two interfaces multiply reporting" do
42
- solaris_ifconfig = my_fixture_read("solaris_ifconfig_all_with_multiple_interfaces")
43
- Facter::Util::IP.stubs(:get_all_interface_output).returns(solaris_ifconfig)
44
- Facter::Util::IP.get_interfaces().should == ["lo0", "e1000g0"]
45
- end
46
-
47
- it "should return a list of six interfaces on a GNU/kFreeBSD with six interfaces" do
48
- kfreebsd_ifconfig = my_fixture_read("debian_kfreebsd_ifconfig")
49
- Facter::Util::IP.stubs(:get_all_interface_output).returns(kfreebsd_ifconfig)
50
- Facter::Util::IP.get_interfaces().should == ["em0", "em1", "bge0", "bge1", "lo0", "vlan0"]
51
- end
52
-
53
- it "should return a list of only connected interfaces on Windows" do
54
- Facter.fact(:kernel).stubs(:value).returns("windows")
55
-
56
- Facter::Util::IP::Windows.expects(:interfaces).returns(["Loopback Pseudo-Interface 1", "Local Area Connection", "Teredo Tunneling Pseudo-Interface"])
57
- Facter::Util::IP.get_interfaces().should == ["Loopback Pseudo-Interface 1", "Local Area Connection", "Teredo Tunneling Pseudo-Interface"]
58
- end
59
-
60
- it "should return a value for a specific interface" do
61
- Facter::Util::IP.should respond_to(:get_interface_value)
62
- end
63
-
64
- it "should not return interface information for unsupported platforms" do
65
- Facter.stubs(:value).with(:kernel).returns("bleah")
66
- Facter::Util::IP.get_interface_value("e1000g0", "netmask").should == []
67
- end
68
-
69
- it "should return ipaddress information for Solaris" do
70
- solaris_ifconfig_interface = my_fixture_read("solaris_ifconfig_single_interface")
71
-
72
- Facter::Util::IP.expects(:get_single_interface_output).with("e1000g0").returns(solaris_ifconfig_interface)
73
- Facter.stubs(:value).with(:kernel).returns("SunOS")
74
-
75
- Facter::Util::IP.get_interface_value("e1000g0", "ipaddress").should == "172.16.15.138"
76
- end
77
-
78
- it "should return netmask information for Solaris" do
79
- solaris_ifconfig_interface = my_fixture_read("solaris_ifconfig_single_interface")
80
-
81
- Facter::Util::IP.expects(:get_single_interface_output).with("e1000g0").returns(solaris_ifconfig_interface)
82
- Facter.stubs(:value).with(:kernel).returns("SunOS")
83
-
84
- Facter::Util::IP.get_interface_value("e1000g0", "netmask").should == "255.255.255.0"
85
- end
86
-
87
- it "should return calculated network information for Solaris" do
88
- solaris_ifconfig_interface = my_fixture_read("solaris_ifconfig_single_interface")
89
-
90
- Facter::Util::IP.stubs(:get_single_interface_output).with("e1000g0").returns(solaris_ifconfig_interface)
91
- Facter.stubs(:value).with(:kernel).returns("SunOS")
92
-
93
- Facter::Util::IP.get_network_value("e1000g0").should == "172.16.15.0"
94
- end
95
-
96
- it "should return macaddress with leading zeros stripped off for GNU/kFreeBSD" do
97
- kfreebsd_ifconfig = my_fixture_read("debian_kfreebsd_ifconfig")
98
-
99
- Facter::Util::IP.expects(:get_single_interface_output).with("em0").returns(kfreebsd_ifconfig)
100
- Facter.stubs(:value).with(:kernel).returns("GNU/kFreeBSD")
101
-
102
- Facter::Util::IP.get_interface_value("em0", "macaddress").should == "0:11:a:59:67:90"
103
- end
104
-
105
- it "should return interface information for FreeBSD supported via an alias" do
106
- ifconfig_interface = my_fixture_read("6.0-STABLE_FreeBSD_ifconfig")
107
-
108
- Facter::Util::IP.expects(:get_single_interface_output).with("fxp0").returns(ifconfig_interface)
109
- Facter.stubs(:value).with(:kernel).returns("FreeBSD")
110
-
111
- Facter::Util::IP.get_interface_value("fxp0", "macaddress").should == "00:0e:0c:68:67:7c"
112
- end
113
-
114
- it "should return macaddress information for OS X" do
115
- ifconfig_interface = my_fixture_read("Mac_OS_X_10.5.5_ifconfig")
116
-
117
- Facter::Util::IP.expects(:get_single_interface_output).with("en1").returns(ifconfig_interface)
118
- Facter.stubs(:value).with(:kernel).returns("Darwin")
119
-
120
- Facter::Util::IP.get_interface_value("en1", "macaddress").should == "00:1b:63:ae:02:66"
121
- end
122
-
123
- it "should return all interfaces correctly on OS X" do
124
- ifconfig_interface = my_fixture_read("Mac_OS_X_10.5.5_ifconfig")
125
-
126
- Facter::Util::IP.expects(:get_all_interface_output).returns(ifconfig_interface)
127
- Facter.stubs(:value).with(:kernel).returns("Darwin")
128
-
129
- Facter::Util::IP.get_interfaces().should == ["lo0", "gif0", "stf0", "en0", "fw0", "en1", "vmnet8", "vmnet1"]
130
- end
131
-
132
- it "should return a human readable netmask on Solaris" do
133
- solaris_ifconfig_interface = my_fixture_read("solaris_ifconfig_single_interface")
134
-
135
- Facter::Util::IP.expects(:get_single_interface_output).with("e1000g0").returns(solaris_ifconfig_interface)
136
- Facter.stubs(:value).with(:kernel).returns("SunOS")
137
-
138
- Facter::Util::IP.get_interface_value("e1000g0", "netmask").should == "255.255.255.0"
139
- end
140
-
141
- it "should return a human readable netmask on Darwin" do
142
- darwin_ifconfig_interface = my_fixture_read("darwin_ifconfig_single_interface")
143
-
144
- Facter::Util::IP.expects(:get_single_interface_output).with("en1").returns(darwin_ifconfig_interface)
145
- Facter.stubs(:value).with(:kernel).returns("Darwin")
146
-
147
- Facter::Util::IP.get_interface_value("en1", "netmask").should == "255.255.255.0"
148
- end
149
-
150
- it "should return a human readable netmask on GNU/kFreeBSD" do
151
- kfreebsd_ifconfig = my_fixture_read("debian_kfreebsd_ifconfig")
152
-
153
- Facter::Util::IP.expects(:get_single_interface_output).with("em1").returns(kfreebsd_ifconfig)
154
- Facter.stubs(:value).with(:kernel).returns("GNU/kFreeBSD")
155
-
156
- Facter::Util::IP.get_interface_value("em1", "netmask").should == "255.255.255.0"
157
- end
158
-
159
- it "should return correct macaddress information for infiniband on Linux" do
160
- correct_ifconfig_interface = my_fixture_read("linux_get_single_interface_ib0")
161
-
162
- Facter::Util::IP.expects(:get_single_interface_output).with("ib0").returns(correct_ifconfig_interface)
163
- Facter.stubs(:value).with(:kernel).returns("Linux")
164
-
165
- Facter::Util::IP.get_interface_value("ib0", "macaddress").should == "80:00:00:4a:fe:80:00:00:00:00:00:00:00:02:c9:03:00:43:27:21"
166
- end
167
-
168
- it "should replace the incorrect macaddress with the correct macaddress in ifconfig for infiniband on Linux" do
169
- ifconfig_interface = my_fixture_read("linux_ifconfig_ib0")
170
- correct_ifconfig_interface = my_fixture_read("linux_get_single_interface_ib0")
171
-
172
- Facter::Util::IP.expects(:get_infiniband_macaddress).with("ib0").returns("80:00:00:4a:fe:80:00:00:00:00:00:00:00:02:c9:03:00:43:27:21")
173
- Facter::Util::IP.expects(:ifconfig_interface).with("ib0").returns(ifconfig_interface)
174
- Facter.stubs(:value).with(:kernel).returns("Linux")
175
-
176
- Facter::Util::IP.get_single_interface_output("ib0").should == correct_ifconfig_interface
177
- end
178
-
179
- it "should return correct macaddress information for infiniband on Linux CentOS 7" do
180
- correct_ifconfig_interface = my_fixture_read("linux_get_single_interface_ib0_centos7")
181
-
182
- Facter::Util::IP.expects(:get_single_interface_output).with("ib0").returns(correct_ifconfig_interface)
183
- Facter.stubs(:value).with(:kernel).returns("Linux")
184
-
185
- Facter::Util::IP.get_interface_value("ib0", "macaddress").should == "80:00:00:03:fe:80:00:00:00:00:00:00:00:11:75:00:00:6f:02:fe"
186
- end
187
-
188
- it "should replace the incorrect macaddress with the correct macaddress in ifconfig for infiniband on Linux CentOS 7" do
189
- ifconfig_interface = my_fixture_read("linux_ifconfig_ib0_centos7")
190
- correct_ifconfig_interface = my_fixture_read("linux_get_single_interface_ib0_centos7")
191
-
192
- Facter::Util::IP.expects(:get_infiniband_macaddress).with("ib0").returns("80:00:00:03:fe:80:00:00:00:00:00:00:00:11:75:00:00:6f:02:fe")
193
- Facter::Util::IP.expects(:ifconfig_interface).with("ib0").returns(ifconfig_interface)
194
- Facter.stubs(:value).with(:kernel).returns("Linux")
195
-
196
- Facter::Util::IP.get_single_interface_output("ib0").should == correct_ifconfig_interface
197
- end
198
-
199
- it "should return fake macaddress information for infiniband on Linux when neither sysfs or /sbin/ip are available" do
200
- ifconfig_interface = my_fixture_read("linux_ifconfig_ib0")
201
-
202
- File.expects(:exists?).with("/sys/class/net/ib0/address").returns(false)
203
- File.expects(:exists?).with("/sbin/ip").returns(false)
204
- Facter::Util::IP.expects(:ifconfig_interface).with("ib0").returns(ifconfig_interface)
205
- Facter.stubs(:value).with(:kernel).returns("Linux")
206
-
207
- Facter::Util::IP.get_interface_value("ib0", "macaddress").should == "FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF:FF"
208
- end
209
-
210
- it "should not get bonding master on interface aliases" do
211
- Facter.stubs(:value).with(:kernel).returns("Linux")
212
-
213
- Facter::Util::IP.get_bonding_master("eth0:1").should be_nil
214
- end
215
-
216
- [:freebsd, :netbsd, :openbsd, :sunos, :darwin, :"hp-ux"].each do |platform|
217
- it "should require conversion from hex on #{platform}" do
218
- Facter::Util::IP.convert_from_hex?(platform).should == true
219
- end
220
- end
221
-
222
- [:windows].each do |platform|
223
- it "should not require conversion from hex on #{platform}" do
224
- Facter::Util::IP.convert_from_hex?(platform).should be_false
225
- end
226
- end
227
-
228
- it "should return an arp address on Linux" do
229
- Facter.stubs(:value).with(:kernel).returns("Linux")
230
-
231
- Facter::Util::IP.expects(:get_arp_value).with("eth0").returns("00:00:0c:9f:f0:04")
232
- Facter::Util::IP.get_arp_value("eth0").should == "00:00:0c:9f:f0:04"
233
- end
234
-
235
- it "should return mtu information on Linux" do
236
- linux_ifconfig = my_fixture_read("linux_ifconfig_all_with_single_interface")
237
- Facter::Util::IP.stubs(:get_all_interface_output).returns(linux_ifconfig)
238
- Facter::Util::IP.stubs(:get_single_interface_output).with("eth0").
239
- returns(my_fixture_read("linux_get_single_interface_eth0"))
240
- Facter::Util::IP.stubs(:get_single_interface_output).with("lo").
241
- returns(my_fixture_read("linux_get_single_interface_lo"))
242
- Facter.stubs(:value).with(:kernel).returns("Linux")
243
-
244
- Facter::Util::IP.get_interface_value("eth0", "mtu").should == "1500"
245
- Facter::Util::IP.get_interface_value("lo", "mtu").should == "16436"
246
- end
247
-
248
- it "should return mtu information on Darwin" do
249
- darwin_ifconfig_interface = my_fixture_read("darwin_ifconfig_single_interface")
250
-
251
- Facter::Util::IP.expects(:get_single_interface_output).with("en1").returns(darwin_ifconfig_interface)
252
- Facter.stubs(:value).with(:kernel).returns("Darwin")
253
-
254
- Facter::Util::IP.get_interface_value("en1", "mtu").should == "1500"
255
- end
256
-
257
- it "should return mtu information for Solaris" do
258
- solaris_ifconfig_interface = my_fixture_read("solaris_ifconfig_single_interface")
259
-
260
- Facter::Util::IP.expects(:get_single_interface_output).with("e1000g0").returns(solaris_ifconfig_interface)
261
- Facter.stubs(:value).with(:kernel).returns("SunOS")
262
-
263
- Facter::Util::IP.get_interface_value("e1000g0", "mtu").should == "1500"
264
- end
265
-
266
- # (#17487) - tests for HP-UX.
267
- # some fake data for testing robustness of regexps.
268
- def self.fake_netstat_in_examples
269
- examples = []
270
- examples << ["Header row\na line with none in it\na line without\nanother line without\n",
271
- "a line without\nanother line without\n"]
272
- examples << ["Header row\na line without\na line with none in it\nanother line with none\nanother line without\n",
273
- "a line without\nanother line without\n"]
274
- examples << ["Header row\na line with * asterisks *\na line with none in it\nanother line without\n",
275
- "a line with asterisks \nanother line without\n"]
276
- examples << ["a line with none none none in it\na line with none in it\na line without\nanother line without\n",
277
- "another line without\n"]
278
- examples
279
- end
280
-
281
- fake_netstat_in_examples.each_with_index do |example, i|
282
- input, expected_output = example
283
- it "should pass regexp test on fake netstat input example #{i}" do
284
- Facter.stubs(:value).with(:kernel).returns("HP-UX")
285
- Facter::Util::IP.stubs(:hpux_netstat_in).returns(input)
286
- Facter::Util::IP.get_all_interface_output().should == expected_output
287
- end
288
- end
289
-
290
- # and some real data for exhaustive tests.
291
- def self.hpux_examples
292
- examples = []
293
- examples << ["HP-UX 11.11",
294
- ["lan1", "lan0", "lo0" ],
295
- ["1500", "1500", "4136" ],
296
- ["10.1.1.6", "192.168.3.10", "127.0.0.1"],
297
- ["255.255.255.0", "255.255.255.0", "255.0.0.0"],
298
- ["00:10:79:7B:5C:DE", "00:30:7F:0C:79:DC", nil ],
299
- [my_fixture_read("hpux_1111_ifconfig_lan1"),
300
- my_fixture_read("hpux_1111_ifconfig_lan0"),
301
- my_fixture_read("hpux_1111_ifconfig_lo0")],
302
- my_fixture_read("hpux_1111_netstat_in"),
303
- my_fixture_read("hpux_1111_lanscan")]
304
-
305
- examples << ["HP-UX 11.31",
306
- ["lan1", "lan0", "lo0" ],
307
- ["1500", "1500", "4136" ],
308
- ["10.1.54.36", "192.168.30.152", "127.0.0.1"],
309
- ["255.255.255.0", "255.255.255.0", "255.0.0.0"],
310
- ["00:17:FD:2D:2A:57", "00:12:31:7D:62:09", nil ],
311
- [my_fixture_read("hpux_1131_ifconfig_lan1"),
312
- my_fixture_read("hpux_1131_ifconfig_lan0"),
313
- my_fixture_read("hpux_1131_ifconfig_lo0")],
314
- my_fixture_read("hpux_1131_netstat_in"),
315
- my_fixture_read("hpux_1131_lanscan")]
316
-
317
- examples << ["HP-UX 11.31 with an asterisk after a NIC that has an address",
318
- ["lan1", "lan0", "lo0" ],
319
- ["1500", "1500", "4136" ],
320
- ["10.10.0.5", "192.168.3.9", "127.0.0.1"],
321
- ["255.255.255.0", "255.255.255.0", "255.0.0.0"],
322
- ["00:10:79:7B:BE:46", "00:30:5D:06:26:B2", nil ],
323
- [my_fixture_read("hpux_1131_asterisk_ifconfig_lan1"),
324
- my_fixture_read("hpux_1131_asterisk_ifconfig_lan0"),
325
- my_fixture_read("hpux_1131_asterisk_ifconfig_lo0")],
326
- my_fixture_read("hpux_1131_asterisk_netstat_in"),
327
- my_fixture_read("hpux_1131_asterisk_lanscan")]
328
-
329
- examples << ["HP-UX 11.31 with NIC bonding and one virtual NIC",
330
- ["lan4:1", "lan1", "lo0", "lan4" ],
331
- ["1500", "1500", "4136", "1500" ],
332
- ["192.168.1.197", "192.168.30.32", "127.0.0.1", "192.168.32.75" ],
333
- ["255.255.255.0", "255.255.255.0", "255.0.0.0", "255.255.255.0" ],
334
- [nil, "00:12:81:9E:48:DE", nil, "00:12:81:9E:4A:7E"],
335
- [my_fixture_read("hpux_1131_nic_bonding_ifconfig_lan4_1"),
336
- my_fixture_read("hpux_1131_nic_bonding_ifconfig_lan1"),
337
- my_fixture_read("hpux_1131_nic_bonding_ifconfig_lo0"),
338
- my_fixture_read("hpux_1131_nic_bonding_ifconfig_lan4")],
339
- my_fixture_read("hpux_1131_nic_bonding_netstat_in"),
340
- my_fixture_read("hpux_1131_nic_bonding_lanscan")]
341
- examples
342
- end
343
-
344
- hpux_examples.each do |example|
345
- description, array_of_expected_ifs, array_of_expected_mtus,
346
- array_of_expected_ips, array_of_expected_netmasks,
347
- array_of_expected_macs, array_of_ifconfig_fixtures,
348
- netstat_in_fixture, lanscan_fixture = example
349
-
350
- it "should return a list three interfaces on #{description}" do
351
- Facter.stubs(:value).with(:kernel).returns("HP-UX")
352
- Facter::Util::IP.stubs(:hpux_netstat_in).returns(netstat_in_fixture)
353
- Facter::Util::IP.get_interfaces().should == array_of_expected_ifs
354
- end
355
-
356
- array_of_expected_ifs.each_with_index do |nic, i|
357
- ifconfig_fixture = array_of_ifconfig_fixtures[i]
358
- expected_mtu = array_of_expected_mtus[i]
359
- expected_ip = array_of_expected_ips[i]
360
- expected_netmask = array_of_expected_netmasks[i]
361
- expected_mac = array_of_expected_macs[i]
362
-
363
- # (#17808) These tests fail because MTU facts haven't been implemented for HP-UX.
364
- #it "should return MTU #{expected_mtu} on #{nic} for #{description} example" do
365
- # Facter.stubs(:value).with(:kernel).returns("HP-UX")
366
- # Facter::Util::IP.stubs(:hpux_netstat_in).returns(netstat_in_fixture)
367
- # Facter::Util::IP.stubs(:hpux_lanscan).returns(lanscan_fixture)
368
- # Facter::Util::IP.stubs(:hpux_ifconfig_interface).with(nic).returns(ifconfig_fixture)
369
- # Facter::Util::IP.get_interface_value(nic, "mtu").should == expected_mtu
370
- #end
371
-
372
- it "should return IP #{expected_ip} on #{nic} for #{description} example" do
373
- Facter.stubs(:value).with(:kernel).returns("HP-UX")
374
- Facter::Util::IP.stubs(:hpux_lanscan).returns(lanscan_fixture)
375
- Facter::Util::IP.stubs(:hpux_ifconfig_interface).with(nic).returns(ifconfig_fixture)
376
- Facter::Util::IP.get_interface_value(nic, "ipaddress").should == expected_ip
377
- end
378
-
379
- it "should return netmask #{expected_netmask} on #{nic} for #{description} example" do
380
- Facter.stubs(:value).with(:kernel).returns("HP-UX")
381
- Facter::Util::IP.stubs(:hpux_lanscan).returns(lanscan_fixture)
382
- Facter::Util::IP.stubs(:hpux_ifconfig_interface).with(nic).returns(ifconfig_fixture)
383
- Facter::Util::IP.get_interface_value(nic, "netmask").should == expected_netmask
384
- end
385
-
386
- it "should return MAC address #{expected_mac} on #{nic} for #{description} example" do
387
- Facter.stubs(:value).with(:kernel).returns("HP-UX")
388
- Facter::Util::IP.stubs(:hpux_lanscan).returns(lanscan_fixture)
389
- Facter::Util::IP.stubs(:hpux_ifconfig_interface).with(nic).returns(ifconfig_fixture)
390
- Facter::Util::IP.get_interface_value(nic, "macaddress").should == expected_mac
391
- end
392
- end
393
- end
394
-
395
- describe "on Windows" do
396
- require 'facter/util/ip/windows'
397
-
398
- before :each do
399
- Facter.stubs(:value).with(:kernel).returns("windows")
400
- end
401
-
402
- it "should return ipaddress information" do
403
- Facter::Util::IP::Windows.expects(:value_for_interface_and_label).with("Local Area Connection", "ipaddress").returns('172.16.138.216')
404
-
405
- Facter::Util::IP.get_interface_value("Local Area Connection", "ipaddress").should == "172.16.138.216"
406
- end
407
-
408
- it "should return network information" do
409
- Facter::Util::IP::Windows.expects(:value_for_interface_and_label).with("Local Area Connection", "ipaddress").returns('172.16.138.216')
410
- Facter::Util::IP::Windows.expects(:value_for_interface_and_label).with("Local Area Connection", "netmask").returns('255.255.255.0')
411
-
412
- Facter::Util::IP.get_network_value("Local Area Connection").should == "172.16.138.0"
413
- end
414
-
415
- it "should return ipaddress6 information" do
416
- Facter::Util::IP::Windows.expects(:value_for_interface_and_label).with("Local Area Connection", "ipaddress6").returns("2001:0:4137:9e76:2087:77a:53ef:7527")
417
-
418
- Facter::Util::IP.get_interface_value("Local Area Connection", "ipaddress6").should == "2001:0:4137:9e76:2087:77a:53ef:7527"
419
- end
420
- end
421
-
422
- describe "exec_ifconfig" do
423
- it "uses get_ifconfig" do
424
- Facter::Core::Execution.stubs(:exec)
425
-
426
- Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig").once
427
-
428
- Facter::Util::IP.exec_ifconfig
429
- end
430
-
431
- it "support additional arguments" do
432
- Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
433
-
434
- Facter::Core::Execution.stubs(:exec).with("/sbin/ifconfig -a")
435
-
436
- Facter::Util::IP.exec_ifconfig(["-a"])
437
- end
438
-
439
- it "joins multiple arguments correctly" do
440
- Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
441
-
442
- Facter::Core::Execution.stubs(:exec).with("/sbin/ifconfig -a -e -i -j")
443
-
444
- Facter::Util::IP.exec_ifconfig(["-a","-e","-i","-j"])
445
- end
446
- end
447
- describe "get_ifconfig" do
448
- it "assigns /sbin/ifconfig if it is executable" do
449
- File.stubs(:executable?).returns(false)
450
- File.stubs(:executable?).with("/sbin/ifconfig").returns(true)
451
- Facter::Util::IP.get_ifconfig.should eq("/sbin/ifconfig")
452
- end
453
- it "assigns /usr/sbin/ifconfig if it is executable" do
454
- File.stubs(:executable?).returns(false)
455
- File.stubs(:executable?).with("/usr/sbin/ifconfig").returns(true)
456
- Facter::Util::IP.get_ifconfig.should eq("/usr/sbin/ifconfig")
457
- end
458
- it "assigns /bin/ifconfig if it is executable" do
459
- File.stubs(:executable?).returns(false)
460
- File.stubs(:executable?).with("/bin/ifconfig").returns(true)
461
- Facter::Util::IP.get_ifconfig.should eq("/bin/ifconfig")
462
- end
463
- end
464
-
465
- context "with bonded ethernet interfaces on Linux" do
466
- before :each do
467
- Facter.fact(:kernel).stubs(:value).returns("Linux")
468
- end
469
-
470
- describe "Facter::Util::Ip.get_interface_value" do
471
- before :each do
472
- Facter::Util::IP.stubs(:read_proc_net_bonding).
473
- with("/proc/net/bonding/bond0").
474
- returns(my_fixture_read("linux_2_6_35_proc_net_bonding_bond0"))
475
-
476
- Facter::Util::IP.stubs(:get_bonding_master).returns("bond0")
477
- end
478
-
479
- it 'provides the real device macaddress for eth0' do
480
- Facter::Util::IP.get_interface_value("eth0", "macaddress").should == "00:11:22:33:44:55"
481
- end
482
- it 'provides the real device macaddress for eth1' do
483
- Facter::Util::IP.get_interface_value("eth1", "macaddress").should == "00:11:22:33:44:56"
484
- end
485
- end
486
- end
487
- end