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")
 | |
|   '';
 | |
| })
 | 
