summaryrefslogtreecommitdiff
path: root/spec/unit/chef_fs
diff options
context:
space:
mode:
authorClaire McQuin <claire@getchef.com>2014-10-29 15:14:22 -0700
committerClaire McQuin <claire@getchef.com>2014-10-29 15:59:04 -0700
commit5fed7a65a2f024d964ecf2de1bcf2911cf8a600c (patch)
tree14cc6968e4fe4fd2485c0211088b25c645a80a4b /spec/unit/chef_fs
parentb92c309b0f1aa0837f76ab89d6c81c36076ceca9 (diff)
downloadchef-5fed7a65a2f024d964ecf2de1bcf2911cf8a600c.tar.gz
Update to RSpec 3.
Diffstat (limited to 'spec/unit/chef_fs')
-rw-r--r--spec/unit/chef_fs/diff_spec.rb24
-rw-r--r--spec/unit/chef_fs/file_pattern_spec.rb553
-rw-r--r--spec/unit/chef_fs/file_system/operation_failed_error_spec.rb12
-rw-r--r--spec/unit/chef_fs/file_system_spec.rb24
-rw-r--r--spec/unit/chef_fs/parallelizer.rb174
5 files changed, 393 insertions, 394 deletions
diff --git a/spec/unit/chef_fs/diff_spec.rb b/spec/unit/chef_fs/diff_spec.rb
index 2133d05139..71605393f3 100644
--- a/spec/unit/chef_fs/diff_spec.rb
+++ b/spec/unit/chef_fs/diff_spec.rb
@@ -91,7 +91,7 @@ describe 'diff', :uses_diff => true do
Chef::ChefFS::CommandLine.diff_print(pattern('/'), a, b, nil, nil) do |diff|
results << remove_os_differences(diff)
end
- results.should =~ [
+ expect(results).to match_array([
'diff --knife a/both_dirs/sub_both_files_different b/both_dirs/sub_both_files_different
--- a/both_dirs/sub_both_files_different DATE
+++ b/both_dirs/sub_both_files_different DATE
@@ -160,14 +160,14 @@ new file
+++ b/b_only_file DATE
CONTEXT_LINE_NUMBERS
+b_only_file
-' ]
+' ])
end
it 'Chef::ChefFS::CommandLine.diff_print(/both_dirs)' do
results = []
Chef::ChefFS::CommandLine.diff_print(pattern('/both_dirs'), a, b, nil, nil) do |diff|
results << remove_os_differences(diff)
end
- results.should =~ [
+ expect(results).to match_array([
'diff --knife a/both_dirs/sub_both_files_different b/both_dirs/sub_both_files_different
--- a/both_dirs/sub_both_files_different DATE
+++ b/both_dirs/sub_both_files_different DATE
@@ -202,14 +202,14 @@ new file
+++ b/both_dirs/sub_b_only_file DATE
CONTEXT_LINE_NUMBERS
+sub_b_only_file
-' ]
+' ])
end
it 'Chef::ChefFS::CommandLine.diff_print(/) with depth 1' do
results = []
Chef::ChefFS::CommandLine.diff_print(pattern('/'), a, b, 1, nil) do |diff|
results << remove_os_differences(diff)
end
- results.should =~ [
+ expect(results).to match_array([
'Common subdirectories: b/both_dirs
','diff --knife a/both_files_different b/both_files_different
--- a/both_files_different DATE
@@ -236,14 +236,14 @@ new file
+++ b/b_only_file DATE
CONTEXT_LINE_NUMBERS
+b_only_file
-' ]
+' ])
end
it 'Chef::ChefFS::CommandLine.diff_print(/*_*) with depth 0' do
results = []
Chef::ChefFS::CommandLine.diff_print(pattern('/*_*'), a, b, 0, nil) do |diff|
results << remove_os_differences(diff)
end
- results.should =~ [
+ expect(results).to match_array([
'Common subdirectories: b/both_dirs
','diff --knife a/both_files_different b/both_files_different
--- a/both_files_different DATE
@@ -270,14 +270,14 @@ new file
+++ b/b_only_file DATE
CONTEXT_LINE_NUMBERS
+b_only_file
-' ]
+' ])
end
it 'Chef::ChefFS::CommandLine.diff_print(/) in name-only mode' do
results = []
Chef::ChefFS::CommandLine.diff_print(pattern('/'), a, b, nil, :name_only) do |diff|
results << remove_os_differences(diff)
end
- results.should =~ [
+ expect(results).to match_array([
"b/both_dirs/sub_both_files_different\n",
"b/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub\n",
"b/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub\n",
@@ -296,14 +296,14 @@ CONTEXT_LINE_NUMBERS
"b/b_only_file\n",
"b/dir_in_a_file_in_b\n",
"b/file_in_a_dir_in_b\n"
- ]
+ ])
end
it 'Chef::ChefFS::CommandLine.diff_print(/) in name-status mode' do
results = []
Chef::ChefFS::CommandLine.diff_print(pattern('/'), a, b, nil, :name_status) do |diff|
results << remove_os_differences(diff)
end
- results.should =~ [
+ expect(results).to match_array([
"M\tb/both_dirs/sub_both_files_different\n",
"D\tb/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub\n",
"A\tb/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub\n",
@@ -322,7 +322,7 @@ CONTEXT_LINE_NUMBERS
"A\tb/b_only_file\n",
"T\tb/dir_in_a_file_in_b\n",
"T\tb/file_in_a_dir_in_b\n"
- ]
+ ])
end
end
end
diff --git a/spec/unit/chef_fs/file_pattern_spec.rb b/spec/unit/chef_fs/file_pattern_spec.rb
index bac393a054..cdf506225a 100644
--- a/spec/unit/chef_fs/file_pattern_spec.rb
+++ b/spec/unit/chef_fs/file_pattern_spec.rb
@@ -28,466 +28,465 @@ describe Chef::ChefFS::FilePattern do
context 'with empty pattern ""' do
let(:pattern) { Chef::ChefFS::FilePattern.new('') }
it 'match?' do
- pattern.match?('').should be_true
- pattern.match?('/').should be_false
- pattern.match?('a').should be_false
- pattern.match?('a/b').should be_false
+ expect(pattern.match?('')).to be_truthy
+ expect(pattern.match?('/')).to be_falsey
+ expect(pattern.match?('a')).to be_falsey
+ expect(pattern.match?('a/b')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == ''
+ expect(pattern.exact_path).to eq('')
end
it 'could_match_children?' do
- pattern.could_match_children?('').should be_false
- pattern.could_match_children?('a/b').should be_false
+ expect(pattern.could_match_children?('')).to be_falsey
+ expect(pattern.could_match_children?('a/b')).to be_falsey
end
end
context 'with root pattern "/"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/') }
it 'match?' do
- pattern.match?('/').should be_true
- pattern.match?('').should be_false
- pattern.match?('a').should be_false
- pattern.match?('/a').should be_false
+ expect(pattern.match?('/')).to be_truthy
+ expect(pattern.match?('')).to be_falsey
+ expect(pattern.match?('a')).to be_falsey
+ expect(pattern.match?('/a')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == '/'
+ expect(pattern.exact_path).to eq('/')
end
it 'could_match_children?' do
- pattern.could_match_children?('').should be_false
- pattern.could_match_children?('/').should be_false
- pattern.could_match_children?('a').should be_false
- pattern.could_match_children?('a/b').should be_false
- pattern.could_match_children?('/a').should be_false
+ expect(pattern.could_match_children?('')).to be_falsey
+ expect(pattern.could_match_children?('/')).to be_falsey
+ expect(pattern.could_match_children?('a')).to be_falsey
+ expect(pattern.could_match_children?('a/b')).to be_falsey
+ expect(pattern.could_match_children?('/a')).to be_falsey
end
end
context 'with simple pattern "abc"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('abc') }
it 'match?' do
- pattern.match?('abc').should be_true
- pattern.match?('a').should be_false
- pattern.match?('abcd').should be_false
- pattern.match?('/abc').should be_false
- pattern.match?('').should be_false
- pattern.match?('/').should be_false
+ expect(pattern.match?('abc')).to be_truthy
+ expect(pattern.match?('a')).to be_falsey
+ expect(pattern.match?('abcd')).to be_falsey
+ expect(pattern.match?('/abc')).to be_falsey
+ expect(pattern.match?('')).to be_falsey
+ expect(pattern.match?('/')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == 'abc'
+ expect(pattern.exact_path).to eq('abc')
end
it 'could_match_children?' do
- pattern.could_match_children?('').should be_false
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc').should be_false
+ expect(pattern.could_match_children?('')).to be_falsey
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc')).to be_falsey
end
end
context 'with simple pattern "/abc"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc') }
it 'match?' do
- pattern.match?('/abc').should be_true
- pattern.match?('abc').should be_false
- pattern.match?('a').should be_false
- pattern.match?('abcd').should be_false
- pattern.match?('').should be_false
- pattern.match?('/').should be_false
+ expect(pattern.match?('/abc')).to be_truthy
+ expect(pattern.match?('abc')).to be_falsey
+ expect(pattern.match?('a')).to be_falsey
+ expect(pattern.match?('abcd')).to be_falsey
+ expect(pattern.match?('')).to be_falsey
+ expect(pattern.match?('/')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == '/abc'
+ expect(pattern.exact_path).to eq('/abc')
end
it 'could_match_children?' do
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc').should be_false
- pattern.could_match_children?('/').should be_true
- pattern.could_match_children?('').should be_false
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc')).to be_falsey
+ expect(pattern.could_match_children?('/')).to be_truthy
+ expect(pattern.could_match_children?('')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
end
end
context 'with simple pattern "abc/def/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('abc/def/ghi') }
it 'match?' do
- pattern.match?('abc/def/ghi').should be_true
- pattern.match?('/abc/def/ghi').should be_false
- pattern.match?('abc').should be_false
- pattern.match?('abc/def').should be_false
+ expect(pattern.match?('abc/def/ghi')).to be_truthy
+ expect(pattern.match?('/abc/def/ghi')).to be_falsey
+ expect(pattern.match?('abc')).to be_falsey
+ expect(pattern.match?('abc/def')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == 'abc/def/ghi'
+ expect(pattern.exact_path).to eq('abc/def/ghi')
end
it 'could_match_children?' do
- pattern.could_match_children?('abc').should be_true
- pattern.could_match_children?('xyz').should be_false
- pattern.could_match_children?('/abc').should be_false
- pattern.could_match_children?('abc/def').should be_true
- pattern.could_match_children?('abc/xyz').should be_false
- pattern.could_match_children?('abc/def/ghi').should be_false
+ expect(pattern.could_match_children?('abc')).to be_truthy
+ expect(pattern.could_match_children?('xyz')).to be_falsey
+ expect(pattern.could_match_children?('/abc')).to be_falsey
+ expect(pattern.could_match_children?('abc/def')).to be_truthy
+ expect(pattern.could_match_children?('abc/xyz')).to be_falsey
+ expect(pattern.could_match_children?('abc/def/ghi')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('abc').should == 'def'
- pattern.exact_child_name_under('abc/def').should == 'ghi'
+ expect(pattern.exact_child_name_under('abc')).to eq('def')
+ expect(pattern.exact_child_name_under('abc/def')).to eq('ghi')
end
end
context 'with simple pattern "/abc/def/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/def/ghi') }
it 'match?' do
- pattern.match?('/abc/def/ghi').should be_true
- pattern.match?('abc/def/ghi').should be_false
- pattern.match?('/abc').should be_false
- pattern.match?('/abc/def').should be_false
+ expect(pattern.match?('/abc/def/ghi')).to be_truthy
+ expect(pattern.match?('abc/def/ghi')).to be_falsey
+ expect(pattern.match?('/abc')).to be_falsey
+ expect(pattern.match?('/abc/def')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == '/abc/def/ghi'
+ expect(pattern.exact_path).to eq('/abc/def/ghi')
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/xyz').should be_false
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc/def').should be_true
- pattern.could_match_children?('/abc/xyz').should be_false
- pattern.could_match_children?('/abc/def/ghi').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def')).to be_truthy
+ expect(pattern.could_match_children?('/abc/xyz')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def/ghi')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == 'def'
- pattern.exact_child_name_under('/abc/def').should == 'ghi'
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq('def')
+ expect(pattern.exact_child_name_under('/abc/def')).to eq('ghi')
end
end
context 'with simple pattern "a\*\b"', :pending => (Chef::Platform.windows?) do
let(:pattern) { Chef::ChefFS::FilePattern.new('a\*\b') }
it 'match?' do
- pattern.match?('a*b').should be_true
- pattern.match?('ab').should be_false
- pattern.match?('acb').should be_false
- pattern.match?('ab').should be_false
+ expect(pattern.match?('a*b')).to be_truthy
+ expect(pattern.match?('ab')).to be_falsey
+ expect(pattern.match?('acb')).to be_falsey
+ expect(pattern.match?('ab')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should == 'a*b'
+ expect(pattern.exact_path).to eq('a*b')
end
it 'could_match_children?' do
- pattern.could_match_children?('a/*b').should be_false
+ expect(pattern.could_match_children?('a/*b')).to be_falsey
end
end
context 'with star pattern "/abc/*/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/*/ghi') }
it 'match?' do
- pattern.match?('/abc/def/ghi').should be_true
- pattern.match?('/abc/ghi').should be_false
+ expect(pattern.match?('/abc/def/ghi')).to be_truthy
+ expect(pattern.match?('/abc/ghi')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/xyz').should be_false
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc/def').should be_true
- pattern.could_match_children?('/abc/xyz').should be_true
- pattern.could_match_children?('/abc/def/ghi').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def')).to be_truthy
+ expect(pattern.could_match_children?('/abc/xyz')).to be_truthy
+ expect(pattern.could_match_children?('/abc/def/ghi')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/def').should == 'ghi'
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/def')).to eq('ghi')
end
end
context 'with star pattern "/abc/d*f/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/d*f/ghi') }
it 'match?' do
- pattern.match?('/abc/def/ghi').should be_true
- pattern.match?('/abc/dxf/ghi').should be_true
- pattern.match?('/abc/df/ghi').should be_true
- pattern.match?('/abc/dxyzf/ghi').should be_true
- pattern.match?('/abc/d/ghi').should be_false
- pattern.match?('/abc/f/ghi').should be_false
- pattern.match?('/abc/ghi').should be_false
- pattern.match?('/abc/xyz/ghi').should be_false
+ expect(pattern.match?('/abc/def/ghi')).to be_truthy
+ expect(pattern.match?('/abc/dxf/ghi')).to be_truthy
+ expect(pattern.match?('/abc/df/ghi')).to be_truthy
+ expect(pattern.match?('/abc/dxyzf/ghi')).to be_truthy
+ expect(pattern.match?('/abc/d/ghi')).to be_falsey
+ expect(pattern.match?('/abc/f/ghi')).to be_falsey
+ expect(pattern.match?('/abc/ghi')).to be_falsey
+ expect(pattern.match?('/abc/xyz/ghi')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/xyz').should be_false
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc/def').should be_true
- pattern.could_match_children?('/abc/xyz').should be_false
- pattern.could_match_children?('/abc/dxyzf').should be_true
- pattern.could_match_children?('/abc/df').should be_true
- pattern.could_match_children?('/abc/d').should be_false
- pattern.could_match_children?('/abc/f').should be_false
- pattern.could_match_children?('/abc/def/ghi').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def')).to be_truthy
+ expect(pattern.could_match_children?('/abc/xyz')).to be_falsey
+ expect(pattern.could_match_children?('/abc/dxyzf')).to be_truthy
+ expect(pattern.could_match_children?('/abc/df')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d')).to be_falsey
+ expect(pattern.could_match_children?('/abc/f')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def/ghi')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/def').should == 'ghi'
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/def')).to eq('ghi')
end
end
context 'with star pattern "/abc/d??f/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/d??f/ghi') }
it 'match?' do
- pattern.match?('/abc/deef/ghi').should be_true
- pattern.match?('/abc/deeef/ghi').should be_false
- pattern.match?('/abc/def/ghi').should be_false
- pattern.match?('/abc/df/ghi').should be_false
- pattern.match?('/abc/d/ghi').should be_false
- pattern.match?('/abc/f/ghi').should be_false
- pattern.match?('/abc/ghi').should be_false
+ expect(pattern.match?('/abc/deef/ghi')).to be_truthy
+ expect(pattern.match?('/abc/deeef/ghi')).to be_falsey
+ expect(pattern.match?('/abc/def/ghi')).to be_falsey
+ expect(pattern.match?('/abc/df/ghi')).to be_falsey
+ expect(pattern.match?('/abc/d/ghi')).to be_falsey
+ expect(pattern.match?('/abc/f/ghi')).to be_falsey
+ expect(pattern.match?('/abc/ghi')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/xyz').should be_false
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc/deef').should be_true
- pattern.could_match_children?('/abc/deeef').should be_false
- pattern.could_match_children?('/abc/def').should be_false
- pattern.could_match_children?('/abc/df').should be_false
- pattern.could_match_children?('/abc/d').should be_false
- pattern.could_match_children?('/abc/f').should be_false
- pattern.could_match_children?('/abc/deef/ghi').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc/deef')).to be_truthy
+ expect(pattern.could_match_children?('/abc/deeef')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def')).to be_falsey
+ expect(pattern.could_match_children?('/abc/df')).to be_falsey
+ expect(pattern.could_match_children?('/abc/d')).to be_falsey
+ expect(pattern.could_match_children?('/abc/f')).to be_falsey
+ expect(pattern.could_match_children?('/abc/deef/ghi')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/deef').should == 'ghi'
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/deef')).to eq('ghi')
end
end
context 'with star pattern "/abc/d[a-z][0-9]f/ghi"', :pending => (Chef::Platform.windows?) do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/d[a-z][0-9]f/ghi') }
it 'match?' do
- pattern.match?('/abc/de1f/ghi').should be_true
- pattern.match?('/abc/deef/ghi').should be_false
- pattern.match?('/abc/d11f/ghi').should be_false
- pattern.match?('/abc/de11f/ghi').should be_false
- pattern.match?('/abc/dee1f/ghi').should be_false
- pattern.match?('/abc/df/ghi').should be_false
- pattern.match?('/abc/d/ghi').should be_false
- pattern.match?('/abc/f/ghi').should be_false
- pattern.match?('/abc/ghi').should be_false
+ expect(pattern.match?('/abc/de1f/ghi')).to be_truthy
+ expect(pattern.match?('/abc/deef/ghi')).to be_falsey
+ expect(pattern.match?('/abc/d11f/ghi')).to be_falsey
+ expect(pattern.match?('/abc/de11f/ghi')).to be_falsey
+ expect(pattern.match?('/abc/dee1f/ghi')).to be_falsey
+ expect(pattern.match?('/abc/df/ghi')).to be_falsey
+ expect(pattern.match?('/abc/d/ghi')).to be_falsey
+ expect(pattern.match?('/abc/f/ghi')).to be_falsey
+ expect(pattern.match?('/abc/ghi')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/xyz').should be_false
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/abc/de1f').should be_true
- pattern.could_match_children?('/abc/deef').should be_false
- pattern.could_match_children?('/abc/d11f').should be_false
- pattern.could_match_children?('/abc/de11f').should be_false
- pattern.could_match_children?('/abc/dee1f').should be_false
- pattern.could_match_children?('/abc/def').should be_false
- pattern.could_match_children?('/abc/df').should be_false
- pattern.could_match_children?('/abc/d').should be_false
- pattern.could_match_children?('/abc/f').should be_false
- pattern.could_match_children?('/abc/de1f/ghi').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/abc/de1f')).to be_truthy
+ expect(pattern.could_match_children?('/abc/deef')).to be_falsey
+ expect(pattern.could_match_children?('/abc/d11f')).to be_falsey
+ expect(pattern.could_match_children?('/abc/de11f')).to be_falsey
+ expect(pattern.could_match_children?('/abc/dee1f')).to be_falsey
+ expect(pattern.could_match_children?('/abc/def')).to be_falsey
+ expect(pattern.could_match_children?('/abc/df')).to be_falsey
+ expect(pattern.could_match_children?('/abc/d')).to be_falsey
+ expect(pattern.could_match_children?('/abc/f')).to be_falsey
+ expect(pattern.could_match_children?('/abc/de1f/ghi')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/de1f').should == 'ghi'
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/de1f')).to eq('ghi')
end
end
context 'with star pattern "/abc/**/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/**/ghi') }
it 'match?' do
- pattern.match?('/abc/def/ghi').should be_true
- pattern.match?('/abc/d/e/f/ghi').should be_true
- pattern.match?('/abc/ghi').should be_false
- pattern.match?('/abcdef/d/ghi').should be_false
- pattern.match?('/abc/d/defghi').should be_false
- pattern.match?('/xyz').should be_false
+ expect(pattern.match?('/abc/def/ghi')).to be_truthy
+ expect(pattern.match?('/abc/d/e/f/ghi')).to be_truthy
+ expect(pattern.match?('/abc/ghi')).to be_falsey
+ expect(pattern.match?('/abcdef/d/ghi')).to be_falsey
+ expect(pattern.match?('/abc/d/defghi')).to be_falsey
+ expect(pattern.match?('/xyz')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/abc/d').should be_true
- pattern.could_match_children?('/abc/d/e').should be_true
- pattern.could_match_children?('/abc/d/e/f').should be_true
- pattern.could_match_children?('/abc/def/ghi').should be_true
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/xyz').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d/e')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d/e/f')).to be_truthy
+ expect(pattern.could_match_children?('/abc/def/ghi')).to be_truthy
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/def').should == nil
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/def')).to eq(nil)
end
end
context 'with star pattern "/abc**/ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc**/ghi') }
it 'match?' do
- pattern.match?('/abc/def/ghi').should be_true
- pattern.match?('/abc/d/e/f/ghi').should be_true
- pattern.match?('/abc/ghi').should be_true
- pattern.match?('/abcdef/ghi').should be_true
- pattern.match?('/abc/defghi').should be_false
- pattern.match?('/xyz').should be_false
+ expect(pattern.match?('/abc/def/ghi')).to be_truthy
+ expect(pattern.match?('/abc/d/e/f/ghi')).to be_truthy
+ expect(pattern.match?('/abc/ghi')).to be_truthy
+ expect(pattern.match?('/abcdef/ghi')).to be_truthy
+ expect(pattern.match?('/abc/defghi')).to be_falsey
+ expect(pattern.match?('/xyz')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/abcdef').should be_true
- pattern.could_match_children?('/abc/d/e').should be_true
- pattern.could_match_children?('/abc/d/e/f').should be_true
- pattern.could_match_children?('/abc/def/ghi').should be_true
- pattern.could_match_children?('abc').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/abcdef')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d/e')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d/e/f')).to be_truthy
+ expect(pattern.could_match_children?('/abc/def/ghi')).to be_truthy
+ expect(pattern.could_match_children?('abc')).to be_falsey
end
it 'could_match_children? /abc** returns false for /xyz' do
- pending 'Make could_match_children? more rigorous' do
- # At the moment, we return false for this, but in the end it would be nice to return true:
- pattern.could_match_children?('/xyz').should be_false
- end
+ pending 'Make could_match_children? more rigorous'
+ # At the moment, we return false for this, but in the end it would be nice to return true:
+ pattern.could_match_children?('/xyz').should be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == nil
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/def').should == nil
+ expect(pattern.exact_child_name_under('/')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/def')).to eq(nil)
end
end
context 'with star pattern "/abc/**ghi"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('/abc/**ghi') }
it 'match?' do
- pattern.match?('/abc/def/ghi').should be_true
- pattern.match?('/abc/def/ghi/ghi').should be_true
- pattern.match?('/abc/def/ghi/jkl').should be_false
- pattern.match?('/abc/d/e/f/ghi').should be_true
- pattern.match?('/abc/ghi').should be_true
- pattern.match?('/abcdef/ghi').should be_false
- pattern.match?('/abc/defghi').should be_true
- pattern.match?('/xyz').should be_false
+ expect(pattern.match?('/abc/def/ghi')).to be_truthy
+ expect(pattern.match?('/abc/def/ghi/ghi')).to be_truthy
+ expect(pattern.match?('/abc/def/ghi/jkl')).to be_falsey
+ expect(pattern.match?('/abc/d/e/f/ghi')).to be_truthy
+ expect(pattern.match?('/abc/ghi')).to be_truthy
+ expect(pattern.match?('/abcdef/ghi')).to be_falsey
+ expect(pattern.match?('/abc/defghi')).to be_truthy
+ expect(pattern.match?('/xyz')).to be_falsey
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
it 'could_match_children?' do
- pattern.could_match_children?('/abc').should be_true
- pattern.could_match_children?('/abcdef').should be_false
- pattern.could_match_children?('/abc/d/e').should be_true
- pattern.could_match_children?('/abc/d/e/f').should be_true
- pattern.could_match_children?('/abc/def/ghi').should be_true
- pattern.could_match_children?('abc').should be_false
- pattern.could_match_children?('/xyz').should be_false
+ expect(pattern.could_match_children?('/abc')).to be_truthy
+ expect(pattern.could_match_children?('/abcdef')).to be_falsey
+ expect(pattern.could_match_children?('/abc/d/e')).to be_truthy
+ expect(pattern.could_match_children?('/abc/d/e/f')).to be_truthy
+ expect(pattern.could_match_children?('/abc/def/ghi')).to be_truthy
+ expect(pattern.could_match_children?('abc')).to be_falsey
+ expect(pattern.could_match_children?('/xyz')).to be_falsey
end
it 'exact_child_name_under' do
- pattern.exact_child_name_under('/').should == 'abc'
- pattern.exact_child_name_under('/abc').should == nil
- pattern.exact_child_name_under('/abc/def').should == nil
+ expect(pattern.exact_child_name_under('/')).to eq('abc')
+ expect(pattern.exact_child_name_under('/abc')).to eq(nil)
+ expect(pattern.exact_child_name_under('/abc/def')).to eq(nil)
end
end
context 'with star pattern "a**b**c"' do
let(:pattern) { Chef::ChefFS::FilePattern.new('a**b**c') }
it 'match?' do
- pattern.match?('axybzwc').should be_true
- pattern.match?('abc').should be_true
- pattern.match?('axyzwc').should be_false
- pattern.match?('ac').should be_false
- pattern.match?('a/x/y/b/z/w/c').should be_true
+ expect(pattern.match?('axybzwc')).to be_truthy
+ expect(pattern.match?('abc')).to be_truthy
+ expect(pattern.match?('axyzwc')).to be_falsey
+ expect(pattern.match?('ac')).to be_falsey
+ expect(pattern.match?('a/x/y/b/z/w/c')).to be_truthy
end
it 'exact_path' do
- pattern.exact_path.should be_nil
+ expect(pattern.exact_path).to be_nil
end
end
context 'normalization tests' do
it 'handles trailing slashes' do
- p('abc/').normalized_pattern.should == 'abc'
- p('abc/').exact_path.should == 'abc'
- p('abc/').match?('abc').should be_true
- p('//').normalized_pattern.should == '/'
- p('//').exact_path.should == '/'
- p('//').match?('/').should be_true
- p('/./').normalized_pattern.should == '/'
- p('/./').exact_path.should == '/'
- p('/./').match?('/').should be_true
+ expect(p('abc/').normalized_pattern).to eq('abc')
+ expect(p('abc/').exact_path).to eq('abc')
+ expect(p('abc/').match?('abc')).to be_truthy
+ expect(p('//').normalized_pattern).to eq('/')
+ expect(p('//').exact_path).to eq('/')
+ expect(p('//').match?('/')).to be_truthy
+ expect(p('/./').normalized_pattern).to eq('/')
+ expect(p('/./').exact_path).to eq('/')
+ expect(p('/./').match?('/')).to be_truthy
end
it 'handles multiple slashes' do
- p('abc//def').normalized_pattern.should == 'abc/def'
- p('abc//def').exact_path.should == 'abc/def'
- p('abc//def').match?('abc/def').should be_true
- p('abc//').normalized_pattern.should == 'abc'
- p('abc//').exact_path.should == 'abc'
- p('abc//').match?('abc').should be_true
+ expect(p('abc//def').normalized_pattern).to eq('abc/def')
+ expect(p('abc//def').exact_path).to eq('abc/def')
+ expect(p('abc//def').match?('abc/def')).to be_truthy
+ expect(p('abc//').normalized_pattern).to eq('abc')
+ expect(p('abc//').exact_path).to eq('abc')
+ expect(p('abc//').match?('abc')).to be_truthy
end
it 'handles dot' do
- p('abc/./def').normalized_pattern.should == 'abc/def'
- p('abc/./def').exact_path.should == 'abc/def'
- p('abc/./def').match?('abc/def').should be_true
- p('./abc/def').normalized_pattern.should == 'abc/def'
- p('./abc/def').exact_path.should == 'abc/def'
- p('./abc/def').match?('abc/def').should be_true
- p('/.').normalized_pattern.should == '/'
- p('/.').exact_path.should == '/'
- p('/.').match?('/').should be_true
+ expect(p('abc/./def').normalized_pattern).to eq('abc/def')
+ expect(p('abc/./def').exact_path).to eq('abc/def')
+ expect(p('abc/./def').match?('abc/def')).to be_truthy
+ expect(p('./abc/def').normalized_pattern).to eq('abc/def')
+ expect(p('./abc/def').exact_path).to eq('abc/def')
+ expect(p('./abc/def').match?('abc/def')).to be_truthy
+ expect(p('/.').normalized_pattern).to eq('/')
+ expect(p('/.').exact_path).to eq('/')
+ expect(p('/.').match?('/')).to be_truthy
end
it 'handles dot by itself', :pending => "decide what to do with dot by itself" do
- p('.').normalized_pattern.should == '.'
- p('.').exact_path.should == '.'
- p('.').match?('.').should be_true
- p('./').normalized_pattern.should == '.'
- p('./').exact_path.should == '.'
- p('./').match?('.').should be_true
+ expect(p('.').normalized_pattern).to eq('.')
+ expect(p('.').exact_path).to eq('.')
+ expect(p('.').match?('.')).to be_truthy
+ expect(p('./').normalized_pattern).to eq('.')
+ expect(p('./').exact_path).to eq('.')
+ expect(p('./').match?('.')).to be_truthy
end
it 'handles dotdot' do
- p('abc/../def').normalized_pattern.should == 'def'
- p('abc/../def').exact_path.should == 'def'
- p('abc/../def').match?('def').should be_true
- p('abc/def/../..').normalized_pattern.should == ''
- p('abc/def/../..').exact_path.should == ''
- p('abc/def/../..').match?('').should be_true
- p('/*/../def').normalized_pattern.should == '/def'
- p('/*/../def').exact_path.should == '/def'
- p('/*/../def').match?('/def').should be_true
- p('/*/*/../def').normalized_pattern.should == '/*/def'
- p('/*/*/../def').exact_path.should be_nil
- p('/*/*/../def').match?('/abc/def').should be_true
- p('/abc/def/../..').normalized_pattern.should == '/'
- p('/abc/def/../..').exact_path.should == '/'
- p('/abc/def/../..').match?('/').should be_true
- p('abc/../../def').normalized_pattern.should == '../def'
- p('abc/../../def').exact_path.should == '../def'
- p('abc/../../def').match?('../def').should be_true
+ expect(p('abc/../def').normalized_pattern).to eq('def')
+ expect(p('abc/../def').exact_path).to eq('def')
+ expect(p('abc/../def').match?('def')).to be_truthy
+ expect(p('abc/def/../..').normalized_pattern).to eq('')
+ expect(p('abc/def/../..').exact_path).to eq('')
+ expect(p('abc/def/../..').match?('')).to be_truthy
+ expect(p('/*/../def').normalized_pattern).to eq('/def')
+ expect(p('/*/../def').exact_path).to eq('/def')
+ expect(p('/*/../def').match?('/def')).to be_truthy
+ expect(p('/*/*/../def').normalized_pattern).to eq('/*/def')
+ expect(p('/*/*/../def').exact_path).to be_nil
+ expect(p('/*/*/../def').match?('/abc/def')).to be_truthy
+ expect(p('/abc/def/../..').normalized_pattern).to eq('/')
+ expect(p('/abc/def/../..').exact_path).to eq('/')
+ expect(p('/abc/def/../..').match?('/')).to be_truthy
+ expect(p('abc/../../def').normalized_pattern).to eq('../def')
+ expect(p('abc/../../def').exact_path).to eq('../def')
+ expect(p('abc/../../def').match?('../def')).to be_truthy
end
it 'handles dotdot with double star' do
- p('abc**/def/../ghi').exact_path.should be_nil
- p('abc**/def/../ghi').match?('abc/ghi').should be_true
- p('abc**/def/../ghi').match?('abc/x/y/z/ghi').should be_true
- p('abc**/def/../ghi').match?('ghi').should be_false
+ expect(p('abc**/def/../ghi').exact_path).to be_nil
+ expect(p('abc**/def/../ghi').match?('abc/ghi')).to be_truthy
+ expect(p('abc**/def/../ghi').match?('abc/x/y/z/ghi')).to be_truthy
+ expect(p('abc**/def/../ghi').match?('ghi')).to be_falsey
end
it 'raises error on dotdot with overlapping double star' do
- lambda { Chef::ChefFS::FilePattern.new('abc/**/../def').exact_path }.should raise_error(ArgumentError)
- lambda { Chef::ChefFS::FilePattern.new('abc/**/abc/../../def').exact_path }.should raise_error(ArgumentError)
+ expect { Chef::ChefFS::FilePattern.new('abc/**/../def').exact_path }.to raise_error(ArgumentError)
+ expect { Chef::ChefFS::FilePattern.new('abc/**/abc/../../def').exact_path }.to raise_error(ArgumentError)
end
it 'handles leading dotdot' do
- p('../abc/def').exact_path.should == '../abc/def'
- p('../abc/def').match?('../abc/def').should be_true
- p('/../abc/def').exact_path.should == '/abc/def'
- p('/../abc/def').match?('/abc/def').should be_true
- p('..').exact_path.should == '..'
- p('..').match?('..').should be_true
- p('/..').exact_path.should == '/'
- p('/..').match?('/').should be_true
+ expect(p('../abc/def').exact_path).to eq('../abc/def')
+ expect(p('../abc/def').match?('../abc/def')).to be_truthy
+ expect(p('/../abc/def').exact_path).to eq('/abc/def')
+ expect(p('/../abc/def').match?('/abc/def')).to be_truthy
+ expect(p('..').exact_path).to eq('..')
+ expect(p('..').match?('..')).to be_truthy
+ expect(p('/..').exact_path).to eq('/')
+ expect(p('/..').match?('/')).to be_truthy
end
end
diff --git a/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb b/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb
index 570246c41f..142755a4f1 100644
--- a/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb
+++ b/spec/unit/chef_fs/file_system/operation_failed_error_spec.rb
@@ -27,20 +27,20 @@ describe Chef::ChefFS::FileSystem::OperationFailedError do
it 'include error cause' do
allow_message_expectations_on_nil
response_body = '{"error":["Invalid key test in request body"]}'
- @response.stub(:code).and_return("400")
- @response.stub(:body).and_return(response_body)
+ allow(@response).to receive(:code).and_return("400")
+ allow(@response).to receive(:body).and_return(response_body)
exception = Net::HTTPServerException.new("(exception) unauthorized", @response)
- proc {
+ expect {
raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self, exception), error_message
- }.should raise_error(Chef::ChefFS::FileSystem::OperationFailedError, "#{error_message} cause: #{response_body}")
+ }.to raise_error(Chef::ChefFS::FileSystem::OperationFailedError, "#{error_message} cause: #{response_body}")
end
end
context 'does not have a cause attribute' do
it 'does not include error cause' do
- proc {
+ expect {
raise Chef::ChefFS::FileSystem::OperationFailedError.new(:write, self), error_message
- }.should raise_error(Chef::ChefFS::FileSystem::OperationFailedError, error_message)
+ }.to raise_error(Chef::ChefFS::FileSystem::OperationFailedError, error_message)
end
end
end
diff --git a/spec/unit/chef_fs/file_system_spec.rb b/spec/unit/chef_fs/file_system_spec.rb
index 50f20a7a1c..75ca4d4be9 100644
--- a/spec/unit/chef_fs/file_system_spec.rb
+++ b/spec/unit/chef_fs/file_system_spec.rb
@@ -43,13 +43,13 @@ describe Chef::ChefFS::FileSystem do
context 'resolve_path' do
it '/' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/').path.should == '/'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/').path).to eq('/')
end
it 'nonexistent /a' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/a').path.should == '/a'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/a').path).to eq('/a')
end
it 'nonexistent /a/b' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/a/b').path.should == '/a/b'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/a/b').path).to eq('/a/b')
end
end
end
@@ -114,34 +114,34 @@ describe Chef::ChefFS::FileSystem do
no_blocking_calls_allowed
end
it 'resolves /' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/').path.should == '/'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/').path).to eq('/')
end
it 'resolves /x' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/x').path.should == '/x'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/x').path).to eq('/x')
end
it 'resolves /a' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/a').path.should == '/a'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/a').path).to eq('/a')
end
it 'resolves /a/aa' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/a/aa').path.should == '/a/aa'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/a/aa').path).to eq('/a/aa')
end
it 'resolves /a/aa/zz' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/a/aa/zz').path.should == '/a/aa/zz'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/a/aa/zz').path).to eq('/a/aa/zz')
end
it 'resolves nonexistent /q/x/w' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/q/x/w').path.should == '/q/x/w'
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/q/x/w').path).to eq('/q/x/w')
end
end
context 'empty?' do
it 'is not empty /' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/').empty?.should be false
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/').empty?).to be false
end
it 'is empty /y' do
- Chef::ChefFS::FileSystem.resolve_path(fs, '/y').empty?.should be true
+ expect(Chef::ChefFS::FileSystem.resolve_path(fs, '/y').empty?).to be true
end
it 'is not a directory and can\'t be tested /x' do
- lambda { Chef::ChefFS::FileSystem.resolve_path(fs, '/x').empty? }.should raise_error(NoMethodError)
+ expect { Chef::ChefFS::FileSystem.resolve_path(fs, '/x').empty? }.to raise_error(NoMethodError)
end
end
end
diff --git a/spec/unit/chef_fs/parallelizer.rb b/spec/unit/chef_fs/parallelizer.rb
index a871b60e98..9cb97963ed 100644
--- a/spec/unit/chef_fs/parallelizer.rb
+++ b/spec/unit/chef_fs/parallelizer.rb
@@ -29,8 +29,8 @@ describe Chef::ChefFS::Parallelizer do
sleep val
outputs << val
end
- elapsed_time.should < 0.6
- outputs.should == [ 0.1, 0.3, 0.5 ]
+ expect(elapsed_time).to be < 0.6
+ expect(outputs).to eq([ 0.1, 0.3, 0.5 ])
end
context "With :ordered => false (unordered output)" do
@@ -38,15 +38,15 @@ describe Chef::ChefFS::Parallelizer do
parallelize([], :ordered => false) do
sleep 10
end.to_a == []
- elapsed_time.should < 0.1
+ expect(elapsed_time).to be < 0.1
end
it "10 sleep(0.2)s complete within 0.5 seconds" do
- parallelize(1.upto(10), :ordered => false) do |i|
+ expect(parallelize(1.upto(10), :ordered => false) do |i|
sleep 0.2
'x'
- end.to_a.should == %w(x x x x x x x x x x)
- elapsed_time.should < 0.5
+ end.to_a).to eq(%w(x x x x x x x x x x))
+ expect(elapsed_time).to be < 0.5
end
it "The output comes as soon as it is available" do
@@ -54,10 +54,10 @@ describe Chef::ChefFS::Parallelizer do
sleep val
val
end
- enum.map do |value|
- elapsed_time.should < value+0.1
+ expect(enum.map do |value|
+ expect(elapsed_time).to be < value+0.1
value
- end.should == [ 0.1, 0.3, 0.5 ]
+ end).to eq([ 0.1, 0.3, 0.5 ])
end
it "An exception in input is passed through but does NOT stop processing" do
@@ -67,8 +67,8 @@ describe Chef::ChefFS::Parallelizer do
enum = parallelize(input, :ordered => false) { |x| sleep(x); x }
results = []
expect { enum.each { |value| results << value } }.to raise_error 'hi'
- results.should == [ 0.1, 0.3, 0.5 ]
- elapsed_time.should < 0.6
+ expect(results).to eq([ 0.1, 0.3, 0.5 ])
+ expect(elapsed_time).to be < 0.6
end
it "Exceptions in output are raised after all processing is done" do
@@ -84,9 +84,9 @@ describe Chef::ChefFS::Parallelizer do
end
results = []
expect { enum.each { |value| results << value } }.to raise_error 'hi'
- results.sort.should == [ 1, 2, 3 ]
- elapsed_time.should < 0.3
- processed.should == 3
+ expect(results.sort).to eq([ 1, 2, 3 ])
+ expect(elapsed_time).to be < 0.3
+ expect(processed).to eq(3)
end
it "Exceptions with :stop_on_exception are raised after all processing is done" do
@@ -101,7 +101,7 @@ describe Chef::ChefFS::Parallelizer do
x
end
expect { parallelized.to_a }.to raise_error 'hi'
- processed.should == 4
+ expect(processed).to eq(4)
end
end
@@ -110,15 +110,15 @@ describe Chef::ChefFS::Parallelizer do
parallelize([]) do
sleep 10
end.to_a == []
- elapsed_time.should < 0.1
+ expect(elapsed_time).to be < 0.1
end
it "10 sleep(0.2)s complete within 0.5 seconds" do
- parallelize(1.upto(10), :ordered => true) do |i|
+ expect(parallelize(1.upto(10), :ordered => true) do |i|
sleep 0.2
'x'
- end.to_a.should == %w(x x x x x x x x x x)
- elapsed_time.should < 0.5
+ end.to_a).to eq(%w(x x x x x x x x x x))
+ expect(elapsed_time).to be < 0.5
end
it "Output comes in the order of the input" do
@@ -126,10 +126,10 @@ describe Chef::ChefFS::Parallelizer do
sleep val
val
end.enum_for(:each_with_index)
- enum.next.should == [ 0.5, 0 ]
- enum.next.should == [ 0.3, 1 ]
- enum.next.should == [ 0.1, 2 ]
- elapsed_time.should < 0.6
+ expect(enum.next).to eq([ 0.5, 0 ])
+ expect(enum.next).to eq([ 0.3, 1 ])
+ expect(enum.next).to eq([ 0.1, 2 ])
+ expect(elapsed_time).to be < 0.6
end
it "Exceptions in input are raised in the correct sequence but do NOT stop processing" do
@@ -139,8 +139,8 @@ describe Chef::ChefFS::Parallelizer do
results = []
enum = parallelize(input) { |x| sleep(x); x }
expect { enum.each { |value| results << value } }.to raise_error 'hi'
- elapsed_time.should < 0.6
- results.should == [ 0.5, 0.3, 0.1 ]
+ expect(elapsed_time).to be < 0.6
+ expect(results).to eq([ 0.5, 0.3, 0.1 ])
end
it "Exceptions in output are raised in the correct sequence and running processes do NOT stop processing" do
@@ -156,9 +156,9 @@ describe Chef::ChefFS::Parallelizer do
end
results = []
expect { enum.each { |value| results << value } }.to raise_error 'hi'
- results.should == [ 1, 2 ]
- elapsed_time.should < 0.3
- processed.should == 3
+ expect(results).to eq([ 1, 2 ])
+ expect(elapsed_time).to be < 0.3
+ expect(processed).to eq(3)
end
it "Exceptions with :stop_on_exception are raised after all processing is done" do
@@ -173,7 +173,7 @@ describe Chef::ChefFS::Parallelizer do
x
end
expect { parallelized.to_a }.to raise_error 'hi'
- processed.should == 4
+ expect(processed).to eq(4)
end
end
@@ -187,10 +187,10 @@ describe Chef::ChefFS::Parallelizer do
sleep 0.1
end
enum = parallelize(input) { |x| x }
- enum.map do |value|
- elapsed_time.should < (value+1)*0.1
+ expect(enum.map do |value|
+ expect(elapsed_time).to be < (value+1)*0.1
value
- end.should == [ 1, 2, 3 ]
+ end).to eq([ 1, 2, 3 ])
end
end
@@ -226,44 +226,44 @@ describe Chef::ChefFS::Parallelizer do
end
it "parallelize with :main_thread_processing = true does not block" do
- parallelizer.parallelize([1]) do |x|
+ expect(parallelizer.parallelize([1]) do |x|
sleep(0.1)
x
- end.to_a.should == [ 1 ]
- elapsed_time.should < 0.2
+ end.to_a).to eq([ 1 ])
+ expect(elapsed_time).to be < 0.2
end
it "parallelize with :main_thread_processing = false waits for the job to finish" do
- parallelizer.parallelize([1], :main_thread_processing => false) do |x|
+ expect(parallelizer.parallelize([1], :main_thread_processing => false) do |x|
sleep(0.1)
x+1
- end.to_a.should == [ 2 ]
- elapsed_time.should > 0.3
+ end.to_a).to eq([ 2 ])
+ expect(elapsed_time).to be > 0.3
end
it "resizing the Parallelizer to 0 waits for the job to stop" do
- elapsed_time.should < 0.2
+ expect(elapsed_time).to be < 0.2
parallelizer.resize(0)
- parallelizer.num_threads.should == 0
- elapsed_time.should > 0.25
- @occupying_job_finished.should == [ true ]
+ expect(parallelizer.num_threads).to eq(0)
+ expect(elapsed_time).to be > 0.25
+ expect(@occupying_job_finished).to eq([ true ])
end
it "stopping the Parallelizer waits for the job to finish" do
- elapsed_time.should < 0.2
+ expect(elapsed_time).to be < 0.2
parallelizer.stop
- parallelizer.num_threads.should == 0
- elapsed_time.should > 0.25
- @occupying_job_finished.should == [ true ]
+ expect(parallelizer.num_threads).to eq(0)
+ expect(elapsed_time).to be > 0.25
+ expect(@occupying_job_finished).to eq([ true ])
end
it "resizing the Parallelizer to 2 does not stop the job" do
- elapsed_time.should < 0.2
+ expect(elapsed_time).to be < 0.2
parallelizer.resize(2)
- parallelizer.num_threads.should == 2
- elapsed_time.should < 0.2
+ expect(parallelizer.num_threads).to eq(2)
+ expect(elapsed_time).to be < 0.2
sleep(0.3)
- @occupying_job_finished.should == [ true ]
+ expect(@occupying_job_finished).to eq([ true ])
end
end
@@ -276,9 +276,9 @@ describe Chef::ChefFS::Parallelizer do
sleep(0.05) # Just enough to yield and get other inputs in the queue
x
end
- enum.count.should == 6
- outputs_processed.should == 0
- input_mapper.num_processed.should == 6
+ expect(enum.count).to eq(6)
+ expect(outputs_processed).to eq(0)
+ expect(input_mapper.num_processed).to eq(6)
end
it ".count with arguments works normally" do
@@ -288,10 +288,10 @@ describe Chef::ChefFS::Parallelizer do
outputs_processed += 1
x
end
- enum.count { |x| x > 1 }.should == 6
- enum.count(2).should == 3
- outputs_processed.should == 20
- input_mapper.num_processed.should == 20
+ expect(enum.count { |x| x > 1 }).to eq(6)
+ expect(enum.count(2)).to eq(3)
+ expect(outputs_processed).to eq(20)
+ expect(input_mapper.num_processed).to eq(20)
end
it ".first does not enumerate anything other than the first result(s)" do
@@ -302,10 +302,10 @@ describe Chef::ChefFS::Parallelizer do
sleep(0.05) # Just enough to yield and get other inputs in the queue
x
end
- enum.first.should == 1
- enum.first(2).should == [1,2]
- outputs_processed.should == 3
- input_mapper.num_processed.should == 3
+ expect(enum.first).to eq(1)
+ expect(enum.first(2)).to eq([1,2])
+ expect(outputs_processed).to eq(3)
+ expect(input_mapper.num_processed).to eq(3)
end
it ".take does not enumerate anything other than the first result(s)" do
@@ -316,9 +316,9 @@ describe Chef::ChefFS::Parallelizer do
sleep(0.05) # Just enough to yield and get other inputs in the queue
x
end
- enum.take(2).should == [1,2]
- outputs_processed.should == 2
- input_mapper.num_processed.should == 2
+ expect(enum.take(2)).to eq([1,2])
+ expect(outputs_processed).to eq(2)
+ expect(input_mapper.num_processed).to eq(2)
end
it ".drop does not process anything other than the last result(s)" do
@@ -329,9 +329,9 @@ describe Chef::ChefFS::Parallelizer do
sleep(0.05) # Just enough to yield and get other inputs in the queue
x
end
- enum.drop(2).should == [3,4,5,6]
- outputs_processed.should == 4
- input_mapper.num_processed.should == 6
+ expect(enum.drop(2)).to eq([3,4,5,6])
+ expect(outputs_processed).to eq(4)
+ expect(input_mapper.num_processed).to eq(6)
end
if Enumerable.method_defined?(:lazy)
@@ -343,9 +343,9 @@ describe Chef::ChefFS::Parallelizer do
sleep(0.05) # Just enough to yield and get other inputs in the queue
x
end
- enum.lazy.take(2).to_a.should == [1,2]
- outputs_processed.should == 2
- input_mapper.num_processed.should == 2
+ expect(enum.lazy.take(2).to_a).to eq([1,2])
+ expect(outputs_processed).to eq(2)
+ expect(input_mapper.num_processed).to eq(2)
end
it ".drop does not process anything other than the last result(s)" do
@@ -356,9 +356,9 @@ describe Chef::ChefFS::Parallelizer do
sleep(0.05) # Just enough to yield and get other inputs in the queue
x
end
- enum.lazy.drop(2).to_a.should == [3,4,5,6]
- outputs_processed.should == 4
- input_mapper.num_processed.should == 6
+ expect(enum.lazy.drop(2).to_a).to eq([3,4,5,6])
+ expect(outputs_processed).to eq(4)
+ expect(input_mapper.num_processed).to eq(6)
end
it "lazy enumerable is actually lazy" do
@@ -372,8 +372,8 @@ describe Chef::ChefFS::Parallelizer do
enum.lazy.take(2)
enum.lazy.drop(2)
sleep(0.1)
- outputs_processed.should == 0
- input_mapper.num_processed.should == 0
+ expect(outputs_processed).to eq(0)
+ expect(input_mapper.num_processed).to eq(0)
end
end
end
@@ -386,10 +386,10 @@ describe Chef::ChefFS::Parallelizer do
outputs_processed += 1
x
end
- enum.map { |x| x }.should == [1,2,3]
- enum.map { |x| x }.should == [1,2,3]
- outputs_processed.should == 6
- input_mapper.num_processed.should == 6
+ expect(enum.map { |x| x }).to eq([1,2,3])
+ expect(enum.map { |x| x }).to eq([1,2,3])
+ expect(outputs_processed).to eq(6)
+ expect(input_mapper.num_processed).to eq(6)
end
it ".first and then .map on the same parallel enumerable returns the correct results and re-processes the input" do
@@ -399,10 +399,10 @@ describe Chef::ChefFS::Parallelizer do
outputs_processed += 1
x
end
- enum.first.should == 1
- enum.map { |x| x }.should == [1,2,3]
- outputs_processed.should >= 4
- input_mapper.num_processed.should >= 4
+ expect(enum.first).to eq(1)
+ expect(enum.map { |x| x }).to eq([1,2,3])
+ expect(outputs_processed).to be >= 4
+ expect(input_mapper.num_processed).to be >= 4
end
it "two simultaneous enumerations throws an exception" do
@@ -424,7 +424,7 @@ describe Chef::ChefFS::Parallelizer do
context "And main_thread_processing on" do
it "succeeds in running" do
- parallelizer.parallelize([0.5]) { |x| x*2 }.to_a.should == [1]
+ expect(parallelizer.parallelize([0.5]) { |x| x*2 }.to_a).to eq([1])
end
end
end
@@ -435,11 +435,11 @@ describe Chef::ChefFS::Parallelizer do
end
it "does not have contention issues with large numbers of inputs" do
- parallelizer.parallelize(1.upto(500)) { |x| x+1 }.to_a.should == 2.upto(501).to_a
+ expect(parallelizer.parallelize(1.upto(500)) { |x| x+1 }.to_a).to eq(2.upto(501).to_a)
end
it "does not have contention issues with large numbers of inputs with ordering off" do
- parallelizer.parallelize(1.upto(500), :ordered => false) { |x| x+1 }.to_a.sort.should == 2.upto(501).to_a
+ expect(parallelizer.parallelize(1.upto(500), :ordered => false) { |x| x+1 }.to_a.sort).to eq(2.upto(501).to_a)
end
it "does not have contention issues with large numbers of jobs and inputs with ordering off" do
@@ -451,7 +451,7 @@ describe Chef::ChefFS::Parallelizer do
Thread.new { outputs[i] = parallelizers[i].to_a }
end
threads.each { |thread| thread.join }
- outputs.each { |output| output.sort.should == 2.upto(501).to_a }
+ outputs.each { |output| expect(output.sort).to eq(2.upto(501).to_a) }
end
end