1 1.1 rillig # $NetBSD: job-output.mk,v 1.1 2025/06/05 21:56:54 rillig Exp $ 2 1.1 rillig # 3 1.1 rillig # Tests for handling the output in parallel mode. 4 1.1 rillig 5 1.1 rillig all: .PHONY 6 1.1 rillig @${MAKE} -f ${MAKEFILE} -j1 empty-lines 7 1.1 rillig @${MAKE} -f ${MAKEFILE} -j1 stdout-and-stderr 8 1.1 rillig @${MAKE} -f ${MAKEFILE} -j1 echo-on-stdout-and-stderr 9 1.1 rillig 10 1.1 rillig # By sleeping for a second, the output of the child process is written byte 11 1.1 rillig # by byte, to be consumed in small pieces by make. 12 1.1 rillig # 13 1.1 rillig # FIXME: When reading an isolated newline character in CollectOutput, it is 14 1.1 rillig # not passed on to the main output. 15 1.1 rillig empty-lines: .PHONY 16 1.1 rillig @echo begin $@ 17 1.1 rillig @sleep 1 18 1.1 rillig @echo 19 1.1 rillig @sleep 1 20 1.1 rillig @echo 21 1.1 rillig @sleep 1 22 1.1 rillig @echo end $@ 23 1.1 rillig 24 1.1 rillig # In parallel mode, both stdout and stderr from the child process are 25 1.1 rillig # collected in a local buffer and then written to make's stdout. 26 1.1 rillig # 27 1.1 rillig # expect: begin stdout-and-stderr 28 1.1 rillig # expect: only stdout: 29 1.1 rillig # expect: This is stdout. 30 1.1 rillig # expect: This is stderr. 31 1.1 rillig # expect: only stderr: 32 1.1 rillig # expect: end stdout-and-stderr 33 1.1 rillig stdout-and-stderr: 34 1.1 rillig @echo begin $@ 35 1.1 rillig @echo only stdout: 36 1.1 rillig @${MAKE} -f ${MAKEFILE} echo-on-stdout-and-stderr 2>/dev/null 37 1.1 rillig @echo only stderr: 38 1.1 rillig @${MAKE} -f ${MAKEFILE} echo-on-stdout-and-stderr 1>/dev/null 39 1.1 rillig @echo end $@ 40 1.1 rillig 41 1.1 rillig echo-on-stdout-and-stderr: .PHONY 42 1.1 rillig @echo This is stdout. 43 1.1 rillig @echo This is stderr. 1>&2 44