chef-utils 15.11.3 → 16.1.16

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