chef-utils 15.11.3 → 16.1.16

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0c75c95baf0a557d351149a747a6afacfadbabbe963f95cf5f7c5de04dc9661
4
- data.tar.gz: 318102046034b8ca50b9de2ac8e76648a7e31474eab8bc694f4dca11331911ee
3
+ metadata.gz: 34db2a53fc03eccff93242061306b81528cf323099f5af6e8d8246e3134adb46
4
+ data.tar.gz: b0da71e4d65b0c4ead8132c6edfb3473e246473555b39e48c20ba953f5206b9b
5
5
  SHA512:
6
- metadata.gz: d67a41101576028ceeafc46d3ba35684e24e1ea4752823983c2910a1c9511929f15b69a47557378c9bc651d4242ecc2222b27d62b7ed184117943387c9787c25
7
- data.tar.gz: e551f1c077834e16f352677751b41eb5b1d8ca8f4b85b605edc983d74032f74d72b7960534b6d556d2b164bdbfe2c4b4332382b652fa1bdfc939c85a10fbd46d
6
+ metadata.gz: f983bba52a73d0adc54ec8ed44b2bb08fb9d758a47696fe581b7175e59fc5d572e67aabbbcd504439c035aaddbaceb1473941682a035596225007ccd83174a05
7
+ data.tar.gz: 55f688eb6b8be05ca6b09643504bb8ead66992732db2c50b6804f5456c34b94f8c13d96ba2315d86f87362459ccae6ce6a1b086422983fc42c472681bda98535
data/Rakefile CHANGED
@@ -6,6 +6,7 @@ begin
6
6
  require "rspec/core/rake_task"
7
7
  desc "Run standard specs"
8
8
  RSpec::Core::RakeTask.new(:spec) do |t|
9
+ t.verbose = false
9
10
  t.pattern = FileList["spec/**/*_spec.rb"]
10
11
  end
11
12
  rescue LoadError
@@ -36,15 +36,14 @@ module ChefUtils
36
36
  include ChefUtils::DSL::Cloud
37
37
  include ChefUtils::DSL::Introspection
38
38
  include ChefUtils::DSL::OS
39
+ include ChefUtils::DSL::PathSanity
39
40
  include ChefUtils::DSL::Platform
40
41
  include ChefUtils::DSL::PlatformFamily
41
42
  include ChefUtils::DSL::PlatformVersion
42
43
  include ChefUtils::DSL::TrainHelpers
43
44
  include ChefUtils::DSL::Virtualization
45
+ include ChefUtils::DSL::Which
44
46
  include ChefUtils::DSL::Windows
45
- # FIXME: include ChefUtils::DSL::Which in Chef 16.0
46
- # FIXME: include ChefUtils::DSL::PathSanity in Chef 16.0
47
- # FIXME: include ChefUtils::DSL::TrainHelpers in Chef 16.0
48
47
  # ChefUtils::DSL::Service is deliberately excluded
49
48
 
50
49
  CANARY = 1 # used as a guard for requires
@@ -31,7 +31,7 @@ module ChefUtils
31
31
  # Determine if the node is a docker container.
32
32
  #
33
33
  # @param [Chef::Node] node the node to check
34
- # @since 15.5
34
+ # @since 12.11
35
35
  #
36
36
  # @return [Boolean]
37
37
  #
@@ -349,7 +349,7 @@ module ChefUtils
349
349
  node["platform"] == "suse"
350
350
  end
351
351
 
352
- # Determine if the current node is OpenSUSE.
352
+ # Determine if the current node is openSUSE.
353
353
  #
354
354
  # @param [Chef::Node] node the node to check
355
355
  # @since 15.5
@@ -301,7 +301,7 @@ module ChefUtils
301
301
  end
302
302
 
303
303
  # RedHat distros -- fedora and rhel platform_families, nothing else. This is most likely not as useful as the
304
- # "fedora_dervied?" helper.
304
+ # "fedora_derived?" helper.
305
305
  #
306
306
  # @param [Chef::Node] node the node to check
307
307
  # @since 15.5
@@ -161,7 +161,7 @@ module ChefUtils
161
161
  node.dig("virtualization", "system") == "openvz" && node.dig("virtualization", "role") == "host"
162
162
  end
163
163
 
164
- # Determine if the current node is running under any virutalization environment
164
+ # Determine if the current node is running under any virtualization environment
165
165
  #
166
166
  # @param [Chef::Node] node
167
167
  # @since 15.8
@@ -25,7 +25,7 @@ module ChefUtils
25
25
  # Lookup an executable through the systems search PATH. Allows specifying an array
26
26
  # of executables to look for. The first executable that is found, along any path entry,
27
27
  # will be the preferred one and returned first. The extra_path will override any default
28
- # extra_paths which are added (allwing the user to pass an empty array to remove them).
28
+ # extra_paths which are added (allowing the user to pass an empty array to remove them).
29
29
  #
30
30
  # When passed a block the block will be called with the full pathname of any executables
31
31
  # which are found, and the block should return truthy or falsey values to further filter
@@ -34,7 +34,7 @@ module ChefUtils
34
34
  # This is syntactic sugar for `where(...).first`
35
35
  #
36
36
  # This helper can be used in target mode in chef or with train using the appropriate
37
- # wiring extenerally.
37
+ # wiring externally.
38
38
  #
39
39
  # @example Find the most appropriate python executable, searching through the system PATH
40
40
  # plus additionally the "/usr/libexec" directory, which has the dnf libraries
