| 
					
				 | 
			
			
				@@ -7,7 +7,14 @@ import time 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from ...constants import *  # NOQA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from .. import are_symlinks_supported, are_hardlinks_supported 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 from ...platformflags import is_win32, is_darwin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-from . import cmd, create_regular_file, RK_ENCRYPTION, assert_line_exists, generate_archiver_tests 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+from . import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cmd, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    create_regular_file, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    RK_ENCRYPTION, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assert_line_exists, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    generate_archiver_tests, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assert_line_not_exists, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 pytest_generate_tests = lambda metafunc: generate_archiver_tests(metafunc, kinds="local,remote,binary")  # NOQA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,17 +112,20 @@ def test_basic_functionality(archivers, request): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # pointing to the file is not changed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         change = "modified.*0 B" if can_compare_ids else r"modified:  \(can't get size\)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert_line_exists(lines, f"{change}.*input/empty") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # Do not show a 0 byte change for a file whose contents weren't modified. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert_line_not_exists(lines, "0 B.*input/file_touched") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if not content_only: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            assert_line_exists(lines, "[cm]time:.*input/file_touched") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            # And if we're doing content-only, don't show the file at all. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            assert "input/file_touched" not in output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if are_hardlinks_supported(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             assert_line_exists(lines, f"{change}.*input/hardlink_contents_changed") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if are_symlinks_supported(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             assert "input/link_target_contents_changed" not in output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # Show a 0 byte change for a file whose contents weren't modified for text output. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if content_only: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            assert "input/file_touched" not in output 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            assert_line_exists(lines, f"{change}.*input/file_touched") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Added a new file and a hard link to it. Both links to the same 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # inode should appear as separate files. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert "added:              2.05 kB input/file_added" in output 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -159,7 +169,7 @@ def test_basic_functionality(archivers, request): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # File unchanged 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert not any(get_changes("input/file_unchanged", joutput)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        # Do NOT show a 0 byte change for a file whose contents weren't modified for JSON output. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # Do not show a 0 byte change for a file whose contents weren't modified. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         unexpected = {"type": "modified", "added": 0, "removed": 0} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert unexpected not in get_changes("input/file_touched", joutput) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not content_only: 
			 |