added test for deadlock scenario while upgrading to 1.1
This commit is contained in:
		
							parent
							
								
									50bf9b5a1a
								
							
						
					
					
						commit
						1c41100737
					
				
					 1 changed files with 50 additions and 0 deletions
				
			
		
							
								
								
									
										50
									
								
								test/rsa-ed.test
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										50
									
								
								test/rsa-ed.test
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,50 @@ | |||
| #!/bin/sh | ||||
| 
 | ||||
| # Scenario: | ||||
| # Mixed tinc-version nodes on network, node bar gets upgrade to >= 1.1 | ||||
| #  | ||||
| # foo connects to node bar version >= 1.1 | ||||
| # ed25519 exchange starts | ||||
| # bar drops connection from foo: Peer foo (::1 port 48413) tries to roll back protocol version to 17.1 | ||||
| # work around is to remove Ed25519PublicKey from foo on bar | ||||
| 
 | ||||
| . ./testlib.sh | ||||
| 
 | ||||
| # Initialize and test one node | ||||
| 
 | ||||
| $tinc $c1 init foo | ||||
| $tinc $c1 set DeviceType dummy | ||||
| $tinc $c1 set Address localhost | ||||
| $tinc $c1 set Port 3399 | ||||
| $tinc $c1 add ConnectTo bar | ||||
| 
 | ||||
| $tinc $c2 init bar | ||||
| $tinc $c2 set DeviceType dummy | ||||
| $tinc $c2 set Address localhost | ||||
| $tinc $c2 set Port 4499 | ||||
| 
 | ||||
| # Cleanup ed25519_key.priv | ||||
| #rm $d1/ed25519_key.priv | ||||
| #rm $d2/ed25519_key.priv | ||||
| sed -i 's/Ed25519PublicKey/#Ed25519PublicKey/' $d2/hosts/bar | ||||
| 
 | ||||
| # Uncomment this to pass the test | ||||
| #sed -i 's/Ed25519PublicKey/#Ed25519PublicKey/' $d1/hosts/foo | ||||
| 
 | ||||
| $tinc $c2 export | $tinc $c1 import | ||||
| $tinc $c1 export | $tinc $c2 import | ||||
| 
 | ||||
| 
 | ||||
| $tinc $c2 start $r2 | ||||
| sleep 1 | ||||
| $tinc $c1 start $r1 | ||||
| sleep 1 | ||||
| # the test passes sometimes if we check while tinc is connecting | ||||
| test `$tinc $c1 dump connections | wc -l` = 2 | ||||
| sleep 0.5 | ||||
| # 2nd test in the case that 1st one passed | ||||
| test `$tinc $c1 dump connections | wc -l` = 2 | ||||
| 
 | ||||
| sleep 1 | ||||
| $tinc $c1 stop | ||||
| $tinc $c2 stop | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue