diff options
Diffstat (limited to 'tests/scripts/functions/shell')
-rw-r--r-- | tests/scripts/functions/shell | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/tests/scripts/functions/shell b/tests/scripts/functions/shell index 723cd0e..809c77f 100644 --- a/tests/scripts/functions/shell +++ b/tests/scripts/functions/shell @@ -4,11 +4,26 @@ $description = 'Test the $(shell ...) function.'; $details = ''; +# Test standard shell +run_make_test('.PHONY: all +OUT := $(shell echo hi) +all: ; @echo $(OUT) + ','','hi'); # Test shells inside rules. run_make_test('.PHONY: all all: ; @echo $(shell echo hi) -','','hi'); + ','','hi'); + +# Verify .SHELLSTATUS +run_make_test('.PHONY: all +PRE := $(.SHELLSTATUS) +$(shell exit 0) +OK := $(.SHELLSTATUS) +$(shell exit 1) +BAD := $(.SHELLSTATUS) +all: ; @echo PRE=$(PRE) OK=$(OK) BAD=$(BAD) + ','','PRE= OK=0 BAD=1'); # Test unescaped comment characters in shells. Savannah bug #20513 @@ -27,6 +42,19 @@ run_make_test(' export HI = $(shell echo hi) .PHONY: all all: ; @echo $$HI -','','hi'); + ','','hi'); + +# Test shell errors in recipes including offset +run_make_test(' +all: + @echo hi + $(shell ./basdfdfsed there) + @echo there +', + '', "#MAKE#: ./basdfdfsed: Command not found\nhi\nthere\n"); 1; + +### Local Variables: +### eval: (setq whitespace-action (delq 'auto-cleanup whitespace-action)) +### End: |