Home | History | Annotate | Line # | Download | only in unit-tests
directive-for-null.mk revision 1.2
      1 # $NetBSD: directive-for-null.mk,v 1.2 2022/05/08 06:51:27 rillig Exp $
      2 #
      3 # Test for parsing a .for loop that accidentally contains a null byte.
      4 #
      5 # As of 2020-12-19, there are 3 error messages:
      6 #
      7 #	make: "(stdin)" line 2: Zero byte read from file
      8 #	make: "(stdin)" line 2: Unexpected end of file in for loop.
      9 #	make: "(stdin)" line 3: Zero byte read from file
     10 #
     11 # The one about "end of file" might be misleading but is due to the
     12 # implementation.  On both errors and EOF, ParseRawLine returns NULL.
     13 #
     14 # The one about the "zero byte" in line 3 is surprising since the only
     15 # line that contains a null byte is line 2.
     16 
     17 all: .PHONY
     18 	@printf '%s\n' '.for i in 1 2 3' 'VAR=value' '.endfor' | tr 'l' '\0' \
     19 	| ${MAKE} -f -
     20