80 lines
1.8 KiB
YAML
80 lines
1.8 KiB
YAML
name: "Options: failglob"
|
|||
|
|
cases:
|
||
|
|
- name: "failglob errors on unmatched glob"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
echo non-existent-*.txt 2>/dev/null
|
||
|
|
echo "exit=$?"
|
||
|
|
|
||
|
|
- name: "failglob does not affect matching glob"
|
||
|
|
stdin: |
|
||
|
|
touch realfile.txt
|
||
|
|
shopt -s failglob
|
||
|
|
echo real*.txt
|
||
|
|
|
||
|
|
- name: "failglob does not affect quoted glob chars"
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
echo 'non-existent-*.txt'
|
||
|
|
|
||
|
|
- name: "failglob with negation"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
! echo non-existent-*.txt 2>/dev/null
|
||
|
|
echo "exit=$?"
|
||
|
|
|
||
|
|
- name: "failglob in subshell"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
(echo non-existent-*.txt; echo "inner=$?")
|
||
|
|
echo "outer=$?"
|
||
|
|
|
||
|
|
- name: "failglob lone ] is not a glob"
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
echo foo]
|
||
|
|
|
||
|
|
- name: "failglob lone [ is not a glob"
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
echo [abc
|
||
|
|
|
||
|
|
- name: "failglob aborts compound list"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
echo *.nomatch; echo "after"
|
||
|
|
|
||
|
|
- name: "failglob in multi-member pipeline"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
echo *.nomatch | cat
|
||
|
|
echo "after"
|
||
|
|
|
||
|
|
- name: "failglob extglob pattern"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
shopt -s extglob
|
||
|
|
echo @(nomatch_pattern_xyz)
|
||
|
|
echo "after"
|
||
|
|
|
||
|
|
- name: "failglob takes precedence over nullglob"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob nullglob
|
||
|
|
echo non-existent-*.txt 2>/dev/null
|
||
|
|
echo "exit=$?"
|
||
|
|
|
||
|
|
- name: "failglob on unquoted variable with glob chars"
|
||
|
|
ignore_stderr: true
|
||
|
|
stdin: |
|
||
|
|
shopt -s failglob
|
||
|
|
x='*.nomatch_xyz'
|
||
|
|
echo $x 2>/dev/null
|
||
|
|
echo "exit=$?"
|