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,109 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require 'spec_helper'
4
- require 'facter'
5
- require 'facter/util/nothing_loader'
6
-
7
- describe "Block device facts" do
8
-
9
- describe "on non-Linux OS" do
10
-
11
- it "should not exist when kernel isn't Linux" do
12
- Facter.fact(:kernel).stubs(:value).returns("SunOS")
13
- Facter.fact(:blockdevices).should == nil
14
- end
15
-
16
- end
17
-
18
- describe "on Linux" do
19
-
20
- describe "with /sys/block/" do
21
-
22
- describe "with valid entries" do
23
- before :each do
24
- Facter::Util::Config.ext_fact_loader = Facter::Util::NothingLoader.new
25
- Facter.fact(:kernel).stubs(:value).returns("Linux")
26
- File.stubs(:exist?).with('/sys/block/').returns(true)
27
-
28
- Dir.stubs(:entries).with("/sys/block/").returns([".", "..", "hda", "sda", "sdb"])
29
-
30
- File.stubs(:exist?).with("/sys/block/./device").returns(false)
31
- File.stubs(:exist?).with("/sys/block/../device").returns(false)
32
-
33
- stubdevices = [
34
- #device, size, vendor, model
35
- ["hda"],
36
- ["sda", "976773168", "ATA", "WDC WD5000AAKS-0"],
37
- ["sdb", "8787591168", "DELL", "PERC H700"]
38
- ]
39
-
40
- stubdevices.each do |device, size, vendor, model|
41
- stubdir = "/sys/block/#{device}"
42
- File.stubs(:exist?).with(stubdir + "/device").returns(true)
43
- File.stubs(:exist?).with(stubdir + "/size").returns(size ? true : false)
44
- File.stubs(:exist?).with(stubdir + "/device/model").returns(model ? true : false)
45
- File.stubs(:exist?).with(stubdir + "/device/vendor").returns(vendor ? true : false)
46
- IO.stubs(:read).with(stubdir + "/size").returns(size) if size
47
- IO.stubs(:read).with(stubdir + "/device/vendor").returns(vendor) if vendor
48
- IO.stubs(:read).with(stubdir + "/device/model").returns(model) if model
49
- end
50
- end
51
-
52
- it "should report three block devices, hda, sda, and sdb, with accurate information from sda and sdb, and without invalid . or .. entries" do
53
- Facter.fact(:blockdevices).value.should == "hda,sda,sdb"
54
-
55
- # handle facts that should not exist
56
- %w{ . .. hda }.each do |device|
57
- Facter.fact("blockdevice_#{device}_size".to_sym).should == nil
58
- Facter.fact("blockdevice_#{device}_vendor".to_sym).should == nil
59
- Facter.fact("blockdevice_#{device}_model".to_sym).should == nil
60
- end
61
-
62
- # handle facts that should exist
63
- %w{ sda sdb }.each do |device|
64
- Facter.fact("blockdevice_#{device}_size".to_sym).should_not == nil
65
- Facter.fact("blockdevice_#{device}_vendor".to_sym).should_not == nil
66
- Facter.fact("blockdevice_#{device}_model".to_sym).should_not == nil
67
- end
68
-
69
- Facter.fact(:blockdevice_sda_model).value.should == "WDC WD5000AAKS-0"
70
- Facter.fact(:blockdevice_sda_vendor).value.should == "ATA"
71
- Facter.fact(:blockdevice_sda_size).value.should == 500107862016
72
-
73
- Facter.fact(:blockdevice_sdb_model).value.should == "PERC H700"
74
- Facter.fact(:blockdevice_sdb_vendor).value.should == "DELL"
75
- Facter.fact(:blockdevice_sdb_size).value.should == 4499246678016
76
-
77
- end
78
-
79
- end
80
- describe "with invalid entries in /sys/block" do
81
- before :each do
82
- Facter.fact(:kernel).stubs(:value).returns("Linux")
83
- File.stubs(:exist?).with('/sys/block/').returns(true)
84
-
85
- Dir.stubs(:entries).with("/sys/block/").returns([".", "..", "xda", "ydb"])
86
-
87
- File.stubs(:exist?).with("/sys/block/./device").returns(false)
88
- File.stubs(:exist?).with("/sys/block/../device").returns(false)
89
- File.stubs(:exist?).with("/sys/block/xda/device").returns(false)
90
- File.stubs(:exist?).with("/sys/block/ydb/device").returns(false)
91
- end
92
-
93
- it "should not exist with invalid entries in /sys/block" do
94
- Facter.fact(:blockdevices).should == nil
95
- end
96
- end
97
- end
98
- describe "without /sys/block/" do
99
-
100
- it "should not exist without /sys/block/ on Linux" do
101
- Facter.fact(:kernel).stubs(:value).returns("Linux")
102
- File.stubs(:exist?).with('/sys/block/').returns(false)
103
- Facter.fact(:blockdevices).should == nil
104
- end
105
-
106
- end
107
-
108
- end
109
- end
@@ -1,125 +0,0 @@
1
- require 'spec_helper'
2
- require 'facter/core/aggregate'
3
-
4
- describe Facter::Core::Aggregate do
5
-
6
- let(:fact) { stub('stub_fact', :name => 'stub_fact') }
7
-
8
- subject { obj = described_class.new('aggregated', fact) }
9
-
10
- it "can be resolved" do
11
- expect(subject).to be_a_kind_of Facter::Core::Resolvable
12
- end
13
-
14
- it "can be confined and weighted" do
15
- expect(subject).to be_a_kind_of Facter::Core::Suitable
16
- end
17
-
18
- describe "setting options" do
19
-
20
- it "can set the timeout" do
21
- subject.set_options(:timeout => 314)
22
- expect(subject.limit).to eq 314
23
- end
24
-
25
- it "can set the weight" do
26
- subject.set_options(:weight => 27)
27
- expect(subject.weight).to eq 27
28
- end
29
-
30
- it "can set the name" do
31
- subject.set_options(:name => 'something')
32
- expect(subject.name).to eq 'something'
33
- end
34
-
35
- it "fails on unhandled options" do
36
- expect do
37
- subject.set_options(:foo => 'bar')
38
- end.to raise_error(ArgumentError, /Invalid aggregate options .*foo/)
39
- end
40
- end
41
-
42
- describe "declaring chunks" do
43
- it "requires that an chunk is given a block" do
44
- expect { subject.chunk(:fail) }.to raise_error(ArgumentError, /requires a block/)
45
- end
46
-
47
- it "allows an chunk to have a list of requirements" do
48
- subject.chunk(:data, :require => [:other]) { }
49
- expect(subject.deps[:data]).to eq [:other]
50
- end
51
-
52
- it "converts a single chunk requirement to an array" do
53
- subject.chunk(:data, :require => :other) { }
54
- expect(subject.deps[:data]).to eq [:other]
55
- end
56
-
57
- it "raises an error when an unhandled option is passed" do
58
- expect {
59
- subject.chunk(:data, :before => [:other]) { }
60
- }.to raise_error(ArgumentError, /Unexpected options.*#chunk: .*before/)
61
- end
62
- end
63
-
64
- describe "handling interactions between chunks" do
65
- it "generates a warning when there is a dependency cycle in chunks" do
66
- subject.chunk(:first, :require => [:second]) { }
67
- subject.chunk(:second, :require => [:first]) { }
68
-
69
- Facter.expects(:warn) do |msg|
70
- expect(msg).to match /dependency cycles: .*[:first, :second]/
71
- end
72
-
73
- subject.value
74
- end
75
-
76
- it "passes all requested chunk results to the depending chunk" do
77
- subject.chunk(:first) { ['foo'] }
78
- subject.chunk(:second, :require => [:first]) do |first|
79
- [first[0] + ' bar']
80
- end
81
-
82
- output = subject.value
83
- expect(output).to include 'foo'
84
- expect(output).to include 'foo bar'
85
- end
86
-
87
- it "clones and freezes chunk results passed to other chunks" do
88
- subject.chunk(:first) { 'foo' }
89
- subject.chunk(:second, :require => [:first]) do |first|
90
- expect(first).to be_frozen
91
- end
92
-
93
- subject.aggregate do |chunks|
94
- chunks.values.each do |chunk|
95
- expect(chunk).to be_frozen
96
- end
97
- end
98
- end
99
- end
100
-
101
- describe "aggregating chunks" do
102
- it "passes all chunk results as a hash to the aggregate block" do
103
- subject.chunk(:data) { 'data chunk' }
104
- subject.chunk(:datum) { 'datum chunk' }
105
-
106
- subject.aggregate do |chunks|
107
- expect(chunks).to eq(:data => 'data chunk', :datum => 'datum chunk')
108
- end
109
-
110
- subject.value
111
- end
112
-
113
- it "uses the result of the aggregate block as the value" do
114
- subject.aggregate { "who needs chunks anyways" }
115
- expect(subject.value).to eq "who needs chunks anyways"
116
- end
117
- end
118
-
119
- describe "evaluating" do
120
- it "evaluates the block in the context of the aggregate" do
121
- subject.expects(:has_weight).with(5)
122
- subject.evaluate { has_weight(5) }
123
- end
124
- end
125
- end
@@ -1,79 +0,0 @@
1
- require 'spec_helper'
2
- require 'facter/core/directed_graph'
3
-
4
- describe Facter::Core::DirectedGraph do
5
- subject(:graph) { described_class.new }
6
-
7
- describe "detecting cycles" do
8
- it "is acyclic if the graph is empty" do
9
- expect(graph).to be_acyclic
10
- end
11
-
12
- it "is acyclic if the graph has no edges" do
13
- graph[:one] = []
14
- graph[:two] = []
15
-
16
- expect(graph).to be_acyclic
17
- end
18
-
19
- it "is acyclic if a vertex has an edge to itself" do
20
- graph[:one] = [:one]
21
- expect(graph).to be_acyclic
22
- end
23
-
24
- it "is acyclic if there are no loops in the graph" do
25
- graph[:one] = [:two, :three]
26
- graph[:two] = [:four]
27
- graph[:three] = [:four]
28
- graph[:four] = []
29
-
30
- expect(graph).to be_acyclic
31
- end
32
-
33
- it "is cyclic if there is a loop in the graph" do
34
- graph[:one] = [:two]
35
- graph[:two] = [:one]
36
- expect(graph).to_not be_acyclic
37
- end
38
-
39
- it "can return the cycles in the graph" do
40
- graph[:one] = [:two]
41
- graph[:two] = [:one]
42
-
43
- graph[:three] = [:four]
44
- graph[:four] = [:three]
45
-
46
- first_cycle = graph.cycles.find { |cycle| cycle.include? :one }
47
- second_cycle = graph.cycles.find { |cycle| cycle.include? :three }
48
-
49
- expect(first_cycle).to include :two
50
- expect(second_cycle).to include :four
51
- end
52
- end
53
-
54
- describe "sorting" do
55
- it "returns the vertices in topologically sorted order" do
56
- graph[:one] = [:two, :three]
57
- graph[:two] = [:three]
58
- graph[:three] = []
59
- expect(graph.tsort).to eq [:three, :two, :one]
60
- end
61
-
62
- it "raises an error if there is a cycle in the graph" do
63
- graph[:one] = [:two]
64
- graph[:two] = [:one]
65
-
66
- expect {
67
- graph.tsort
68
- }.to raise_error(Facter::Core::DirectedGraph::CycleError, /found the following cycles:/)
69
- end
70
-
71
- it "raises an error if there is an edge to a non-existent vertex" do
72
- graph[:one] = [:two, :three]
73
- graph[:two] = [:three]
74
- expect {
75
- graph.tsort
76
- }.to raise_error(Facter::Core::DirectedGraph::MissingVertex, /missing elements.*three/)
77
- end
78
- end
79
- end
@@ -1,130 +0,0 @@
1
- require 'spec_helper'
2
- require 'facter/core/execution'
3
-
4
- describe Facter::Core::Execution::Base do
5
-
6
- describe "#with_env" do
7
- it "should execute the caller's block with the specified env vars" do
8
- test_env = { 'LANG' => 'C', 'LC_ALL' => 'C', 'FOO' => 'BAR' }
9
- subject.with_env test_env do
10
- test_env.keys.each do |key|
11
- ENV[key].should == test_env[key]
12
- end
13
- end
14
- end
15
-
16
- it "should restore pre-existing environment variables to their previous values" do
17
- orig_env = {}
18
- new_env = {}
19
- # an arbitrary sentinel value to use to temporarily set the environment vars to
20
- sentinel_value = "Abracadabra"
21
-
22
- # grab some values from the existing ENV (arbitrarily choosing 3 here)
23
- ENV.keys.first(3).each do |key|
24
- # save the original values so that we can test against them later
25
- orig_env[key] = ENV[key]
26
- # create bogus temp values for the chosen keys
27
- new_env[key] = sentinel_value
28
- end
29
-
30
- # verify that, during the 'with_env', the new values are used
31
- subject.with_env new_env do
32
- orig_env.keys.each do |key|
33
- ENV[key].should == new_env[key]
34
- end
35
- end
36
-
37
- # verify that, after the 'with_env', the old values are restored
38
- orig_env.keys.each do |key|
39
- ENV[key].should == orig_env[key]
40
- end
41
- end
42
-
43
- it "should not be affected by a 'return' statement in the yield block" do
44
- @sentinel_var = :resolution_test_foo.to_s
45
-
46
- # the intent of this test case is to test a yield block that contains a return statement. However, it's illegal
47
- # to use a return statement outside of a method, so we need to create one here to give scope to the 'return'
48
- def handy_method()
49
- ENV[@sentinel_var] = "foo"
50
- new_env = { @sentinel_var => "bar" }
51
-
52
- subject.with_env new_env do
53
- ENV[@sentinel_var].should == "bar"
54
- return
55
- end
56
- end
57
-
58
- handy_method()
59
-
60
- ENV[@sentinel_var].should == "foo"
61
-
62
- end
63
- end
64
-
65
- describe "#execute" do
66
-
67
- it "switches LANG and LC_ALL to C when executing the command" do
68
- subject.expects(:with_env).with('LC_ALL' => 'C', 'LANG' => 'C')
69
- subject.execute('foo')
70
- end
71
-
72
- it "expands the command before running it" do
73
- subject.stubs(:`).returns ''
74
- subject.expects(:expand_command).with('foo').returns '/bin/foo'
75
- subject.execute('foo')
76
- end
77
-
78
- describe "and the command is not present" do
79
- it "raises an error when the :on_fail behavior is :raise" do
80
- subject.expects(:expand_command).with('foo').returns nil
81
- expect { subject.execute('foo') }.to raise_error(Facter::Core::Execution::ExecutionFailure)
82
- end
83
-
84
- it "returns the given value when :on_fail is set to a value" do
85
- subject.expects(:expand_command).with('foo').returns nil
86
- expect(subject.execute('foo', :on_fail => nil)).to be_nil
87
- end
88
- end
89
-
90
- describe "when command execution fails" do
91
- before do
92
- subject.expects(:`).with("/bin/foo").raises "kaboom!"
93
- subject.expects(:expand_command).with('foo').returns '/bin/foo'
94
- end
95
-
96
- it "raises an error when the :on_fail behavior is :raise" do
97
- expect { subject.execute('foo') }.to raise_error(Facter::Core::Execution::ExecutionFailure)
98
- end
99
-
100
- it "returns the given value when :on_fail is set to a value" do
101
- expect(subject.execute('foo', :on_fail => nil)).to be_nil
102
- end
103
- end
104
-
105
- it "launches a thread to wait on children if the command was interrupted" do
106
- subject.expects(:`).with("/bin/foo").raises "kaboom!"
107
- subject.expects(:expand_command).with('foo').returns '/bin/foo'
108
-
109
- Facter.stubs(:warn)
110
- Thread.expects(:new).yields
111
- Process.expects(:waitall).once
112
-
113
- subject.execute("foo", :on_fail => nil)
114
- end
115
-
116
- it "returns the output of the command" do
117
- subject.expects(:`).with("/bin/foo").returns 'hi'
118
- subject.expects(:expand_command).with('foo').returns '/bin/foo'
119
-
120
- expect(subject.execute("foo")).to eq 'hi'
121
- end
122
-
123
- it "strips off trailing newlines" do
124
- subject.expects(:`).with("/bin/foo").returns "hi\n"
125
- subject.expects(:expand_command).with('foo').returns '/bin/foo'
126
-
127
- expect(subject.execute("foo")).to eq 'hi'
128
- end
129
- end
130
- end
@@ -1,96 +0,0 @@
1
- require 'spec_helper'
2
- require 'facter/util/config'
3
-
4
- describe Facter::Core::Execution::Posix, :unless => Facter::Util::Config.is_windows? do
5
- describe "#search_paths" do
6
- it "should use the PATH environment variable plus /sbin and /usr/sbin on unix" do
7
- ENV.expects(:[]).with('PATH').returns "/bin:/usr/bin"
8
- subject.search_paths.should == %w{/bin /usr/bin /sbin /usr/sbin}
9
- end
10
- end
11
-
12
- describe "#which" do
13
- before :each do
14
- subject.stubs(:search_paths).returns [ '/bin', '/sbin', '/usr/sbin']
15
- end
16
-
17
- context "and provided with an absolute path" do
18
- it "should return the binary if executable" do
19
- File.expects(:file?).with('/opt/foo').returns true
20
- File.expects(:executable?).with('/opt/foo').returns true
21
- subject.which('/opt/foo').should == '/opt/foo'
22
- end
23
-
24
- it "should return nil if the binary is not executable" do
25
- File.expects(:executable?).with('/opt/foo').returns false
26
- subject.which('/opt/foo').should be_nil
27
- end
28
-
29
- it "should return nil if the binary is not a file" do
30
- File.expects(:file?).with('/opt/foo').returns false
31
- File.expects(:executable?).with('/opt/foo').returns true
32
- subject.which('/opt/foo').should be_nil
33
- end
34
- end
35
-
36
- context "and not provided with an absolute path" do
37
- it "should return the absolute path if found" do
38
- File.expects(:file?).with('/bin/foo').never
39
- File.expects(:executable?).with('/bin/foo').returns false
40
- File.expects(:file?).with('/sbin/foo').returns true
41
- File.expects(:executable?).with('/sbin/foo').returns true
42
- File.expects(:file?).with('/usr/sbin/foo').never
43
- File.expects(:executable?).with('/usr/sbin/foo').never
44
- subject.which('foo').should == '/sbin/foo'
45
- end
46
-
47
- it "should return nil if not found" do
48
- File.expects(:executable?).with('/bin/foo').returns false
49
- File.expects(:executable?).with('/sbin/foo').returns false
50
- File.expects(:executable?).with('/usr/sbin/foo').returns false
51
- subject.which('foo').should be_nil
52
- end
53
- end
54
- end
55
-
56
- describe "#expand_command" do
57
- it "should expand binary" do
58
- subject.expects(:which).with('foo').returns '/bin/foo'
59
- subject.expand_command('foo -a | stuff >> /dev/null').should == '/bin/foo -a | stuff >> /dev/null'
60
- end
61
-
62
- it "should expand double quoted binary" do
63
- subject.expects(:which).with('/tmp/my foo').returns '/tmp/my foo'
64
- subject.expand_command(%q{"/tmp/my foo" bar}).should == %q{'/tmp/my foo' bar}
65
- end
66
-
67
- it "should expand single quoted binary" do
68
- subject.expects(:which).with('my foo').returns '/home/bob/my path/my foo'
69
- subject.expand_command(%q{'my foo' -a}).should == %q{'/home/bob/my path/my foo' -a}
70
- end
71
-
72
- it "should quote expanded binary if found in path with spaces" do
73
- subject.expects(:which).with('foo.sh').returns '/home/bob/my tools/foo.sh'
74
- subject.expand_command('foo.sh /a /b').should == %q{'/home/bob/my tools/foo.sh' /a /b}
75
- end
76
-
77
- it "should return nil if not found" do
78
- subject.expects(:which).with('foo').returns nil
79
- subject.expand_command('foo -a | stuff >> /dev/null').should be_nil
80
- end
81
- end
82
-
83
- describe "#absolute_path?" do
84
- %w[/ /foo /foo/../bar //foo //Server/Foo/Bar //?/C:/foo/bar /\Server/Foo /foo//bar/baz].each do |path|
85
- it "should return true for #{path}" do
86
- subject.should be_absolute_path(path)
87
- end
88
- end
89
-
90
- %w[. ./foo \foo C:/foo \\Server\Foo\Bar \\?\C:\foo\bar \/?/foo\bar \/Server/foo foo//bar/baz].each do |path|
91
- it "should return false for #{path}" do
92
- subject.should_not be_absolute_path(path)
93
- end
94
- end
95
- end
96
- end