1139826Simpecho T.nextfile: tests of nextfile command
253541Sshin
353541Sshinawk=${awk-../a.out}
453541Sshin
553541Sshin# 1st lines of some files
653541Sshinrm -f foo0
753541Sshinfor i in T.*
853541Sshindo
953541Sshin	sed 1q $i >>foo0
1053541Sshindone
1153541Sshin
1253541Sshin$awk '
1353541Sshin{ print $0; nextfile }	# print first line, quit
1453541Sshin' T.* >foo1
1553541Sshin
1653541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1'
1753541Sshin
1853541Sshin$awk '	# same test but in a for loop
1953541Sshin{ print $0; 
2053541Sshin  for (i = 1; i < 10; i++)
2153541Sshin	if (i == 1)
2253541Sshin		nextfile
2353541Sshin  print "nextfile for error"
2453541Sshin}	# print first line, quit
2553541Sshin' T.* >foo1
2653541Sshin
2753541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1f'
2853541Sshin
2953541Sshin$awk '	# same test but in a while loop
3053541Sshin{ print $0; 
3153541Sshin  i = 1
32139826Simp  while (i < 10)
3353541Sshin	if (i++ == 1)
3453541Sshin		nextfile
3553541Sshin  print "nextfile while error"
3653541Sshin}	# print first line, quit
3753541Sshin' T.* >foo1
3853541Sshin
3953541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1w'
4053541Sshin
4153541Sshin$awk '	# same test but in a do loop
4253541Sshin{ print $0; 
4353541Sshin  i = 1
4453541Sshin  do {
4553541Sshin	if (i++ == 1)
4653541Sshin		nextfile	# print first line, quit
4753541Sshin  } while (i < 10)
4853541Sshin  print "nextfile do error"
4953541Sshin}
5053541Sshin' T.* >foo1
5153541Sshin
5253541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 1d'
5353541Sshin
5453541Sshin
5553541Sshin# 100 lines of some files
5653541Sshinrm -f foo0
5753541Sshinfor i in T.*
5853541Sshindo
5953541Sshin	sed 100q $i >>foo0
6053541Sshindone
6153541Sshin
6253541Sshin$awk '
6355009Sshin{ print }
6478064SumeFNR == 100 { nextfile }	# print first line, quit
6555009Sshin' T.* >foo1
6653541Sshin
6795759Stanimuradiff foo0 foo1 || echo 'BAD: T.nextfile 2'
6895759Stanimura
6953541Sshin
7095759Stanimura>foo0	# empty
71170689Srwatson$awk ' { nextfile; print $0 }' T.* >foo1
7253541Sshin
7395759Stanimuradiff foo0 foo1 || echo 'BAD: T.nextfile 3'
7495759Stanimura
7553541Sshin# skip weird args
7653541Sshinrm -f foo0
7795759Stanimurafor i in T.*
78148385Sumedo
7953541Sshin	sed 1q $i >>foo0
8053541Sshindone
8195759Stanimura
8253541Sshin$awk '
8353541Sshin{ print $0; nextfile }	# print first line, quit
8453541Sshin' T.* >foo1
8553541Sshin
8653541Sshindiff foo0 foo1 || echo 'BAD: T.nextfile 4'
8795759Stanimura