| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | #!/bin/bash | 
					
						
							|  |  |  | # Copyright 2009 The Go Authors. All rights reserved. | 
					
						
							|  |  |  | # Use of this source code is governed by a BSD-style | 
					
						
							|  |  |  | # license that can be found in the LICENSE file. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-05 10:59:55 -07:00
										 |  |  | . $GOROOT/src/Make.$GOARCH | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if [ -z "$O" ]; then | 
					
						
							|  |  |  | 	echo 'missing $O - maybe no Make.$GOARCH?' 1>&2 | 
					
						
							|  |  |  | 	exit 1 | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | rm -f *.$O | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | for i in \ | 
					
						
							| 
									
										
										
										
											2009-03-16 22:53:23 -07:00
										 |  |  | 	file.go \ | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | 	helloworld.go \ | 
					
						
							|  |  |  | 	helloworld3.go \ | 
					
						
							|  |  |  | 	echo.go \ | 
					
						
							|  |  |  | 	cat.go \ | 
					
						
							|  |  |  | 	cat_rot13.go \ | 
					
						
							|  |  |  | 	sum.go \ | 
					
						
							|  |  |  | 	sort.go \ | 
					
						
							|  |  |  | 	sortmain.go \ | 
					
						
							| 
									
										
										
										
											2009-01-09 15:16:31 -08:00
										 |  |  | 	print.go \ | 
					
						
							|  |  |  | 	print_string.go \ | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | 	sieve.go \ | 
					
						
							|  |  |  | 	sieve1.go \ | 
					
						
							|  |  |  | 	server1.go \ | 
					
						
							|  |  |  | ; do | 
					
						
							|  |  |  | 	BASE=$(basename $i .go) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-05 10:59:55 -07:00
										 |  |  | 	$GC $i | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function testit { | 
					
						
							| 
									
										
										
										
											2009-06-05 10:59:55 -07:00
										 |  |  | 	$LD $1.$O | 
					
						
							|  |  |  | 	x=$(echo $(./$O.out $2 2>&1))  # extra echo canonicalizes | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | 	if [ "$x" != "$3" ] | 
					
						
							|  |  |  | 	then | 
					
						
							|  |  |  | 		echo $1 failed: '"'$x'"' is not '"'$3'"' | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | function testitpipe { | 
					
						
							| 
									
										
										
										
											2009-06-05 10:59:55 -07:00
										 |  |  | 	$LD $1.$O | 
					
						
							|  |  |  | 	x=$(echo $(./$O.out | $2 2>&1))  # extra echo canonicalizes | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | 	if [ "$x" != "$3" ] | 
					
						
							|  |  |  | 	then | 
					
						
							|  |  |  | 		echo $1 failed: '"'$x'"' is not '"'$3'"' | 
					
						
							|  |  |  | 	fi | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | testit helloworld "" "Hello, world; or Καλημέρα κόσμε; or こんにちは 世界" | 
					
						
							| 
									
										
										
										
											2009-06-01 22:14:39 -07:00
										 |  |  | testit helloworld3 "" "hello, world can't open file; err=no such file or directory" | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | testit echo "hello, world" "hello, world" | 
					
						
							|  |  |  | testit sum "" "6" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | alphabet=abcdefghijklmnopqrstuvwxyz | 
					
						
							|  |  |  | rot13=nopqrstuvwxyzabcdefghijklm | 
					
						
							|  |  |  | echo $alphabet | testit cat "" $alphabet | 
					
						
							|  |  |  | echo $alphabet | testit cat_rot13 "--rot13" $rot13 | 
					
						
							|  |  |  | echo $rot13 | testit cat_rot13 "--rot13" $alphabet | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | testit sortmain "" "Sunday Monday Tuesday Thursday Friday" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-09 15:16:31 -08:00
										 |  |  | testit print "" "18446744073709551615 -1 18446744073709551615 {77 Sunset Strip} [1 2 3 4] 18446744073709551615 {77 Sunset Strip} [1 2 3 4] 18446744073709551615 {77 Sunset Strip} [1 2 3 4]" | 
					
						
							|  |  |  | testit print_string "" "77 Sunset Strip" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | testitpipe sieve "sed 10q" "2 3 5 7 11 13 17 19 23 29" | 
					
						
							|  |  |  | testitpipe sieve "sed 10q" "2 3 5 7 11 13 17 19 23 29" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-30 10:18:58 -08:00
										 |  |  | # server hangs; don't run it, just compile it | 
					
						
							| 
									
										
										
										
											2009-06-05 10:59:55 -07:00
										 |  |  | $GC server.go | 
					
						
							| 
									
										
										
										
											2008-09-17 12:14:52 -07:00
										 |  |  | testit server1 "" "" | 
					
						
							| 
									
										
										
										
											2009-01-06 15:49:27 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-06-05 10:59:55 -07:00
										 |  |  | rm -f $O.out *.$O |