From d4c54b86b3c36862aea5064f2e748be72ea60904 Mon Sep 17 00:00:00 2001 From: jruoho Date: Sun, 11 Mar 2012 18:35:59 +0000 Subject: [PATCH] Move the existing tests from util/awk to usr.bin/awk. --- tests/usr.bin/awk/Makefile | 31 +++++++++- tests/usr.bin/awk/d_assign_NF.awk | 16 +++++ tests/usr.bin/awk/d_assign_NF.in | 1 + tests/usr.bin/awk/d_assign_NF.out | 9 +++ tests/usr.bin/awk/d_big_regexp.awk | 3 + tests/usr.bin/awk/d_big_regexp.in | 1 + tests/usr.bin/awk/d_big_regexp.out | 1 + tests/usr.bin/awk/d_end1.awk | 5 ++ tests/usr.bin/awk/d_end1.in | 1 + tests/usr.bin/awk/d_end1.out | 1 + tests/usr.bin/awk/d_end2.awk | 5 ++ tests/usr.bin/awk/d_end2.in | 1 + tests/usr.bin/awk/d_end2.out | 1 + tests/usr.bin/awk/d_period.awk | 1 + tests/usr.bin/awk/d_period.in | 1 + tests/usr.bin/awk/d_period.out | 1 + tests/usr.bin/awk/d_string1.awk | 7 +++ tests/usr.bin/awk/d_string1.out | 2 + tests/usr.bin/awk/d_tolower.awk | 5 ++ tests/usr.bin/awk/d_tolower.in | 1 + tests/usr.bin/awk/d_tolower.out | 1 + tests/usr.bin/awk/d_toupper.awk | 5 ++ tests/usr.bin/awk/d_toupper.in | 1 + tests/usr.bin/awk/d_toupper.out | 1 + tests/usr.bin/awk/t_awk.sh | 93 +++++++++++++++++++++++++++++- 25 files changed, 191 insertions(+), 4 deletions(-) create mode 100644 tests/usr.bin/awk/d_assign_NF.awk create mode 100644 tests/usr.bin/awk/d_assign_NF.in create mode 100644 tests/usr.bin/awk/d_assign_NF.out create mode 100644 tests/usr.bin/awk/d_big_regexp.awk create mode 100644 tests/usr.bin/awk/d_big_regexp.in create mode 100644 tests/usr.bin/awk/d_big_regexp.out create mode 100644 tests/usr.bin/awk/d_end1.awk create mode 100644 tests/usr.bin/awk/d_end1.in create mode 100644 tests/usr.bin/awk/d_end1.out create mode 100644 tests/usr.bin/awk/d_end2.awk create mode 100644 tests/usr.bin/awk/d_end2.in create mode 100644 tests/usr.bin/awk/d_end2.out create mode 100644 tests/usr.bin/awk/d_period.awk create mode 100644 tests/usr.bin/awk/d_period.in create mode 100644 tests/usr.bin/awk/d_period.out create mode 100644 tests/usr.bin/awk/d_string1.awk create mode 100644 tests/usr.bin/awk/d_string1.out create mode 100644 tests/usr.bin/awk/d_tolower.awk create mode 100644 tests/usr.bin/awk/d_tolower.in create mode 100644 tests/usr.bin/awk/d_tolower.out create mode 100644 tests/usr.bin/awk/d_toupper.awk create mode 100644 tests/usr.bin/awk/d_toupper.in create mode 100644 tests/usr.bin/awk/d_toupper.out diff --git a/tests/usr.bin/awk/Makefile b/tests/usr.bin/awk/Makefile index 5c79a57903f1..8a3a43f5421b 100644 --- a/tests/usr.bin/awk/Makefile +++ b/tests/usr.bin/awk/Makefile @@ -1,9 +1,34 @@ -# $NetBSD: Makefile,v 1.1 2012/03/10 19:08:56 christos Exp $ +# $NetBSD: Makefile,v 1.2 2012/03/11 18:35:59 jruoho Exp $ .include TESTSDIR= ${TESTSBASE}/usr.bin/awk - TESTS_SH= t_awk +NOMAN= # defined -.include +FILESDIR= ${TESTSDIR} +FILES= d_big_regexp.awk +FILES+= d_big_regexp.in +FILES+= d_big_regexp.out +FILES+= d_end1.awk +FILES+= d_end1.in +FILES+= d_end1.out +FILES+= d_end2.awk +FILES+= d_end2.in +FILES+= d_end2.out +FILES+= d_period.awk +FILES+= d_period.in +FILES+= d_period.out +FILES+= d_string1.awk +FILES+= d_string1.out +FILES+= d_tolower.awk +FILES+= d_tolower.in +FILES+= d_tolower.out +FILES+= d_toupper.awk +FILES+= d_toupper.in +FILES+= d_toupper.out +FILES+= d_assign_NF.awk +FILES+= d_assign_NF.in +FILES+= d_assign_NF.out + +.include \ No newline at end of file diff --git a/tests/usr.bin/awk/d_assign_NF.awk b/tests/usr.bin/awk/d_assign_NF.awk new file mode 100644 index 000000000000..52c39124cbf6 --- /dev/null +++ b/tests/usr.bin/awk/d_assign_NF.awk @@ -0,0 +1,16 @@ +# $NetBSD: d_assign_NF.awk,v 1.1 2012/03/11 18:35:59 jruoho Exp $ + +{ + NF = 2 + print "$0=`" $0 "`" + print "$3=`" $3 "`" + print "$4=`" $4 "`" + NF = 3 + print "$0=`" $0 "`" + print "$3=`" $3 "`" + print "$4=`" $4 "`" + NF = 4 + print "$0=`" $0 "`" + print "$3=`" $3 "`" + print "$4=`" $4 "`" +} diff --git a/tests/usr.bin/awk/d_assign_NF.in b/tests/usr.bin/awk/d_assign_NF.in new file mode 100644 index 000000000000..1245b922123b --- /dev/null +++ b/tests/usr.bin/awk/d_assign_NF.in @@ -0,0 +1 @@ + 1 2 3 diff --git a/tests/usr.bin/awk/d_assign_NF.out b/tests/usr.bin/awk/d_assign_NF.out new file mode 100644 index 000000000000..2631a7a92db8 --- /dev/null +++ b/tests/usr.bin/awk/d_assign_NF.out @@ -0,0 +1,9 @@ +$0=`1 2` +$3=`` +$4=`` +$0=`1 2 ` +$3=`` +$4=`` +$0=`1 2 ` +$3=`` +$4=`` diff --git a/tests/usr.bin/awk/d_big_regexp.awk b/tests/usr.bin/awk/d_big_regexp.awk new file mode 100644 index 000000000000..1502b5e75462 --- /dev/null +++ b/tests/usr.bin/awk/d_big_regexp.awk @@ -0,0 +1,3 @@ +# $NetBSD: d_big_regexp.awk,v 1.1 2012/03/11 18:36:00 jruoho Exp $ + +/^[^_][^ ]*_NNIFO([ ]+[^_]+[^ ]*_(CC|INR|JJFO|JJMA|JJPG|NNIFG|NNIFO|NNIMPG|NNIMR|NNING|PP3FD|PQINO|PQMO|PSFR|RQ|TC|VIIR3|VPIPN|VPLIPF|NOTAG|RQR))*$/ diff --git a/tests/usr.bin/awk/d_big_regexp.in b/tests/usr.bin/awk/d_big_regexp.in new file mode 100644 index 000000000000..ad82078afc0d --- /dev/null +++ b/tests/usr.bin/awk/d_big_regexp.in @@ -0,0 +1 @@ +1_NNIFO 1_PSFR 1_JJFO 1_NNIFO 1_INR 1_NNIMR 1_CC 1_NNING 1_RQ 1_VPLIPF 1_NNIFG 1_JJPG 1_NNIMPG 1_PQINO 1_VPIPN 1_PP3FD 1_JJMA 1_PQMO 1_TC 1_VIIR3 diff --git a/tests/usr.bin/awk/d_big_regexp.out b/tests/usr.bin/awk/d_big_regexp.out new file mode 100644 index 000000000000..ad82078afc0d --- /dev/null +++ b/tests/usr.bin/awk/d_big_regexp.out @@ -0,0 +1 @@ +1_NNIFO 1_PSFR 1_JJFO 1_NNIFO 1_INR 1_NNIMR 1_CC 1_NNING 1_RQ 1_VPLIPF 1_NNIFG 1_JJPG 1_NNIMPG 1_PQINO 1_VPIPN 1_PP3FD 1_JJMA 1_PQMO 1_TC 1_VIIR3 diff --git a/tests/usr.bin/awk/d_end1.awk b/tests/usr.bin/awk/d_end1.awk new file mode 100644 index 000000000000..cb8b0d0ed208 --- /dev/null +++ b/tests/usr.bin/awk/d_end1.awk @@ -0,0 +1,5 @@ +# $NetBSD: d_end1.awk,v 1.1 2012/03/11 18:36:00 jruoho Exp $ + +END { + print NF; +} diff --git a/tests/usr.bin/awk/d_end1.in b/tests/usr.bin/awk/d_end1.in new file mode 100644 index 000000000000..8e13e468a002 --- /dev/null +++ b/tests/usr.bin/awk/d_end1.in @@ -0,0 +1 @@ +a b c d diff --git a/tests/usr.bin/awk/d_end1.out b/tests/usr.bin/awk/d_end1.out new file mode 100644 index 000000000000..b8626c4cff28 --- /dev/null +++ b/tests/usr.bin/awk/d_end1.out @@ -0,0 +1 @@ +4 diff --git a/tests/usr.bin/awk/d_end2.awk b/tests/usr.bin/awk/d_end2.awk new file mode 100644 index 000000000000..8b10b828779c --- /dev/null +++ b/tests/usr.bin/awk/d_end2.awk @@ -0,0 +1,5 @@ +# $NetBSD: d_end2.awk,v 1.1 2012/03/11 18:36:00 jruoho Exp $ + +END { + print $0; +} diff --git a/tests/usr.bin/awk/d_end2.in b/tests/usr.bin/awk/d_end2.in new file mode 100644 index 000000000000..8e13e468a002 --- /dev/null +++ b/tests/usr.bin/awk/d_end2.in @@ -0,0 +1 @@ +a b c d diff --git a/tests/usr.bin/awk/d_end2.out b/tests/usr.bin/awk/d_end2.out new file mode 100644 index 000000000000..8e13e468a002 --- /dev/null +++ b/tests/usr.bin/awk/d_end2.out @@ -0,0 +1 @@ +a b c d diff --git a/tests/usr.bin/awk/d_period.awk b/tests/usr.bin/awk/d_period.awk new file mode 100644 index 000000000000..d1dabf751304 --- /dev/null +++ b/tests/usr.bin/awk/d_period.awk @@ -0,0 +1 @@ +{print x + $1 + 0.125} diff --git a/tests/usr.bin/awk/d_period.in b/tests/usr.bin/awk/d_period.in new file mode 100644 index 000000000000..d10c0e2f9d08 --- /dev/null +++ b/tests/usr.bin/awk/d_period.in @@ -0,0 +1 @@ +0,25 diff --git a/tests/usr.bin/awk/d_period.out b/tests/usr.bin/awk/d_period.out new file mode 100644 index 000000000000..409b777d8a16 --- /dev/null +++ b/tests/usr.bin/awk/d_period.out @@ -0,0 +1 @@ +0,875 diff --git a/tests/usr.bin/awk/d_string1.awk b/tests/usr.bin/awk/d_string1.awk new file mode 100644 index 000000000000..d690240fa17b --- /dev/null +++ b/tests/usr.bin/awk/d_string1.awk @@ -0,0 +1,7 @@ +# $NetBSD: d_string1.awk,v 1.1 2012/03/11 18:36:00 jruoho Exp $ + +BEGIN { + print "A\ +B"; + print "CD" +} diff --git a/tests/usr.bin/awk/d_string1.out b/tests/usr.bin/awk/d_string1.out new file mode 100644 index 000000000000..96c017b97b70 --- /dev/null +++ b/tests/usr.bin/awk/d_string1.out @@ -0,0 +1,2 @@ +AB +CD diff --git a/tests/usr.bin/awk/d_tolower.awk b/tests/usr.bin/awk/d_tolower.awk new file mode 100644 index 000000000000..258d181ce30b --- /dev/null +++ b/tests/usr.bin/awk/d_tolower.awk @@ -0,0 +1,5 @@ +# $NetBSD: d_tolower.awk,v 1.1 2012/03/11 18:36:00 jruoho Exp $ + +END { + print tolower($0); +} diff --git a/tests/usr.bin/awk/d_tolower.in b/tests/usr.bin/awk/d_tolower.in new file mode 100644 index 000000000000..66ed03c2d27a --- /dev/null +++ b/tests/usr.bin/awk/d_tolower.in @@ -0,0 +1 @@ +ABCÆØÅ diff --git a/tests/usr.bin/awk/d_tolower.out b/tests/usr.bin/awk/d_tolower.out new file mode 100644 index 000000000000..83b2bf51cdf4 --- /dev/null +++ b/tests/usr.bin/awk/d_tolower.out @@ -0,0 +1 @@ +abcæøå diff --git a/tests/usr.bin/awk/d_toupper.awk b/tests/usr.bin/awk/d_toupper.awk new file mode 100644 index 000000000000..0719aa9b86e9 --- /dev/null +++ b/tests/usr.bin/awk/d_toupper.awk @@ -0,0 +1,5 @@ +# $NetBSD: d_toupper.awk,v 1.1 2012/03/11 18:36:01 jruoho Exp $ + +END { + print toupper($0); +} diff --git a/tests/usr.bin/awk/d_toupper.in b/tests/usr.bin/awk/d_toupper.in new file mode 100644 index 000000000000..83b2bf51cdf4 --- /dev/null +++ b/tests/usr.bin/awk/d_toupper.in @@ -0,0 +1 @@ +abcæøå diff --git a/tests/usr.bin/awk/d_toupper.out b/tests/usr.bin/awk/d_toupper.out new file mode 100644 index 000000000000..66ed03c2d27a --- /dev/null +++ b/tests/usr.bin/awk/d_toupper.out @@ -0,0 +1 @@ +ABCÆØÅ diff --git a/tests/usr.bin/awk/t_awk.sh b/tests/usr.bin/awk/t_awk.sh index d846630fdfe6..d21e3fdc21a8 100644 --- a/tests/usr.bin/awk/t_awk.sh +++ b/tests/usr.bin/awk/t_awk.sh @@ -1,4 +1,4 @@ -# $NetBSD: t_awk.sh,v 1.2 2012/03/10 19:19:24 christos Exp $ +# $NetBSD: t_awk.sh,v 1.3 2012/03/11 18:36:01 jruoho Exp $ # # Copyright (c) 2012 The NetBSD Foundation, Inc. # All rights reserved. @@ -30,6 +30,89 @@ awk=awk +h_check() +{ + local fname=d_$1 + for sfx in in out awk; do + cp -r $(atf_get_srcdir)/$fname.$sfx . + done + shift 1 + atf_check -o file:$fname.out -x "awk $@ -f $fname.awk < $fname.in" +} + +atf_test_case big_regexp + +big_regexp_head() { + atf_set "descr" "Checks matching long regular expressions (PR/33392)" +} + +big_regexp_body() { + h_check big_regexp +} + +atf_test_case end + +end_head() { + atf_set "descr" "Checks that the last line of the input" \ + "is available under END pattern (PR/29659)" +} + +end_body() { + h_check end1 + h_check end2 +} + +atf_test_case string1 + +string1_head() { + atf_set "descr" "Checks escaping newlines in string literals" +} + +string1_body() { + for sfx in out awk; do + cp -r $(atf_get_srcdir)/d_string1.$sfx . + done + atf_check -o file:d_string1.out awk -f d_string1.awk +} + +atf_test_case multibyte + +multibyte_head() { + atf_set "descr" "Checks multibyte charsets support" \ + "in tolower and toupper (PR/36394)" +} + +multibyte_body() { + export LANG=en_US.UTF-8 + + h_check tolower + h_check toupper +} + +atf_test_case period + +period_head() { + atf_set "descr" "Checks that the period character is recognised" \ + "in awk program regardless of locale (bin/42320)" +} + +period_body() { + export LANG=ru_RU.KOI8-R + + atf_expect_fail "PR bin/42320" + h_check period -v x=0.5 +} + +atf_test_case assign_NF + +assign_NF_head() { + atf_set "descr" 'Checks that assign to NF changes $0 and $n (PR/44063)' +} + +assign_NF_body() { + h_check assign_NF +} + atf_test_case single_char_rs single_char_rs_head() { @@ -254,6 +337,14 @@ newline_rs_body() { } atf_init_test_cases() { + + atf_add_test_case big_regexp + atf_add_test_case end + atf_add_test_case string1 + atf_add_test_case multibyte + atf_add_test_case period + atf_add_test_case assign_NF + atf_add_test_case single_char_rs atf_add_test_case two_char_rs atf_add_test_case single_char_regex_group_rs