From d38dbf711c9532eea99607368278a8396b3db667 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 4 Dec 2020 12:53:52 +0300 Subject: In update ad hoc recipe buildscripts allow non-pure function calls only in depdeb preamble --- .../build/script/parser+depdb.test.testscript | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) (limited to 'libbuild2/build/script/parser+depdb.test.testscript') diff --git a/libbuild2/build/script/parser+depdb.test.testscript b/libbuild2/build/script/parser+depdb.test.testscript index 38c4236..573ba6d 100644 --- a/libbuild2/build/script/parser+depdb.test.testscript +++ b/libbuild2/build/script/parser+depdb.test.testscript @@ -88,3 +88,52 @@ test.options += -d EOI } } + +: impure-function +: +{ + : var-assignment + : + $* <>~%EOE% != 0 + v = $getenv('VAR') + EOI + buildfile:11:6: error: call to impure function getenv is only allowed in depdb preamble + % info: .+% + EOE + + : quoted + : + $* <>~%EOE% != 0 + v = "$getenv('VAR')" + EOI + buildfile:11:7: error: call to impure function getenv is only allowed in depdb preamble + % info: .*% + EOE + + : if-cond + : + $* <>~%EOE% != 0 + if ($getenv('VAR') == 'yes') + foo + end + EOI + buildfile:11:6: error: call to impure function getenv is only allowed in depdb preamble + % info: .+% + EOE + + : command + : + $* <>~%EOE% != 0 + $getenv('VAR') + EOI + buildfile:11:2: error: call to impure function getenv is only allowed in depdb preamble + % info: .+% + EOE + + : non-functions + : + { + $* <'$getenv' : var + $* <'$getenv (v ? a : b)' : eval + } +} -- cgit v1.1