Home | History | Annotate | Line # | Download | only in unit-tests
      1  1.4  rillig # $NetBSD: job-output-long-lines.mk,v 1.4 2020/11/01 17:29:13 rillig Exp $
      2  1.1  rillig #
      3  1.1  rillig # The jobs may produce long lines of output.  A practical case are the echoed
      4  1.1  rillig # command lines from compiler invocations, with their many -D options.
      5  1.1  rillig #
      6  1.1  rillig # Each of these lines must be written atomically to the actual output.
      7  1.1  rillig # The markers for switching jobs must always be written at the beginning of
      8  1.1  rillig # the line, to make them clearly visible in large log files.
      9  1.3  rillig #
     10  1.1  rillig # As of 2020-09-27, the default job buffer size is 1024.  When a job produces
     11  1.1  rillig # output lines that are longer than this buffer size, these output pieces are
     12  1.1  rillig # not terminated by a newline.  Because of this missing newline, the job
     13  1.1  rillig # markers "--- job-a ---" and "--- job-b ---" are not always written at the
     14  1.1  rillig # beginning of a line, even though this is expected by anyone reading the log
     15  1.1  rillig # files.
     16  1.1  rillig 
     17  1.1  rillig .MAKEFLAGS: -j2
     18  1.1  rillig 
     19  1.1  rillig 100:=	${:U1:S,1,2222222222,g:S,2,3333333333,g}
     20  1.4  rillig 5000:=	${100:S,3,4444444444,g:S,4,xxxxx,g}
     21  1.1  rillig 
     22  1.1  rillig all: job-a job-b
     23  1.1  rillig 
     24  1.1  rillig job-a:
     25  1.4  rillig .for i in ${:U:range=20}
     26  1.4  rillig 	@echo ${5000:S,x,a,g}
     27  1.1  rillig .endfor
     28  1.1  rillig 
     29  1.1  rillig job-b:
     30  1.4  rillig .for i in ${:U:range=20}
     31  1.4  rillig 	@echo ${5000:S,x,b,g}
     32  1.1  rillig .endfor
     33