111 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			111 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
|  | #!/bin/bash | ||
|  | 
 | ||
|  | echo "PRE-SCRIPT INFO" | ||
|  | echo "  Grading Script PID: $$" | ||
|  | echo '  Note: your smallsh will report a different PID when evaluating $$' | ||
|  | 
 | ||
|  | ./smallsh <<'___EOF___' | ||
|  | echo BEGINNING TEST SCRIPT | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo Using comment (5 points if only next prompt is displayed next) | ||
|  | #THIS COMMENT SHOULD DO NOTHING | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo ls (10 points for returning dir contents) | ||
|  | ls | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo ls out junk | ||
|  | ls > junk | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo cat junk (15 points for correctly returning contents of junk) | ||
|  | cat junk | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo wc in junk (15 points for returning correct numbers from wc) | ||
|  | wc < junk | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo wc in junk out junk2; cat junk2 (10 points for returning correct numbers from wc) | ||
|  | wc < junk > junk2 | ||
|  | cat junk2 | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo test -f badfile (10 points for returning error value of 1, note extraneous &) | ||
|  | test -f badfile | ||
|  | status & | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo wc in badfile (10 points for returning text error) | ||
|  | wc < badfile | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo badfile (10 points for returning text error) | ||
|  | badfile | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo sleep 100 background (10 points for returning process ID of sleeper) | ||
|  | sleep 100 & | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo pkill -signal SIGTERM sleep (10 points for pid of killed process, 10 points for signal) | ||
|  | echo (Ignore message about Operation Not Permitted) | ||
|  | pkill sleep | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo sleep 1 background (10 pts for pid of bg ps when done, 10 for exit value) | ||
|  | sleep 1 & | ||
|  | sleep 1 | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo pwd | ||
|  | pwd | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo cd | ||
|  | cd | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo pwd (10 points for being in the HOME dir) | ||
|  | pwd | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo mkdir testdir$$ | ||
|  | mkdir testdir$$ | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo cd testdir$$ | ||
|  | cd testdir$$ | ||
|  | echo | ||
|  | echo | ||
|  | echo -------------------- | ||
|  | echo pwd (5 points for being in the newly created dir) | ||
|  | pwd | ||
|  | echo -------------------- | ||
|  | echo Testing foreground-only mode (20 points for entry & exit text AND ~5 seconds between times) | ||
|  | kill -SIGTSTP $$ | ||
|  | date | ||
|  | sleep 5 & | ||
|  | date | ||
|  | kill -SIGTSTP $$ | ||
|  | exit | ||
|  | ___EOF___ |