| 
					
				 | 
			
			
				@@ -113,6 +113,32 @@ class TestLocationWithoutEnv: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert Location('file:///some/path').to_key_filename() == keys_dir + 'some_path' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_scp(self, monkeypatch, keys_dir): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        monkeypatch.delenv('BORG_REPO', raising=False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@host:/some/path::archive')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive='archive')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@host:/some/path')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[::]:/some/path::archive')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='::', port=None, path='/some/path', archive='archive')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[::]:/some/path')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='::', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2001:db8::]:/some/path::archive')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2001:db8::', port=None, path='/some/path', archive='archive')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2001:db8::]:/some/path')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2001:db8::', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2001:db8::c0:ffee]:/some/path::archive')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2001:db8::c0:ffee', port=None, path='/some/path', archive='archive')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2001:db8::c0:ffee]:/some/path')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2001:db8::c0:ffee', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2001:db8::192.0.2.1]:/some/path::archive')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2001:db8::192.0.2.1', port=None, path='/some/path', archive='archive')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2001:db8::192.0.2.1]:/some/path')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2001:db8::192.0.2.1', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert Location('user@[2001:db8::192.0.2.1]:/some/path').to_key_filename() == keys_dir + '2001_db8__192_0_2_1__some_path' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('user@[2a02:0001:0002:0003:0004:0005:0006:0007]:/some/path')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='2a02:0001:0002:0003:0004:0005:0006:0007', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def test_smb(self, monkeypatch, keys_dir): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         monkeypatch.delenv('BORG_REPO', raising=False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert repr(Location('file:////server/share/path::archive')) == \ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -171,6 +197,8 @@ class TestLocationWithoutEnv: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def test_user_parsing(self): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # see issue #1930 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('host:path::2016-12-31@23:59:59')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user=None, host='host', port=None, path='path', archive='2016-12-31@23:59:59')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert repr(Location('ssh://host/path::2016-12-31@23:59:59')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             "Location(proto='ssh', user=None, host='host', port=None, path='/path', archive='2016-12-31@23:59:59')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -254,6 +282,15 @@ class TestLocationWithEnv: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert repr(Location()) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                "Location(proto='file', user=None, host=None, port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def test_scp(self, monkeypatch): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        monkeypatch.setenv('BORG_REPO', 'user@host:/some/path') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('::archive')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive='archive')" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location('::')) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assert repr(Location()) == \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               "Location(proto='ssh', user='user', host='host', port=None, path='/some/path', archive=None)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def test_folder(self, monkeypatch): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         monkeypatch.setenv('BORG_REPO', 'path') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         assert repr(Location('::archive')) == \ 
			 |