summaryrefslogtreecommitdiff
path: root/spec/unit/chef_fs
diff options
context:
space:
mode:
authorJohn Keiser <jkeiser@opscode.com>2013-05-30 09:11:14 -0700
committerJohn Keiser <jkeiser@opscode.com>2013-06-07 13:12:35 -0700
commitced6b7747cfce06813ca1e65b80f5d7aec23062d (patch)
tree78c2906203b0ef5ef07a9f968a464416289448f4 /spec/unit/chef_fs
parentf8ba656b8fb1d464d8c17cd29fd54cf41aa76c5b (diff)
downloadchef-ced6b7747cfce06813ca1e65b80f5d7aec23062d.tar.gz
Fix diff_spec on Solaris
Diffstat (limited to 'spec/unit/chef_fs')
-rw-r--r--spec/unit/chef_fs/diff_spec.rb59
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",