99 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
echo T.getline: test getline function
 | 
						||
 | 
						||
awk=${awk-../a.out}
 | 
						||
 | 
						||
who >foo1
 | 
						||
cat foo1 | $awk '
 | 
						||
BEGIN {
 | 
						||
	while (getline)
 | 
						||
		print
 | 
						||
	exit
 | 
						||
}
 | 
						||
' >foo
 | 
						||
cmp -s foo1 foo || echo 'BAD: T.getline (bare getline)'
 | 
						||
 | 
						||
who >foo1
 | 
						||
cat foo1 | $awk '
 | 
						||
BEGIN {
 | 
						||
	while (getline xxx)
 | 
						||
		print xxx
 | 
						||
	exit
 | 
						||
}
 | 
						||
' >foo
 | 
						||
cmp -s foo1 foo || echo 'BAD: T.getline (getline xxx)'
 | 
						||
 | 
						||
$awk '
 | 
						||
BEGIN {
 | 
						||
	while (getline <"/etc/passwd")
 | 
						||
		print
 | 
						||
	exit
 | 
						||
}
 | 
						||
' >foo
 | 
						||
cmp -s /etc/passwd foo || echo 'BAD: T.getline (getline <file)'
 | 
						||
 | 
						||
cat /etc/passwd | $awk '
 | 
						||
BEGIN {
 | 
						||
	while (getline <"-")	# stdin
 | 
						||
		print
 | 
						||
	exit
 | 
						||
}
 | 
						||
' >foo
 | 
						||
cmp -s /etc/passwd foo || echo 'BAD: T.getline (getline <"-")'
 | 
						||
 | 
						||
$awk '
 | 
						||
BEGIN {
 | 
						||
	while (getline <ARGV[1])
 | 
						||
		print
 | 
						||
	exit
 | 
						||
}
 | 
						||
' /etc/passwd >foo
 | 
						||
cmp -s /etc/passwd foo || echo 'BAD: T.getline (getline <arg)'
 | 
						||
 | 
						||
$awk '
 | 
						||
BEGIN {
 | 
						||
	while (getline x <ARGV[1])
 | 
						||
		print x
 | 
						||
	exit
 | 
						||
}
 | 
						||
' /etc/passwd >foo
 | 
						||
cmp -s /etc/passwd foo || echo 'BAD: T.getline (getline x <arg)'
 | 
						||
 | 
						||
$awk '
 | 
						||
BEGIN {
 | 
						||
	while (("cat " ARGV[1]) | getline)
 | 
						||
		print
 | 
						||
	exit
 | 
						||
}
 | 
						||
' /etc/passwd >foo
 | 
						||
cmp -s /etc/passwd foo || echo 'BAD: T.getline (cat arg | getline)'
 | 
						||
 | 
						||
$awk '
 | 
						||
BEGIN {
 | 
						||
	while (("cat " ARGV[1]) | getline x)
 | 
						||
		print x
 | 
						||
	exit
 | 
						||
}
 | 
						||
' /etc/passwd >foo
 | 
						||
cmp -s /etc/passwd foo || echo 'BAD: T.getline (cat arg | getline x)'
 | 
						||
 | 
						||
$awk ' BEGIN { print getline <"/glop/glop/glop" } ' >foo
 | 
						||
echo '-1' >foo1
 | 
						||
cmp -s foo foo1 || echo 'BAD: T.getline (non-existent file)'
 | 
						||
 | 
						||
echo 'false false equal' >foo1
 | 
						||
$awk 'BEGIN {
 | 
						||
	"echo 0" | getline
 | 
						||
	if ($0) printf "true " 
 | 
						||
	else printf "false "
 | 
						||
	if ($1) printf "true " 
 | 
						||
	else printf "false "
 | 
						||
	if ($0==$1) printf "equal\n"
 | 
						||
	else printf "not equal\n"
 | 
						||
}' >foo2
 | 
						||
cmp -s foo1 foo2 || echo 1>&2 'BAD: T.getline bad $0 type in cmd|getline'
 | 
						||
 | 
						||
echo 'L1
 | 
						||
L2' | $awk 'BEGIN { $0="old stuff"; $1="new"; getline x; print}' >foo1
 | 
						||
echo 'new stuff' >foo2
 | 
						||
cmp -s foo1 foo2 || echo 1>&2 'BAD: T.getline bad update $0'
 |