36 lines
		
	
	
		
			998 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			998 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
|   | import ./make-test-python.nix ({ pkgs, ...} : { | ||
|  |   name = "zsh-history"; | ||
|  |   meta = with pkgs.stdenv.lib.maintainers; { | ||
|  |     maintainers = [ kampka ]; | ||
|  |   }; | ||
|  | 
 | ||
|  |   nodes.default = { ... }: { | ||
|  |     programs = { | ||
|  |       zsh.enable = true; | ||
|  |     }; | ||
|  |     environment.systemPackages = [ pkgs.zsh-history ]; | ||
|  |     programs.zsh.interactiveShellInit = ''
 | ||
|  |       source ${pkgs.zsh-history.out}/share/zsh/init.zsh | ||
|  |     '';
 | ||
|  |     users.users.root.shell = "${pkgs.zsh}/bin/zsh"; | ||
|  |   }; | ||
|  | 
 | ||
|  |   testScript = ''
 | ||
|  |     start_all() | ||
|  |     default.wait_for_unit("multi-user.target") | ||
|  |     default.wait_until_succeeds("pgrep -f 'agetty.*tty1'") | ||
|  | 
 | ||
|  |     # Login | ||
|  |     default.wait_until_tty_matches(1, "login: ") | ||
|  |     default.send_chars("root\n") | ||
|  |     default.wait_until_tty_matches(1, "root@default>") | ||
|  | 
 | ||
|  |     # Generate some history | ||
|  |     default.send_chars("echo foobar\n") | ||
|  |     default.wait_until_tty_matches(1, "foobar") | ||
|  | 
 | ||
|  |     # Ensure that command was recorded in history | ||
|  |     default.succeed("/run/current-system/sw/bin/history list | grep -q foobar") | ||
|  |   '';
 | ||
|  | }) |