| 
									
										
										
										
											2019-12-15 19:42:21 +01:00
										 |  |  | import ./make-test-python.nix { | 
					
						
							| 
									
										
										
										
											2019-05-26 00:35:29 +02:00
										 |  |  |   name = "nesting"; | 
					
						
							| 
									
										
										
										
											2019-05-26 00:52:52 +02:00
										 |  |  |   nodes =  { | 
					
						
							|  |  |  |     clone = { pkgs, ... }: { | 
					
						
							|  |  |  |       environment.systemPackages = [ pkgs.cowsay ]; | 
					
						
							|  |  |  |       nesting.clone = [ | 
					
						
							|  |  |  |         ({ pkgs, ... }: { | 
					
						
							|  |  |  |           environment.systemPackages = [ pkgs.hello ]; | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |       ]; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |     children = { pkgs, ... }: { | 
					
						
							|  |  |  |       environment.systemPackages = [ pkgs.cowsay ]; | 
					
						
							|  |  |  |       nesting.children = [ | 
					
						
							|  |  |  |         ({ pkgs, ... }: { | 
					
						
							|  |  |  |           environment.systemPackages = [ pkgs.hello ]; | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |       ]; | 
					
						
							|  |  |  |     }; | 
					
						
							| 
									
										
										
										
											2019-05-26 00:35:29 +02:00
										 |  |  |   }; | 
					
						
							|  |  |  |   testScript = ''
 | 
					
						
							| 
									
										
										
										
											2019-12-15 19:42:21 +01:00
										 |  |  |     clone.wait_for_unit("default.target") | 
					
						
							|  |  |  |     clone.succeed("cowsay hey") | 
					
						
							|  |  |  |     clone.fail("hello") | 
					
						
							| 
									
										
										
										
											2019-05-26 00:35:29 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-15 19:42:21 +01:00
										 |  |  |     with subtest("Nested clones do inherit from parent"): | 
					
						
							|  |  |  |         clone.succeed( | 
					
						
							|  |  |  |             "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test" | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         clone.succeed("cowsay hey") | 
					
						
							|  |  |  |         clone.succeed("hello") | 
					
						
							| 
									
										
										
										
											2019-05-26 00:52:52 +02:00
										 |  |  |      | 
					
						
							| 
									
										
										
										
											2019-12-15 19:42:21 +01:00
										 |  |  |         children.wait_for_unit("default.target") | 
					
						
							|  |  |  |         children.succeed("cowsay hey") | 
					
						
							|  |  |  |         children.fail("hello") | 
					
						
							| 
									
										
										
										
											2019-05-26 00:52:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-15 19:42:21 +01:00
										 |  |  |     with subtest("Nested children do not inherit from parent"): | 
					
						
							|  |  |  |         children.succeed( | 
					
						
							|  |  |  |             "/run/current-system/fine-tune/child-1/bin/switch-to-configuration test" | 
					
						
							|  |  |  |         ) | 
					
						
							|  |  |  |         children.fail("cowsay hey") | 
					
						
							|  |  |  |         children.succeed("hello") | 
					
						
							| 
									
										
										
										
											2019-05-26 00:35:29 +02:00
										 |  |  |   '';
 | 
					
						
							|  |  |  | } |