Merge nucleic/sleek-thistle-egret-fyej into dev
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
name: "Builtins: exec"
|
||||
cases:
|
||||
- name: "Exec an invalid path"
|
||||
ignore_stderr: true
|
||||
stdin: |
|
||||
exec /some/nonexistent/path
|
||||
|
||||
- name: "Exec with no arguments"
|
||||
stdin: |
|
||||
pid=$$
|
||||
exec
|
||||
[[ "${pid}" == "$$" ]] || echo "PID changed"
|
||||
|
||||
- name: "Exec with no arguments and redirection for new fd"
|
||||
stdin: |
|
||||
exec 3>some-file.txt
|
||||
echo "Hello, fd 3!" >&3
|
||||
|
||||
- name: "Exec with no arguments and redirection of stderr"
|
||||
stdin: |
|
||||
exec 2>/dev/null
|
||||
|
||||
# Do something that should display an error to stderr
|
||||
source /non-existent
|
||||
|
||||
- name: "Exec with no arguments and redirection in a script"
|
||||
test_files:
|
||||
- path: "script.sh"
|
||||
contents: |
|
||||
exec 2>output-file.txt
|
||||
echo hi >&2
|
||||
args: ["./script.sh"]
|
||||
|
||||
- name: "Exec a command"
|
||||
stdin: |
|
||||
exec $0 -c 'echo "In child shell"'
|
||||
echo "This is never reached"
|
||||
|
||||
- name: "exec without -c"
|
||||
stdin: |
|
||||
export myvar=value
|
||||
exec $0 -c 'echo "myvar: ${myvar}"'
|
||||
|
||||
- name: "exec -c"
|
||||
stdin: |
|
||||
export myvar=value
|
||||
exec -c $0 -c 'echo "myvar: ${myvar}"'
|
||||
|
||||
- name: "exec -a"
|
||||
stdin: |
|
||||
exec -a shellname $0 -c 'echo "0: $0"'
|
||||
Reference in New Issue
Block a user