mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-27 14:22:08 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			885 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			885 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/Shell
 | |
| 
 | |
| source $(dirname "$0")/test-commons.inc
 | |
| 
 | |
| setopt --verbose
 | |
| 
 | |
| rm -rf /tmp/shell-test 2> /dev/null
 | |
| mkdir -p /tmp/shell-test
 | |
| pushd /tmp/shell-test
 | |
| 
 | |
|     # Simple sequence (grouping)
 | |
|     { echo test > testfile }
 | |
|     if not test "$(cat testfile)" = "test" {
 | |
|         fail cannot write to file in subshell
 | |
|     }
 | |
| 
 | |
|     # Simple sequence - many commands
 | |
|     { echo test1 > testfile; echo test2 > testfile }
 | |
|     if not test "$(cat testfile)" = "test2" {
 | |
|         fail cannot write to file in subshell 2
 | |
|     }
 | |
| 
 | |
|     # Does it exit with the last exit code?
 | |
|     { test -z "a" }
 | |
|     exitcode=$?
 | |
|     if not test "$exitcode" -eq 1 {
 | |
|         fail exits with $exitcode when it should exit with 1
 | |
|     }
 | |
| 
 | |
|     { test -z "a" || echo test }
 | |
|     exitcode=$?
 | |
|     if not test "$exitcode" -eq 0 {
 | |
|         fail exits with $exitcode when it should exit with 0
 | |
|     }
 | |
| 
 | |
| popd
 | |
| rm -rf /tmp/shell-test
 | |
| 
 | |
| echo PASS
 | 
