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