facter 2.5.7-x86-mingw32 → 3.9.6.cfacter.20180606-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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