diff options
author | John Keiser <jkeiser@opscode.com> | 2013-05-30 09:11:14 -0700 |
---|---|---|
committer | John Keiser <jkeiser@opscode.com> | 2013-06-07 13:12:35 -0700 |
commit | ced6b7747cfce06813ca1e65b80f5d7aec23062d (patch) | |
tree | 78c2906203b0ef5ef07a9f968a464416289448f4 /spec/unit/chef_fs | |
parent | f8ba656b8fb1d464d8c17cd29fd54cf41aa76c5b (diff) | |
download | chef-ced6b7747cfce06813ca1e65b80f5d7aec23062d.tar.gz |
Fix diff_spec on Solaris
Diffstat (limited to 'spec/unit/chef_fs')
-rw-r--r-- | spec/unit/chef_fs/diff_spec.rb | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/spec/unit/chef_fs/diff_spec.rb b/spec/unit/chef_fs/diff_spec.rb index 85f074e168..2133d05139 100644 --- a/spec/unit/chef_fs/diff_spec.rb +++ b/spec/unit/chef_fs/diff_spec.rb @@ -23,8 +23,9 @@ require 'chef/chef_fs/command_line' # Removes the date stamp from the diff and replaces it with ' DATE' # example match: "/dev/null\t2012-10-16 16:15:54.000000000 +0000" # windows match: "--- /dev/null\tTue Oct 16 18:04:34 2012" -def remove_date(diff) - diff.gsub(/([+-]{3}.*)\t.*/, '\1 DATE') +def remove_os_differences(diff) + diff = diff.gsub(/([+-]{3}.*)\t.*/, '\1 DATE') + diff.gsub(/^@@ -\d(,\d)? \+\d(,\d)? @@/, 'CONTEXT_LINE_NUMBERS') end describe 'diff', :uses_diff => true do @@ -88,33 +89,33 @@ describe 'diff', :uses_diff => true do it 'Chef::ChefFS::CommandLine.diff_print(/)' do results = [] Chef::ChefFS::CommandLine.diff_print(pattern('/'), a, b, nil, nil) do |diff| - results << remove_date(diff) + results << remove_os_differences(diff) end results.should =~ [ '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 -@@ -1 +1 @@ +CONTEXT_LINE_NUMBERS -a +b ','diff --knife a/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub b/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub new file --- /dev/null DATE +++ b/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub DATE -@@ -0,0 +1 @@ +CONTEXT_LINE_NUMBERS +subsub ','diff --knife a/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub b/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub deleted file --- a/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -subsub ','Only in a/both_dirs: sub_a_only_dir ','diff --knife a/both_dirs/sub_a_only_file b/both_dirs/sub_a_only_file deleted file --- a/both_dirs/sub_a_only_file DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -sub_a_only_file ','File a/both_dirs/sub_dir_in_a_file_in_b is a directory while file b/both_dirs/sub_dir_in_a_file_in_b is a regular file ','File a/both_dirs/sub_file_in_a_dir_in_b is a regular file while file b/both_dirs/sub_file_in_a_dir_in_b is a directory @@ -123,32 +124,32 @@ deleted file new file --- /dev/null DATE +++ b/both_dirs/sub_b_only_file DATE -@@ -0,0 +1 @@ +CONTEXT_LINE_NUMBERS +sub_b_only_file ','diff --knife a/both_files_different b/both_files_different --- a/both_files_different DATE +++ b/both_files_different DATE -@@ -1 +1 @@ +CONTEXT_LINE_NUMBERS -a +b ','diff --knife a/dirs_empty_in_a_filled_in_b/subsub b/dirs_empty_in_a_filled_in_b/subsub new file --- /dev/null DATE +++ b/dirs_empty_in_a_filled_in_b/subsub DATE -@@ -0,0 +1 @@ +CONTEXT_LINE_NUMBERS +subsub ','diff --knife a/dirs_empty_in_b_filled_in_a/subsub b/dirs_empty_in_b_filled_in_a/subsub deleted file --- a/dirs_empty_in_b_filled_in_a/subsub DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -subsub ','Only in a: a_only_dir ','diff --knife a/a_only_file b/a_only_file deleted file --- a/a_only_file DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -a_only_file ','File a/dir_in_a_file_in_b is a directory while file b/dir_in_a_file_in_b is a regular file ','File a/file_in_a_dir_in_b is a regular file while file b/file_in_a_dir_in_b is a directory @@ -157,40 +158,40 @@ deleted file new file --- /dev/null DATE +++ b/b_only_file DATE -@@ -0,0 +1 @@ +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_date(diff) + results << remove_os_differences(diff) end results.should =~ [ '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 -@@ -1 +1 @@ +CONTEXT_LINE_NUMBERS -a +b ','diff --knife a/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub b/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub new file --- /dev/null DATE +++ b/both_dirs/sub_dirs_empty_in_a_filled_in_b/subsub DATE -@@ -0,0 +1 @@ +CONTEXT_LINE_NUMBERS +subsub ','diff --knife a/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub b/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub deleted file --- a/both_dirs/sub_dirs_empty_in_b_filled_in_a/subsub DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -subsub ','Only in a/both_dirs: sub_a_only_dir ','diff --knife a/both_dirs/sub_a_only_file b/both_dirs/sub_a_only_file deleted file --- a/both_dirs/sub_a_only_file DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -sub_a_only_file ','File a/both_dirs/sub_dir_in_a_file_in_b is a directory while file b/both_dirs/sub_dir_in_a_file_in_b is a regular file ','File a/both_dirs/sub_file_in_a_dir_in_b is a regular file while file b/both_dirs/sub_file_in_a_dir_in_b is a directory @@ -199,21 +200,21 @@ deleted file new file --- /dev/null DATE +++ b/both_dirs/sub_b_only_file DATE -@@ -0,0 +1 @@ +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_date(diff) + results << remove_os_differences(diff) end results.should =~ [ 'Common subdirectories: b/both_dirs ','diff --knife a/both_files_different b/both_files_different --- a/both_files_different DATE +++ b/both_files_different DATE -@@ -1 +1 @@ +CONTEXT_LINE_NUMBERS -a +b ','Common subdirectories: b/both_dirs_empty @@ -224,7 +225,7 @@ new file deleted file --- a/a_only_file DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -a_only_file ','File a/dir_in_a_file_in_b is a directory while file b/dir_in_a_file_in_b is a regular file ','File a/file_in_a_dir_in_b is a regular file while file b/file_in_a_dir_in_b is a directory @@ -233,21 +234,21 @@ deleted file new file --- /dev/null DATE +++ b/b_only_file DATE -@@ -0,0 +1 @@ +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_date(diff) + results << remove_os_differences(diff) end results.should =~ [ 'Common subdirectories: b/both_dirs ','diff --knife a/both_files_different b/both_files_different --- a/both_files_different DATE +++ b/both_files_different DATE -@@ -1 +1 @@ +CONTEXT_LINE_NUMBERS -a +b ','Common subdirectories: b/both_dirs_empty @@ -258,7 +259,7 @@ new file deleted file --- a/a_only_file DATE +++ /dev/null DATE -@@ -1 +0,0 @@ +CONTEXT_LINE_NUMBERS -a_only_file ','File a/dir_in_a_file_in_b is a directory while file b/dir_in_a_file_in_b is a regular file ','File a/file_in_a_dir_in_b is a regular file while file b/file_in_a_dir_in_b is a directory @@ -267,14 +268,14 @@ deleted file new file --- /dev/null DATE +++ b/b_only_file DATE -@@ -0,0 +1 @@ +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_date(diff) + results << remove_os_differences(diff) end results.should =~ [ "b/both_dirs/sub_both_files_different\n", @@ -300,7 +301,7 @@ new file 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_date(diff) + results << remove_os_differences(diff) end results.should =~ [ "M\tb/both_dirs/sub_both_files_different\n", |