* tests/scripts/functions/shell: Verify that .SHELLSTATUS contains
a non-0 value when the shell exits due to a signal.
else
shell_function_completed = 1;
+ if (exit_code == 0 && exit_sig > 0)
+ exit_code = 128 + exit_sig;
+
sprintf (buf, "%d", exit_code);
define_variable_cname (".SHELLSTATUS", buf, o_override, 0);
}
OK := $(.SHELLSTATUS)
$(shell exit 1)
BAD := $(.SHELLSTATUS)
+$(shell kill -2 $$$$)
+SIG := $(.SHELLSTATUS)
all: ; @echo PRE=$(PRE) OK=$(OK) BAD=$(BAD)
','','PRE= OK=0 BAD=1');
+run_make_test('.PHONY: all
+$(shell kill -2 $$$$)
+SIG := $(.SHELLSTATUS)
+all: ; @echo SIG=$(SIG)
+ ','','SIG=130');
# Test unescaped comment characters in shells. Savannah bug #20513
run_make_test(q!