Home | History | Annotate | Line # | Download | only in unit-tests
cmd-errors-jobs.mk revision 1.9
      1 # $NetBSD: cmd-errors-jobs.mk,v 1.9 2024/07/20 13:59:31 rillig Exp $
      2 #
      3 # Demonstrate how errors in expressions affect whether the commands
      4 # are actually executed in jobs mode.
      5 
      6 .MAKEFLAGS: -j1
      7 
      8 all: undefined unclosed-expression unclosed-modifier unknown-modifier
      9 all: depend-target
     10 all: end
     11 
     12 # Undefined variables in expressions are not an error.  They expand to empty
     13 # strings.
     14 # expect: : undefined--eol
     15 undefined:
     16 	: $@-${UNDEFINED}-eol
     17 
     18 unclosed-expression:
     19 # expect: make: in target "unclosed-expression": Unclosed variable "UNCLOSED"
     20 # XXX: This command is executed even though it contains parse errors.
     21 # expect: : unclosed-expression-
     22 	: $@-${UNCLOSED
     23 
     24 unclosed-modifier:
     25 # expect: make: in target "unclosed-modifier": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
     26 # XXX: This command is executed even though it contains parse errors.
     27 # expect: : unclosed-modifier-
     28 	: $@-${UNCLOSED:
     29 
     30 unknown-modifier:
     31 # expect: make: in target "unknown-modifier": while evaluating variable "UNKNOWN" with value "": Unknown modifier "Z"
     32 # XXX: This command is executed even though it contains parse errors.
     33 # expect: : unknown-modifier--eol
     34 	: $@-${UNKNOWN:Z}-eol
     35 
     36 depend-target: depend-source
     37 # TODO: don't make the target, as its source failed to generate the commands.
     38 # expect: : Making depend-target
     39 # expect-reset
     40 	: Making $@
     41 
     42 depend-source:
     43 # expect: make: in target "depend-source": while evaluating variable "UNCLOSED" with value "": Unclosed expression, expecting '}'
     44 	: $@-${UNCLOSED:
     45 
     46 # expect: : end-eol
     47 end:
     48 	: $@-eol
     49 
     50 # expect: : .END-eol
     51 .END:
     52 	: $@-eol
     53 
     54 # expect: exit status 2
     55