Module Name: src Committed By: rillig Date: Sat Dec 19 12:15:00 UTC 2020
Modified Files: src/distrib/sets/lists/tests: mi src/usr.bin/make/unit-tests: Makefile Added Files: src/usr.bin/make/unit-tests: directive-for-lines.exp directive-for-lines.mk Log Message: make(1): demonstrate wrong line numbers in .for loops, since 2007-01-01 To generate a diff of this commit: cvs rdiff -u -r1.994 -r1.995 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.250 -r1.251 src/usr.bin/make/unit-tests/Makefile cvs rdiff -u -r0 -r1.1 src/usr.bin/make/unit-tests/directive-for-lines.exp \ src/usr.bin/make/unit-tests/directive-for-lines.mk Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/tests/mi diff -u src/distrib/sets/lists/tests/mi:1.994 src/distrib/sets/lists/tests/mi:1.995 --- src/distrib/sets/lists/tests/mi:1.994 Mon Dec 14 20:23:49 2020 +++ src/distrib/sets/lists/tests/mi Sat Dec 19 12:14:59 2020 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.994 2020/12/14 20:23:49 rillig Exp $ +# $NetBSD: mi,v 1.995 2020/12/19 12:14:59 rillig Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -5054,6 +5054,8 @@ ./usr/tests/usr.bin/make/unit-tests/directive-export.mk tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/directive-for-generating-endif.exp tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/directive-for-generating-endif.mk tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/make/unit-tests/directive-for-lines.exp tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/make/unit-tests/directive-for-lines.mk tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/directive-for.exp tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/directive-for.mk tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/make/unit-tests/directive-hyphen-include.exp tests-usr.bin-tests compattestfile,atf Index: src/usr.bin/make/unit-tests/Makefile diff -u src/usr.bin/make/unit-tests/Makefile:1.250 src/usr.bin/make/unit-tests/Makefile:1.251 --- src/usr.bin/make/unit-tests/Makefile:1.250 Mon Dec 14 20:23:50 2020 +++ src/usr.bin/make/unit-tests/Makefile Sat Dec 19 12:14:59 2020 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.250 2020/12/14 20:23:50 rillig Exp $ +# $NetBSD: Makefile,v 1.251 2020/12/19 12:14:59 rillig Exp $ # # Unit tests for make(1) # @@ -159,6 +159,7 @@ TESTS+= directive-export-gmake TESTS+= directive-export-literal TESTS+= directive-for TESTS+= directive-for-generating-endif +TESTS+= directive-for-lines TESTS+= directive-hyphen-include TESTS+= directive-if TESTS+= directive-if-nested Added files: Index: src/usr.bin/make/unit-tests/directive-for-lines.exp diff -u /dev/null src/usr.bin/make/unit-tests/directive-for-lines.exp:1.1 --- /dev/null Sat Dec 19 12:15:00 2020 +++ src/usr.bin/make/unit-tests/directive-for-lines.exp Sat Dec 19 12:14:59 2020 @@ -0,0 +1,10 @@ +make: "directive-for-lines.mk" line 12: expect 18 +make: "directive-for-lines.mk" line 12: expect 18 +make: "directive-for-lines.mk" line 14: expect 24 +make: "directive-for-lines.mk" line 12: expect 18 +make: "directive-for-lines.mk" line 12: expect 18 +make: "directive-for-lines.mk" line 14: expect 24 +make: no target to make. + +make: stopped in unit-tests +exit status 2 Index: src/usr.bin/make/unit-tests/directive-for-lines.mk diff -u /dev/null src/usr.bin/make/unit-tests/directive-for-lines.mk:1.1 --- /dev/null Sat Dec 19 12:15:00 2020 +++ src/usr.bin/make/unit-tests/directive-for-lines.mk Sat Dec 19 12:14:59 2020 @@ -0,0 +1,26 @@ +# $NetBSD: directive-for-lines.mk,v 1.1 2020/12/19 12:14:59 rillig Exp $ +# +# Tests for the line numbers that are reported in .for loops. +# +# Since 2007-01-01 21:47:32 (git 4d3c468f96e1080e4d3cca8cc39067a73af14fbb), +# parse.c 1.127, the line numbers for the .info directives and error messages +# inside .for loops have been wrong since ParseGetLine skips empty lines, even +# when collecting the lines for the .for loop body. + +.for outer in a b + +# comment + +.for inner in 1 2 + +# comment + +.info expect 18 + +.endfor + +# comment + +.info expect 24 + +.endfor