@@ -55,14 +55,14 @@ module ChefUtils
55
55
  # Lookup all the instances of an an executable that can be found through the systems search PATH.
56
56
  # Allows specifying an array of executables to look for. All the instances of the first executable
57
57
  # that is found will be returned first. The extra_path will override any default extra_paths
58
- # which are added (allwing the user to pass an empty array to remove them).
58
+ # which are added (allowing the user to pass an empty array to remove them).
59
59
  #
60
60
  # When passed a block the block will be called with the full pathname of any executables
61
61
  # which are found, and the block should return truthy or falsey values to further filter
62
62
  # the executable based on arbitrary criteria.
63
63
  #
64
64
  # This helper can be used in target mode in chef or with train using the appropriate
65
- # wiring extenerally.
65
+ # wiring externally.
66
66
  #
67
67
  # @example Find all the python executables, searching through the system PATH plus additionally
68
68
  # the "/usr/libexec" directory, which have the dnf libraries installed and available.
@@ -20,7 +20,7 @@ require_relative "../internal"
20
20
  module ChefUtils
21
21
  module DSL
22
22
  module Windows
23
- require "chef-utils/version_string"
23
+ require_relative "../version_string"
24
24
 
25
25
  include Internal
26
26
 
@@ -27,7 +27,7 @@ module ChefUtils
27
27
  #
28
28
  # This gem may be used by gems like mixlib-shellout which can be consumed by external non-Chef utilities,
29
29
  # so including brittle code here which depends on the existence of the chef-client will cause broken
30
- # behavior downstream. You must practice defensive coding, and not make assumptions about runnign within chef-client.
30
+ # behavior downstream. You must practice defensive coding, and not make assumptions about running within chef-client.
31
31
  #
32
32
  # Other consumers may mix in the helper classes and then override the methods here and provide their own custom
33
33
  # wiring and override what is provided here. They are marked as private because no downstream user should ever touch
@@ -15,5 +15,5 @@
15
15
 
16
16
  module ChefUtils
17
17
  CHEFUTILS_ROOT = File.expand_path("../..", __FILE__)
18
- VERSION = "15.11.3".freeze
18
+ VERSION = "16.1.16".freeze
19
19
  end
@@ -27,8 +27,13 @@ module ChefUtils
27
27
  #
28
28
  # @param val [String] Version string to parse.
29
29
  def initialize(val)
30
- super
31
- @parsed_version = ::Gem::Version.create(self)
30
+ val = "" unless val
31
+ super(val)
32
+ begin
33
+ @parsed_version = ::Gem::Version.create(self)
34
+ rescue ArgumentError
35
+ @parsed_version = nil
36
+ end
32
37
  end
33
38
 
34
39
  # @!group Compat wrappers for String
@@ -135,7 +140,12 @@ module ChefUtils
135
140
  when Regexp
136
141
  super
137
142
  else
138
- Gem::Requirement.create(other) =~ parsed_version
143
+ begin
144
+ Gem::Requirement.create(other) =~ parsed_version
145
+ rescue ArgumentError
146
+ # one side of the comparison wasn't parsable
147
+ super
148
+ end
139
149
  end
140
150
  end
141
151
 
@@ -31,7 +31,7 @@ RSpec.describe ChefUtils::DSL::Introspection do
31
31
  let(:test_instance) { IntrospectionTestClass.new(node) }
32
32
 
33
33
  context "#docker?" do
34
- # FIXME: use a real VividMash for these tests insted of stubbing
34
+ # FIXME: use a real VividMash for these tests instead of stubbing
35
35
  it "is false by default" do
36
36
  expect(node).to receive(:read).with("virtualization", "systems", "docker").and_return(nil)
37
37
  expect(ChefUtils.docker?(node)).to be false
@@ -89,7 +89,7 @@ RSpec.describe ChefUtils::DSL::PlatformFamily do
89
89
  end
90
90
 
91
91
  context "on centos6" do
92
- let(:options) { { platform: "centos", version: "6.9" } }
92
+ let(:options) { { platform: "centos", version: "6.10" } }
93
93
 
94
94
  pf_reports_true_for(:rhel?, :rpm_based?, :fedora_derived?, :redhat_based?, :el?, :rhel6?)
95
95
  end
@@ -167,7 +167,7 @@ RSpec.describe ChefUtils::DSL::PlatformFamily do
167
167
  end
168
168
 
169
169
  context "on redhat6" do
170
- let(:options) { { platform: "redhat", version: "6.9" } }
170
+ let(:options) { { platform: "redhat", version: "6.10" } }
171
171
 
172
172
  pf_reports_true_for(:rhel?, :rpm_based?, :fedora_derived?, :redhat_based?, :el?, :rhel6?)
173
173
  end
@@ -78,7 +78,7 @@ RSpec.describe ChefUtils::DSL::Which do
78
78
  end
79
79
 
80
80
  context "with a block" do
81
- test_which("doesnt find it if its false", "foo1", others: [ "/dir1/foo1" ]) do |f|
81
+ test_which("doesn't find it if its false", "foo1", others: [ "/dir1/foo1" ]) do |f|
82
82
  false
83
83
  end
84
84
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.11.3
4
+ version: 16.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2020-05-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email:
@@ -76,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
76
76
  - !ruby/object:Gem::Version
77
77
  version: '0'
78
78
  requirements: []
79
- rubygems_version: 3.0.3
79
+ rubygems_version: 3.1.2
80
80
  signing_key:
81
81
  specification_version: 4
82
82
  summary: Basic utility functions for Core Chef development