# file : libbuild2/build/script/parser+diag.test.testscript # license : MIT; see accompanying LICENSE file test.options += -g : name : $* test <>EOO echo abc EOI name: test EOO : name-deduce : $* <>EOO echo abc EOI name: echo EOO : diag : $* <>~%EOO% echo abc cat abc diag copy >= $> cp <- $> EOI %diag: copy >= .+file\{driver\.\}% EOO : ambiguity : { : name : $* test <>EOE != 0 echo abc diag xyz EOI buildfile:12:1: error: both low-verbosity script diagnostics name and 'diag' builtin call buildfile:10: info: script name specified here EOE : diag : $* <>EOE != 0 echo abc diag abc cat abc diag xyz EOI buildfile:14:1: error: multiple 'diag' builtin calls buildfile:12:1: info: previous call is here EOE : names : $* <>EOE != 0 cp abc xyz cat xyz EOI buildfile:11:1: error: low-verbosity script diagnostics name is ambiguous buildfile:11:1: info: could be 'cp' buildfile:12:1: info: could be 'cat' info: consider specifying it explicitly with the 'diag' recipe attribute info: or provide custom low-verbosity diagnostics with the 'diag' builtin EOE : none : $* <>EOE != 0 a = 'b' EOI buildfile:11:1: error: unable to deduce low-verbosity script diagnostics name info: consider specifying it explicitly with the 'diag' recipe attribute info: or provide custom low-verbosity diagnostics with the 'diag' builtin EOE } : inside-if : $* <>EOE != 0 if true diag copy >= $> fi EOI buildfile:12:3: error: 'diag' call inside flow control construct EOE : inside-if-cond : $* <>EOE != 0 if diag copy >= $> true fi EOI buildfile:11:4: error: 'diag' call inside flow control construct EOE : second-command : $* <>EOE != 0 true && diag copy >= $> EOI buildfile:11:9: error: 'diag' call must be the only command EOE : via-env : $* <>EOE != 0 env -- diag copy >= $> EOI buildfile:11:8: error: 'diag' call via 'env' builtin EOE : before-depdb : $* <>EOE != 0 diag test depdb clear EOI buildfile:11:1: error: 'diag' builtin call before 'depdb' call buildfile:12:1: info: 'depdb' call is here EOE