130 KiB
130 KiB
............................xx....x....x............xxx......xxxxx...xxxxxxxxxx.......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx....xxx.x........x..xxxxxx...xxx............xxxxxx.................xx......xxx...~x.........~~..xxxxxxxx...x...~......xx........~...........~.....~...........
----------------------------------------------------------------
21sh/redirections/outputs/truncating/multiple/004-together (FAILED)
Description:
A right redirection can be associated to the twice outputs by using `&>...`, that means `redirect stdout and stderr to ...`.
Before test:
01: rm -f "new_file_stderr_and_stdout"
STDIN:
01: ./write_on_stdout_and_stderr TOKEN201703291601_1 TOKEN201703291601_2 &>new_file_stderr_and_stdout
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601_1`
SUCCESS expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_1
STDERR:
SUCCESS expected_to_not match_regex `TOKEN201703291601_1`
FAILURE expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_2
MISC:
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_1$`
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_2$`
----------------------------------------------------------------
21sh/redirections/outputs/truncating/multiple/005-together-with-whitespaces (FAILED)
Description:
A right redirection can be associated to the twice outputs by using `&>...`, that means `redirect stdout and stderr to ...`.
In this test, we specify the file name in a separate field.
Before test:
01: rm -f new_file_stderr_and_stdout
STDIN:
01: ./write_on_stdout_and_stderr TOKEN201703291601_1 TOKEN201703291601_2 &> new_file_stderr_and_stdout
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601_1`
SUCCESS expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_1
STDERR:
SUCCESS expected_to_not match_regex `TOKEN201703291601_1`
FAILURE expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_2
MISC:
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_1$`
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_2$`
----------------------------------------------------------------
21sh/separators/semicolon/003-parse-error-empty-inline-command (FAILED)
Description:
The purpose of this test is to check that using the simicolon separator `;` with empty commands results in error.
STDIN:
01: ./write_on_stdout TOKEN201703291601 ; ; ./exit_with_status 42
STDOUT:
SUCCESS expected_to be_empty
(no output)
STDERR:
SUCCESS expected_to_not be_empty
SUCCESS might match_regex `([Ss]yntax|[Pp]arse) error`
01: syntax error near unexpected token `;'
MISC:
SUCCESS expected_to_not exit_with_status `42`
FAILURE expected_to_not exit_with_status `0`
----------------------------------------------------------------
42sh/builtins/export/004-export-empty-variable-1 (FAILED)
Description:
The purpose of this test is to check that exporting an empty variable does not add it to the environment.
Before test:
01: unset "TOKEN201703291601"
STDIN:
01: export TOKEN201703291601
02: ./display_env
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: TOKEN201703291601=
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/builtins/export/options/002-export-p-param-and-token-should-add-local-var-only-part1 (FAILED)
Description:
The purpose of this test is to check if export with -p option + token , add the variable into export list but not in env list. And don't display the export variable on stdout.
Before test:
01: rm -f "./stored_env"
02: unset "TOKEN201703291601_NAME"
03: export | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env"
STDIN:
01: export -p TOKEN201703291601_NAME
02: export
STDOUT:
FAILURE expected_to_not match_each_regex_of_file `./stored_env`
FAILURE expected_to match_regex `TOKEN201703291601_NAME`
01: export TERM_PROGRAM=iTerm.app
02: export TERM=screen-256color
03: export SHELL=/bin/zsh
04: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
05: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
06: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
07: export TERM_PROGRAM_VERSION=3.0.10
08: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
09: export ZSH=/Users/ariard/.oh-my-zsh
10: export USER=ariard
11: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
12: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
13: export PAGER=less
14: export TMUX=/private/tmp/tmux-18965/default,460,2
15: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
16: export LSCOLORS=Gxfxcxdxbxegedabagacad
17: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
18: export MAIL=ariard@student.42.fr
19: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
20: export LANG=en_US.UTF-8
21: export ITERM_PROFILE=Default
22: export XPC_FLAGS=0x0
23: export TMUX_PANE=%19
24: export XPC_SERVICE_NAME=0
25: export SHLVL=5
26: export HOME=/Users/ariard
27: export COLORFGBG=7;0
28: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
29: export LOGNAME=ariard
30: export LESS=-R
31: export LC_CTYPE=en_US.UTF-8
32: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
33: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
34: export _=../../42sh
35: export ?=0
36: export TERM_PROGRAM=iTerm.app
37: export TERM=screen-256color
38: export SHELL=/bin/zsh
39: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
40: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
41: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
42: export TERM_PROGRAM_VERSION=3.0.10
43: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
44: export ZSH=/Users/ariard/.oh-my-zsh
45: export USER=ariard
46: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
47: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
48: export PAGER=less
49: export TMUX=/private/tmp/tmux-18965/default,460,2
50: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
51: export LSCOLORS=Gxfxcxdxbxegedabagacad
52: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
53: export MAIL=ariard@student.42.fr
54: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
55: export LANG=en_US.UTF-8
56: export ITERM_PROFILE=Default
57: export XPC_FLAGS=0x0
58: export TMUX_PANE=%19
59: export XPC_SERVICE_NAME=0
60: export SHLVL=5
61: export HOME=/Users/ariard
62: export COLORFGBG=7;0
63: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
64: export LOGNAME=ariard
65: export LESS=-R
66: export LC_CTYPE=en_US.UTF-8
67: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
68: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
69: export _=../../42sh
70: export ?=0
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/builtins/export/options/003-export-p-param-and-token-should-add-local-var-only-part2 (FAILED)
Description:
The purpose of this test is to check that the builtin `export` with option `-p` results in an added variable into the export list but not from the environment.
Before test:
01: rm -f "./stored_env"
02: unset "TOKEN201703291601_NAME"
03: export | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env"
STDIN:
01: export -p TOKEN201703291601_NAME
02: ./display_env
STDOUT:
FAILURE expected_to_not match_each_regex_of_file `./stored_env`
SUCCESS expected_to_not match_regex `TOKEN201703291601_NAME`
01: export TERM_PROGRAM=iTerm.app
02: export TERM=screen-256color
03: export SHELL=/bin/zsh
04: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
05: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
06: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
07: export TERM_PROGRAM_VERSION=3.0.10
08: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
09: export ZSH=/Users/ariard/.oh-my-zsh
10: export USER=ariard
11: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
12: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
13: export PAGER=less
14: export TMUX=/private/tmp/tmux-18965/default,460,2
15: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
16: export LSCOLORS=Gxfxcxdxbxegedabagacad
17: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
18: export MAIL=ariard@student.42.fr
19: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
20: export LANG=en_US.UTF-8
21: export ITERM_PROFILE=Default
22: export XPC_FLAGS=0x0
23: export TMUX_PANE=%19
24: export XPC_SERVICE_NAME=0
25: export SHLVL=5
26: export HOME=/Users/ariard
27: export COLORFGBG=7;0
28: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
29: export LOGNAME=ariard
30: export LESS=-R
31: export LC_CTYPE=en_US.UTF-8
32: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
33: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
34: export _=../../42sh
35: export ?=0
36: ------------------------------
37: TERM_PROGRAM=iTerm.app
38: TERM=screen-256color
39: SHELL=/bin/zsh
40: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
41: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
42: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
43: TERM_PROGRAM_VERSION=3.0.10
44: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
45: ZSH=/Users/ariard/.oh-my-zsh
46: USER=ariard
47: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
48: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
49: PAGER=less
50: TMUX=/private/tmp/tmux-18965/default,460,2
51: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
52: LSCOLORS=Gxfxcxdxbxegedabagacad
53: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
54: MAIL=ariard@student.42.fr
55: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
56: LANG=en_US.UTF-8
57: ITERM_PROFILE=Default
58: XPC_FLAGS=0x0
59: TMUX_PANE=%19
60: XPC_SERVICE_NAME=0
61: SHLVL=5
62: HOME=/Users/ariard
63: COLORFGBG=7;0
64: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
65: LOGNAME=ariard
66: LESS=-R
67: LC_CTYPE=en_US.UTF-8
68: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
69: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
70: _=../../42sh
71: ?=0
72: ------------------------------
73: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/builtins/export/options/004-export-n-param (FAILED)
Description:
The purpose of this test is to check that using the builtin `export` with option `-n` results in a removed environment variable.
Before test:
01: export TOKEN201703291601_NAME=TOKEN201703291601_VALUE
STDIN:
01: export -n TOKEN201703291601_NAME
02: export
03: ./display_env
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601_NAME`
01: export TERM_PROGRAM=iTerm.app
02: export TERM=screen-256color
03: export SHELL=/bin/zsh
04: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
05: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
06: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
07: export TERM_PROGRAM_VERSION=3.0.10
08: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
09: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: export ZSH=/Users/ariard/.oh-my-zsh
11: export USER=ariard
12: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: export PAGER=less
15: export TMUX=/private/tmp/tmux-18965/default,460,2
16: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: export LSCOLORS=Gxfxcxdxbxegedabagacad
18: export TOKEN201703291601_NAME=TOKEN201703291601_VALUE
19: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
20: export MAIL=ariard@student.42.fr
21: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
22: export LANG=en_US.UTF-8
23: export ITERM_PROFILE=Default
24: export XPC_FLAGS=0x0
25: export TMUX_PANE=%19
26: export XPC_SERVICE_NAME=0
27: export SHLVL=5
28: export HOME=/Users/ariard
29: export COLORFGBG=7;0
30: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
31: export LOGNAME=ariard
32: export LESS=-R
33: export LC_CTYPE=en_US.UTF-8
34: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
35: export _=../../42sh
36: export ?=1
37: ------------------------------
38: TERM_PROGRAM=iTerm.app
39: TERM=screen-256color
40: SHELL=/bin/zsh
41: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
42: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
43: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
44: TERM_PROGRAM_VERSION=3.0.10
45: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
46: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
47: ZSH=/Users/ariard/.oh-my-zsh
48: USER=ariard
49: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
50: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
51: PAGER=less
52: TMUX=/private/tmp/tmux-18965/default,460,2
53: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
54: LSCOLORS=Gxfxcxdxbxegedabagacad
55: TOKEN201703291601_NAME=TOKEN201703291601_VALUE
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: _=../../42sh
73: ?=0
74: ------------------------------
75: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
FAILURE expected_to be_empty
01: export: invalid option -n
02: ../../42sh: usage: export [name[=value] ...] or export -p
----------------------------------------------------------------
42sh/escaping/mixed/globbing/brace-expansion/002-it-expands-braces-1 (FAILED)
Description:
The purpose of this test is to check that using multiple escape characters `\\` results in a good behavior with the brace expansion.
STDIN:
01: ./write_all_arguments_on_stdout \\{1..2}
STDOUT:
FAILURE expected_to match_regex `^\1@\2@$`
01: \{1..2}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/escaping/mixed/globbing/brace-expansion/003-it-expands-braces-2 (FAILED)
Description:
The purpose of this test is to check that using multiple escape characters `\\` results in a good behavior with the brace expansion.
STDIN:
01: ./write_all_arguments_on_stdout \\\{1..2} \\\\{1..2} \\\\\{1..2} \\\\\\{1..2}
STDOUT:
FAILURE expected_to match_regex `^\[{]1..2}@\\1@\\2@\\[{]1..2}@\\\1@\\\2@$`
01: \{1..2}@\\{1..2}@\\{1..2}@\\\{1..2}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/escaping/mixed/globbing/bracket-expansion/001-it-does-not-expand-brackets (FAILED)
Description:
The purpose of this test is to check that escaping brackets does not result in an expansion process.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout \[abc] [abc\] \[abc\]
STDOUT:
FAILURE expected_to match_regex `^[[]abc]@[[]abc]@[[]abc]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/escaping/mixed/globbing/bracket-expansion/002-escaped-inversion-mark (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with an inversion mark `!` or `^` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' '!' '^'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [\!abc]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [\^abc]
STDOUT:
FAILURE expected_to match_regex `!@`
FAILURE expected_to match_regex `[\^]@`
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
SUCCESS expected_to_not match_regex `d@`
SUCCESS expected_to_not match_regex `e@`
SUCCESS expected_to_not match_regex `f@`
WARNING might match_regex `^!@a@b@c@$`
WARNING might match_regex `^[\^]@a@b@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/escaping/mixed/globbing/bracket-expansion/003-it-takes-escaped-bracket-as-pattern-character (FAILED)
Description:
The purpose of this test is to check that a closing bracket ']' may be escaped in a backet expansion pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' ']'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\]def]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\\\]def]
03: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\\\\\]def]
04: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\\\\\\\]def]
STDOUT:
FAILURE expected_to match_regex `a@` 4 times
FAILURE expected_to match_regex `b@` 4 times
FAILURE expected_to match_regex `c@` 4 times
FAILURE expected_to match_regex `]@` 4 times
FAILURE expected_to match_regex `d@` 4 times
FAILURE expected_to match_regex `e@` 4 times
FAILURE expected_to match_regex `f@` 4 times
SUCCESS expected_to_not match_regex `def`
WARNING might match_regex `^]@a@b@c@d@e@f@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/001-simple-ascending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {a..e}
STDOUT:
FAILURE expected_to match_regex `^a@b@c@d@e@$`
01: {a..e}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/002-simple-ascending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{a..e}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601aTOKEN201703291601@TOKEN201703291601bTOKEN201703291601@TOKEN201703291601cTOKEN201703291601@TOKEN201703291601dTOKEN201703291601@TOKEN201703291601eTOKEN201703291601@$`
01: TOKEN201703291601{a..e}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/003-simple-ascending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {A..E}
STDOUT:
FAILURE expected_to match_regex `^A@B@C@D@E@$`
01: {A..E}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/004-simple-descending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {E..A}
STDOUT:
FAILURE expected_to match_regex `^E@D@C@B@A@$`
01: {E..A}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/005-simple-descending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{E..A}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601ETOKEN201703291601@TOKEN201703291601DTOKEN201703291601@TOKEN201703291601CTOKEN201703291601@TOKEN201703291601BTOKEN201703291601@TOKEN201703291601ATOKEN201703291601@$`
01: TOKEN201703291601{E..A}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/006-simple-descending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{e..a}
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601e@TOKEN201703291601d@TOKEN201703291601c@TOKEN201703291601b@TOKEN201703291601a@$`
01: TOKEN201703291601{e..a}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/007-identical-start-and-end (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a range of single ASCII value.
STDIN:
01: ./write_all_arguments_on_stdout {f..f}
STDOUT:
FAILURE expected_to match_regex `^f@$`
01: {f..f}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/008-multiple-1 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout {a..b}{c..d}{e..f}
STDOUT:
FAILURE expected_to match_regex `^ace@acf@ade@adf@bce@bcf@bde@bdf@$`
01: {a..b}{c..d}{e..f}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/009-multiple-2 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{a..b}abc{Z..X}def{s..s}
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601aabcZdefs@TOKEN201703291601aabcYdefs@TOKEN201703291601aabcXdefs@TOKEN201703291601babcZdefs@TOKEN201703291601babcYdefs@TOKEN201703291601babcXdefs@$`
01: TOKEN201703291601{a..b}abc{Z..X}def{s..s}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/010-big-range (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with a big numeric range.
STDIN:
01: ./write_all_arguments_on_stdout {A..z}
STDOUT:
FAILURE expected_to match_regex `^A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@.+@.?@.+@.+@_@.+@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@$`
01: {A..z}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/001-simple-ascending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {1..5}
STDOUT:
FAILURE expected_to match_regex `^1@2@3@4@5@$`
01: {1..5}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/002-simple-ascending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{1..5}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916011TOKEN201703291601@TOKEN2017032916012TOKEN201703291601@TOKEN2017032916013TOKEN201703291601@TOKEN2017032916014TOKEN201703291601@TOKEN2017032916015TOKEN201703291601@$`
01: TOKEN201703291601{1..5}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/003-simple-ascending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{1..+5}
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916011@TOKEN2017032916012@TOKEN2017032916013@TOKEN2017032916014@TOKEN2017032916015@$`
01: TOKEN201703291601{1..+5}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/004-simple-ascending-4 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {-5..0}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^-5TOKEN201703291601@-4TOKEN201703291601@-3TOKEN201703291601@-2TOKEN201703291601@-1TOKEN201703291601@0TOKEN201703291601@$`
01: {-5..0}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/005-simple-ascending-5 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {-100..-98}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^-100TOKEN201703291601@-99TOKEN201703291601@-98TOKEN201703291601@$`
01: {-100..-98}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/006-simple-descending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {5..1}
STDOUT:
FAILURE expected_to match_regex `^5@4@3@2@1@$`
01: {5..1}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/007-simple-descending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{5..1}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916015TOKEN201703291601@TOKEN2017032916014TOKEN201703291601@TOKEN2017032916013TOKEN201703291601@TOKEN2017032916012TOKEN201703291601@TOKEN2017032916011TOKEN201703291601@$`
01: TOKEN201703291601{5..1}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/008-simple-descending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{5..+1}
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916015@TOKEN2017032916014@TOKEN2017032916013@TOKEN2017032916012@TOKEN2017032916011@$`
01: TOKEN201703291601{5..+1}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/009-simple-descending-4 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {0..-5}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^0TOKEN201703291601@-1TOKEN201703291601@-2TOKEN201703291601@-3TOKEN201703291601@-4TOKEN201703291601@-5TOKEN201703291601@$`
01: {0..-5}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/010-simple-descending-5 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {-98..-100}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^-98TOKEN201703291601@-99TOKEN201703291601@-100TOKEN201703291601@$`
01: {-98..-100}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/011-identical-positive-start-and-end (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a range of single value.
STDIN:
01: ./write_all_arguments_on_stdout {42..42}
STDOUT:
FAILURE expected_to match_regex `^42@$`
01: {42..42}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/012-identical-negative-start-and-end (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a range of single value.
STDIN:
01: ./write_all_arguments_on_stdout {-42..-42}
STDOUT:
FAILURE expected_to match_regex `^-42@$`
01: {-42..-42}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/013-multiple-1 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout {1..2}{3..4}{5..6}
STDOUT:
FAILURE expected_to match_regex `^135@136@145@146@235@236@245@246@$`
01: {1..2}{3..4}{5..6}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/014-multiple-2 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{1..2}abc{-50..-53}def{0..0}
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916011abc-50def0@TOKEN2017032916011abc-51def0@TOKEN2017032916011abc-52def0@TOKEN2017032916011abc-53def0@TOKEN2017032916012abc-50def0@TOKEN2017032916012abc-51def0@TOKEN2017032916012abc-52def0@TOKEN2017032916012abc-53def0@$`
01: TOKEN201703291601{1..2}abc{-50..-53}def{0..0}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/015-big-range (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with a big numeric range.
STDIN:
01: ./write_all_arguments_on_stdout {-100..100}
STDOUT:
FAILURE expected_to match_regex `^-100@-99@-98@-97@-96@-95@-94@-93@-92@-91@-90@-89@-88@-87@-86@-85@-84@-83@-82@-81@-80@-79@-78@-77@-76@-75@-74@-73@-72@-71@-70@-69@-68@-67@-66@-65@-64@-63@-62@-61@-60@-59@-58@-57@-56@-55@-54@-53@-52@-51@-50@-49@-48@-47@-46@-45@-44@-43@-42@-41@-40@-39@-38@-37@-36@-35@-34@-33@-32@-31@-30@-29@-28@-27@-26@-25@-24@-23@-22@-21@-20@-19@-18@-17@-16@-15@-14@-13@-12@-11@-10@-9@-8@-7@-6@-5@-4@-3@-2@-1@0@1@2@3@4@5@6@7@8@9@10@11@12@13@14@15@16@17@18@19@20@21@22@23@24@25@26@27@28@29@30@31@32@33@34@35@36@37@38@39@40@41@42@43@44@45@46@47@48@49@50@51@52@53@54@55@56@57@58@59@60@61@62@63@64@65@66@67@68@69@70@71@72@73@74@75@76@77@78@79@80@81@82@83@84@85@86@87@88@89@90@91@92@93@94@95@96@97@98@99@100@$`
01: {-100..100}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/001-range-and-char (FAILED)
Description:
The purpose of this test is to check that brackets expansion works with a range and 2 characters as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '1' '2' '3' 'a' 'b' 'z' 'C' '-' '[a-z-2]' 'a-z-2'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [a-z-2]
STDOUT:
FAILURE expected_to match_regex `-@`
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `z@`
SUCCESS expected_to_not match_regex `1@`
SUCCESS expected_to_not match_regex `3@`
SUCCESS expected_to_not match_regex `C@`
SUCCESS expected_to_not match_regex `[[]a-z-2]@`
SUCCESS expected_to_not match_regex `a-z-2@`
WARNING might match_regex `^-@2@a@b@z@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/002-reverse-range-and-chars (FAILED)
Description:
The purpose of this test is to check that brackets expansion works with 2 patterns.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a4' 'a3' 'a2' 'a42' 'a[42]' 'z4' 'z3' 'z2' 'z42' 'z[42]' '42'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!a-y][42]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^a-y][42]
STDOUT:
FAILURE expected_to match_regex `42@`
FAILURE expected_to match_regex `z4@`
FAILURE expected_to match_regex `z2@`
SUCCESS expected_to_not match_regex `z3@`
SUCCESS expected_to_not match_regex `z42@`
SUCCESS expected_to_not match_regex `z[[]42]@`
SUCCESS expected_to_not match_regex `a3@`
SUCCESS expected_to_not match_regex `a42@`
SUCCESS expected_to_not match_regex `a[[]42]@`
WARNING might match_regex `^42@z2@z4@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/003-reverse-multi-hard (FAILED)
Description:
The purpose of this test is to check how the value inside multiple brackets are parsed with bracket as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '][' 'a[' '1['
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!]az][[]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^]az][[]
STDOUT:
FAILURE expected_to match_regex `1[[]@`
SUCCESS expected_to_not match_regex `][[]@`
SUCCESS expected_to_not match_regex `a[[]@`
WARNING might match_regex `^1[[]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/004-simple-bracket+char+range (FAILED)
Description:
The purpose of this test is to control if 2 patterns splited by a minus characters can be match.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a-0' 'a-1' 'a-2' 'b-0' 'b-1' 'b-2' 'Z-0' 'Z-1' 'Z-2' 'a1' 'Z9' 'D4'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [aZ]-[1-9]
STDOUT:
FAILURE expected_to match_regex `a-1@`
FAILURE expected_to match_regex `a-2@`
FAILURE expected_to match_regex `Z-1@`
FAILURE expected_to match_regex `Z-2@`
SUCCESS expected_to_not match_regex `a-0@`
SUCCESS expected_to_not match_regex `b-0@`
SUCCESS expected_to_not match_regex `b-1@`
SUCCESS expected_to_not match_regex `b-2@`
SUCCESS expected_to_not match_regex `a1@`
SUCCESS expected_to_not match_regex `Z9@`
SUCCESS expected_to_not match_regex `D4@`
WARNING might match_regex `^Z-1@Z-2@a-1@a-2@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/not/001-simple-opposit-match (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the inversion mark `!` or `^`. The expected behavior is the reversion of the following pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' '1' 'Z' 'd' 'e' 'f' 'def'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!a1Z]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^a1Z]
STDOUT:
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
SUCCESS expected_to_not match_regex `def@`
WARNING might match_regex `^d@e@f@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/not/002-simple-opposite-range (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the inversion mark `!` or `^`. The expected behavior is the reversion of the following pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'z' '1' '2' '3' '42'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!a-z]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^a-z]
STDOUT:
FAILURE expected_to match_regex `1@`
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `3@`
SUCCESS expected_to_not match_regex `42@`
WARNING might match_regex `^1@2@3@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/001-alpha-range (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the following pattern `[a-z]`.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'f' 'z' 'A' '1' '[a-z]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [a-z]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `z@`
SUCCESS expected_to_not match_regex `A@`
SUCCESS expected_to_not match_regex `1@`
SUCCESS expected_to_not match_regex `[[]a-z]@`
WARNING might match_regex `^a@f@z@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/002-numeric-range (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the following pattern `[0-9]`.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '4' '2' '1' '9' 'a' 'C' '[0-9]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [0-9]
STDOUT:
FAILURE expected_to match_regex `1@`
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `4@`
FAILURE expected_to match_regex `9@`
SUCCESS expected_to_not match_regex `a@`
SUCCESS expected_to_not match_regex `C@`
SUCCESS expected_to_not match_regex `[[]0-9]@`
WARNING might match_regex `^1@2@4@9@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/003-ascii-range-1 (FAILED)
Description:
The purpose of this test is to check if the bracket expansion works with the following pattern []-z].
One test use the following range which is the default range for bash:
< > , ; : ! ' " ( ) [ ] { } @ $ \ # % 1 2 3 4 5 6 7 8 9 a A b B c C d D e E f F g G h H i I j J k K l L m M n N o O p P q Q r R s S t T u U v V w W x X y Y z
The other use the ascii value, which does make more sense.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '2' 'a' 'B' 'c' 'Z' '[' ']' '[]-z]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout []-z]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `]@`
SUCCESS expected_to_not match_regex `2@`
SUCCESS expected_to_not match_regex `B@`
SUCCESS expected_to_not match_regex `Z@`
SUCCESS expected_to_not match_regex `[[]@`
SUCCESS expected_to_not match_regex `[[]]-z]@`
WARNING might match_regex `^]@a@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/004-ascii-range-2 (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the following pattern `[1-z]`.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '2' 'a' 'B' 'c' 'Z' ']' '[' '[1-z]' '1-z' '-'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [1-z]
STDOUT:
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `B@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `Z@`
FAILURE expected_to match_regex `]@`
FAILURE expected_to match_regex `[[]@`
SUCCESS expected_to_not match_regex `-@`
SUCCESS expected_to_not match_regex `1-z@`
SUCCESS expected_to_not match_regex `[[]1-z]@`
WARNING might match_regex `^2@B@Z@[[]@]@a@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/001-simple-list (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with a simple list of characters as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' '[bca]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [bca]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
SUCCESS expected_to_not match_regex `d@`
SUCCESS expected_to_not match_regex `e@`
SUCCESS expected_to_not match_regex `f@`
SUCCESS expected_to_not match_regex `[[]bca]@`
WARNING might match_regex `^a@b@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/002-multi-bracket (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with multiple brackets patterns.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch "TOKEN201703291601abcd" "TOKEN201703291601abc" "TOKEN201703291601abdc" "TOKEN201703291601b" "TOKEN201703291601" "TOKEN201703291601\[a]b\[c]\[d]"
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout TOKEN201703291601[a]b[c][d]
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601abcd@$`
SUCCESS expected_to_not match_regex `TOKEN201703291601abc@`
SUCCESS expected_to_not match_regex `TOKEN201703291601abdc@`
SUCCESS expected_to_not match_regex `TOKEN201703291601b@`
SUCCESS expected_to_not match_regex `TOKEN201703291601@`
SUCCESS expected_to_not match_regex `TOKEN201703291601[[]a]b[[]c][[]d]@`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/003-brackets-as-pattern (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with an opening bracket `[` and a closing bracket `]` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '[' ']' 'a' 'Z' '[][]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [][]
STDOUT:
FAILURE expected_to match_regex `[[]@`
FAILURE expected_to match_regex `]@`
SUCCESS expected_to_not match_regex `a@`
SUCCESS expected_to_not match_regex `Z@`
SUCCESS expected_to_not match_regex `[[]][[]]@`
WARNING might match_regex `^[[]@]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/004-multi-bracket-multi-char (FAILED)
Description:
The purpose of this test is to match a file name which contain a bracket as first character.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 21 23 24 25 26 27 28 29 ']' '[' '[12][34]' '1234'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [12][34]
STDOUT:
FAILURE expected_to match_regex `13@`
FAILURE expected_to match_regex `14@`
FAILURE expected_to match_regex `23@`
FAILURE expected_to match_regex `24@`
SUCCESS expected_to_not match_regex `0[0-9]@`
SUCCESS expected_to_not match_regex `1[0-2]@`
SUCCESS expected_to_not match_regex `1[5-9]@`
SUCCESS expected_to_not match_regex `2[0-2]@`
SUCCESS expected_to_not match_regex `2[5-9]@`
SUCCESS expected_to_not match_regex `[[]@`
SUCCESS expected_to_not match_regex `]@`
SUCCESS expected_to_not match_regex `[[]12][[]34]@`
SUCCESS expected_to_not match_regex `1234@`
WARNING might match_regex `^13@14@23@24@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/single-char-pattern/001-single-char (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with a single character as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' '[a]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [a]
STDOUT:
FAILURE expected_to match_regex `a@`
SUCCESS expected_to_not match_regex `b@`
SUCCESS expected_to_not match_regex `[[]a]@`
WARNING might match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/single-char-pattern/002-closing-bracket-char (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with a closing bracket `]` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch ']' '[]]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout []]
STDOUT:
FAILURE expected_to match_regex `]@`
SUCCESS expected_to_not match_regex `[[]]]@`
WARNING might match_regex `^]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/single-char-pattern/003-opening-bracket-char (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with an opening bracket `[` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '[' '[[]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [[]
STDOUT:
FAILURE expected_to match_regex `[[]@`
SUCCESS expected_to_not match_regex `[[][[]]@`
WARNING might match_regex `^[[]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/local-variable/002-declare-and-expand-2 (FAILED)
Description:
The purpose of this test is to check that an empty variable is not expanded as an empty string and results in any new argument in the command line.
STDIN:
01: TOKEN201703291601_NAME=
02: ./write_on_stdout_and_stderr $TOKEN201703291601_NAME $TOKEN201703291601_NAME
STDOUT:
FAILURE expected_to match_regex `write on stdout`
01:
STDERR:
FAILURE expected_to match_regex `write on stderr`
01:
----------------------------------------------------------------
42sh/local-variable/003-unknown-variable-does-not-result-in-new-argument (FAILED)
Description:
The purpose of this test is to check that an unknown variable is not expanded as an empty string and results in any new argument in the command line.
Before test:
01: unset "TOKEN201703291601_UNKNOWN"
STDIN:
01: ./write_on_stdout $TOKEN201703291601_UNKNOWN TOKEN201703291601_DISPLAYED
STDOUT:
FAILURE expected_to match_regex `TOKEN201703291601_DISPLAYED`
01: write on stdout
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/local-variable/004-existing-variable-in-environment-1 (FAILED)
Description:
The purpose of this test is initialize a local variable named as an environment variable and check if it's update the existing environment variable.
Before test:
01: export "TOKEN201703291601_NAME=TOKEN201703291601_VALUE_OLD"
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_VALUE_NEW
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE_NEW$`
FAILURE expected_to_not match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE_OLD$`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: TOKEN201703291601_NAME=TOKEN201703291601_VALUE_OLD
20: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
21: MAIL=ariard@student.42.fr
22: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
23: LANG=en_US.UTF-8
24: ITERM_PROFILE=Default
25: XPC_FLAGS=0x0
26: TMUX_PANE=%19
27: XPC_SERVICE_NAME=0
28: SHLVL=5
29: HOME=/Users/ariard
30: COLORFGBG=7;0
31: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
32: LOGNAME=ariard
33: LESS=-R
34: LC_CTYPE=en_US.UTF-8
35: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/local-variable/005-existing-variable-in-environment-2 (FAILED)
Description:
The purpose of this test is initialize a local variable named as an environment variable and check if it's update the existing environment variable.
Before test:
01: export "TOKEN201703291601_NAME=TOKEN201703291601_VALUE"
STDIN:
01: TOKEN201703291601_NAME=
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=$`
FAILURE expected_to_not match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: TOKEN201703291601_NAME=TOKEN201703291601_VALUE
20: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
21: MAIL=ariard@student.42.fr
22: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
23: LANG=en_US.UTF-8
24: ITERM_PROFILE=Default
25: XPC_FLAGS=0x0
26: TMUX_PANE=%19
27: XPC_SERVICE_NAME=0
28: SHLVL=5
29: HOME=/Users/ariard
30: COLORFGBG=7;0
31: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
32: LOGNAME=ariard
33: LESS=-R
34: LC_CTYPE=en_US.UTF-8
35: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/local-variable/mixed/inline-environment-variable/001-local-variable-shouldnt-be-set (FAILED)
Description:
The purpose of this test is to check that declaring a variable and specifying a binary does not result in local variable declaration but a modified environment for the command.
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_VALUE ./display_env
02: ./write_on_stderr $TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to_not match_regex `TOKEN201703291601_VALUE`
FAILURE expected_to match_regex `write on stderr`
01:
----------------------------------------------------------------
42sh/local-variable/mixed/redirections/001-truncating (FAILED)
Description:
The purpose of this test is to check that a redirection can be set with a local variable as file name.
Before test:
01: rm -f "TOKEN201703291601_FILENAME"
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_FILENAME
02: ./write_on_stdout TOKEN201703291601_VALUE > $TOKEN201703291601_NAME
STDOUT:
SUCCESS expected_to be_empty
(no output)
STDERR:
SUCCESS expected_to be_empty
(no output)
MISC:
FAILURE expected_to create_file `TOKEN201703291601_FILENAME` matching_regex `^TOKEN201703291601_VALUE$`
SUCCESS expected_to exit_with_status `0`
----------------------------------------------------------------
42sh/local-variable/mixed/redirections/002-appending (FAILED)
Description:
The purpose of this test is to check that a redirection can be set with a local variable as file name.
Before test:
01: rm -f "TOKEN201703291601_FILENAME"
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_FILENAME
02: ./write_on_stdout TOKEN201703291601_VALUE1 >> $TOKEN201703291601_NAME
03: ./write_on_stdout TOKEN201703291601_VALUE2 >> $TOKEN201703291601_NAME
STDOUT:
SUCCESS expected_to be_empty
(no output)
STDERR:
SUCCESS expected_to be_empty
(no output)
MISC:
FAILURE expected_to create_file `TOKEN201703291601_FILENAME` matching_regex `^TOKEN201703291601_VALUE1$`
FAILURE expected_to create_file `TOKEN201703291601_FILENAME` matching_regex `^TOKEN201703291601_VALUE2$`
SUCCESS expected_to exit_with_status `0`
----------------------------------------------------------------
42sh/local-variable/mixed/tilde-expansion/001-process-tilde-expansion (FAILED)
Description:
The purpose of this test is to check that the tilde expansion `~` in variable declaration.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: TOKEN201703291601=~
02: ./write_on_stdout TILDE:$TOKEN201703291601
STDOUT:
FAILURE expected_to_not match_regex `TILDE:~`
WARNING might match_regex `TILDE:/TOKEN201703291601`
01: TILDE:~
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/escaping/004-it-results-in-error (FAILED)
Description:
The purpose of this test is to check that using backslash `\\` before the closing double-quote `"` does result in syntax error.
STDIN:
01: ./write_on_stdout "TOKEN201703291601\"
STDOUT:
SUCCESS expected_to_not match_regex `^TOKEN201703291601$`
(no output)
STDERR:
FAILURE expected_to_not be_empty
WARNING might match_regex `([Ss]yntax|[Pp]arse) error`
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/002-it-does-not-expand-braces-2 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout {1..2}"{1..2}"
STDOUT:
FAILURE expected_to match_regex `1[{]1..2}@2[{]1..2}@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/003-it-does-not-expand-braces-3 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}"{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1@[{]1..2}2@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/004-it-does-not-expand-braces-4 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}"{1..2}"{1..2}"{1..2}"{1..2}"{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1[{]1..2}1[{]1..2}1@[{]1..2}1[{]1..2}1[{]1..2}2@[{]1..2}1[{]1..2}2[{]1..2}1@[{]1..2}1[{]1..2}2[{]1..2}2@[{]1..2}2[{]1..2}1[{]1..2}1@[{]1..2}2[{]1..2}1[{]1..2}2@[{]1..2}2[{]1..2}2[{]1..2}1@[{]1..2}2[{]1..2}2[{]1..2}2@`
01: {1..2}{1..2}{1..2}{1..2}{1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/005-it-does-not-expand-braces-5 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}" {1..2} "{1..2}" "{1..2}"
STDOUT:
FAILURE expected_to match_regex `[{]1..2}@1@2@[{]1..2}@[{]1..2}@`
01: {1..2}@{1..2}@{1..2}@{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/001-it-works-1 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ["a"]
STDOUT:
SUCCESS expected_to_not match_regex `[[]a]@`
FAILURE expected_to match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/002-it-works-2 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ["a"bc"def"gh]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `g@`
FAILURE expected_to match_regex `h@`
SUCCESS expected_to_not match_regex `bc`
SUCCESS expected_to_not match_regex `def`
SUCCESS expected_to_not match_regex `gh`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}"{1..2}'{1..2}'{1..2}"{1..2}"{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1[{]1..2}1[{]1..2}1@[{]1..2}1[{]1..2}1[{]1..2}2@[{]1..2}1[{]1..2}2[{]1..2}1@[{]1..2}1[{]1..2}2[{]1..2}2@[{]1..2}2[{]1..2}1[{]1..2}1@[{]1..2}2[{]1..2}1[{]1..2}2@[{]1..2}2[{]1..2}2[{]1..2}1@[{]1..2}2[{]1..2}2[{]1..2}2@`
01: {1..2}{1..2}{1..2}{1..2}{1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/mixed/globbing/bracket-expansion/001-it-works-1 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [""'a'""]
STDOUT:
SUCCESS expected_to_not match_regex `[[]a]@`
FAILURE expected_to match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/mixed/globbing/bracket-expansion/002-it-works-2 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ["a"bc'def'gh]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `g@`
FAILURE expected_to match_regex `h@`
SUCCESS expected_to_not match_regex `bc`
SUCCESS expected_to_not match_regex `def`
SUCCESS expected_to_not match_regex `gh`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/002-it-does-not-expand-braces-2 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout {1..2}'{1..2}'
STDOUT:
FAILURE expected_to match_regex `1[{]1..2}@2[{]1..2}@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/003-it-does-not-expand-braces-3 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout '{1..2}'{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1@[{]1..2}2@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/004-it-does-not-expand-braces-4 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout '{1..2}'{1..2}'{1..2}'{1..2}'{1..2}'{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1[{]1..2}1[{]1..2}1@[{]1..2}1[{]1..2}1[{]1..2}2@[{]1..2}1[{]1..2}2[{]1..2}1@[{]1..2}1[{]1..2}2[{]1..2}2@[{]1..2}2[{]1..2}1[{]1..2}1@[{]1..2}2[{]1..2}1[{]1..2}2@[{]1..2}2[{]1..2}2[{]1..2}1@[{]1..2}2[{]1..2}2[{]1..2}2@`
01: {1..2}{1..2}{1..2}{1..2}{1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/005-it-does-not-expand-braces-5 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout '{1..2}' {1..2} '{1..2}' '{1..2}'
STDOUT:
FAILURE expected_to match_regex `[{]1..2}@1@2@[{]1..2}@[{]1..2}@`
01: {1..2}@{1..2}@{1..2}@{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/001-it-works-1 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ['a']
STDOUT:
SUCCESS expected_to_not match_regex `[[]a]@`
FAILURE expected_to match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/002-it-works-2 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ['a'bc'def'gh]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `g@`
FAILURE expected_to match_regex `h@`
SUCCESS expected_to_not match_regex `bc`
SUCCESS expected_to_not match_regex `def`
SUCCESS expected_to_not match_regex `gh`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/subshell/mixed/inline-environment-variable/001-modifies-the-child-environment-only-1 (FAILED)
Description:
The purpose of this test is to check that declaring a variable and specifying a binary in a subshell does not result in local variable declaration or a modified parent shell's environment, but only a modified child's environment.
STDIN:
01: (TOKEN201703291601_NAME=TOKEN201703291601_VALUE ./display_env)
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/subshell/mixed/inline-environment-variable/002-modifies-the-child-environment-only-2 (FAILED)
Description:
The purpose of this test is to check that declaring a variable and specifying a binary in a subshell does not result in local variable declaration or a modified parent shell's environment, but only a modified child's environment.
STDIN:
01: ( (TOKEN201703291601_NAME=TOKEN201703291601_VALUE ./display_env) ; ./display_env) ; ./display_env
02:
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
77: ------------------------------
78: TERM_PROGRAM=iTerm.app
79: TERM=screen-256color
80: SHELL=/bin/zsh
81: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
82: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
83: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
84: TERM_PROGRAM_VERSION=3.0.10
85: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
86: ZSH=/Users/ariard/.oh-my-zsh
87: USER=ariard
88: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
89: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
90: PAGER=less
91: TMUX=/private/tmp/tmux-18965/default,460,2
92: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
93: LSCOLORS=Gxfxcxdxbxegedabagacad
94: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
95: MAIL=ariard@student.42.fr
96: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
97: LANG=en_US.UTF-8
98: ITERM_PROFILE=Default
99: XPC_FLAGS=0x0
100: TMUX_PANE=%19
101: XPC_SERVICE_NAME=0
102: SHLVL=5
103: HOME=/Users/ariard
104: COLORFGBG=7;0
105: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
106: LOGNAME=ariard
107: LESS=-R
108: LC_CTYPE=en_US.UTF-8
109: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
110: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
111: _=../../42sh
112: ?=0
113: ------------------------------
114: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
bonuses/inline-environment-variable/001-modifies-child-environment-1 (FAILED)
Description:
The purpose of this test is to check that a binary may have its environment to be modified by appending variables inline.
Before test:
01: unset "TOKEN201703291601_VARIABLE"
STDIN:
01: TOKEN201703291601_VARIABLE=TOKEN201703291601_VALUE ./display_env
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE=TOKEN201703291601_VALUE$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
bonuses/inline-environment-variable/002-modifies-child-environment-2 (FAILED)
Description:
The purpose of this test is to check that a binary may have its environment to be modified by appending variables inline.
Before test:
01: unset "TOKEN201703291601_VARIABLE"
STDIN:
01: TOKEN201703291601_VARIABLE1=TOKEN201703291601_VALUE1 TOKEN201703291601_VARIABLE2=TOKEN201703291601_VALUE2 TOKEN201703291601_VARIABLE3=TOKEN201703291601_VALUE3 ./display_env
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE1=TOKEN201703291601_VALUE1$` once
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE2=TOKEN201703291601_VALUE2$` once
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE3=TOKEN201703291601_VALUE3$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
bonuses/inline-environment-variable/003-modifies-PATH-only (FAILED)
Description:
The purpose of this test is to check that a binary may have its environment to be modified by appending variables inline.
Before test:
01: rm -rf "temporary_directory"
02: mkdir -p "temporary_directory"
03: cd "temporary_directory"
STDIN:
01: PATH=.. write_on_stdout TOKEN201703291601
02: exit_with_status 42
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601$`
(no output)
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Cc]ommand not found`
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
MISC:
SUCCESS expected_to_not exit_with_status `42`
SUCCESS expected_to_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/and/errors/001-parse-error-at-beginning (WARNING)
Description:
Parsing test.
The purpose of this test is to check that the AND operator `&&` must be placed after a valid command.
If not, the Shell should display an error and exit with an error status code.
STDIN:
01: && ./write_on_stdout TOKEN201703291601
STDOUT:
WARNING might_not match_regex `TOKEN201703291601`
WARNING might be_empty
01: TOKEN201703291601
STDERR:
WARNING might_not be_empty
WARNING might match_regex `([Ss]yntax|[Pp]arse) error`
(no output)
MISC:
WARNING might_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/and/errors/002-parse-error-too-much-symbol (FAILED)
Description:
Parsing test.
The purpose of this test is to check that more than two '&' operators are detected as a syntax error.
It should not execute the two commands `write_on_stdout` but display an error and exit with an error status code.
STDIN:
01: ./write_on_stdout TOKEN201703291601 &&& ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS might_not match_regex `TOKEN201703291601`
SUCCESS might be_empty
(no output)
STDERR:
SUCCESS might_not be_empty
SUCCESS might match_regex `([Ss]yntax|[Pp]arse) error`
01: syntax error near unexpected token `&'
MISC:
FAILURE expected_to_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/or/errors/001-parse-error-at-beginning (WARNING)
Description:
Parsing test.
The purpose of this test is to check that the OR operator `||` must be placed after a valid command.
If not, the Shell should display an error and exit with an error status code.
STDIN:
01: || ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS might be_empty
(no output)
STDERR:
WARNING might_not be_empty
WARNING might match_regex `([Ss]yntax|[Pp]arse) error`
(no output)
MISC:
WARNING might_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/or/errors/002-parse-error-too-much-symbol (WARNING)
Description:
Parsing test.
The purpose of this test is to check that using more than two pipe symbols `|` is detected as an error.
The Shell should display an error and exit with a error status code.
STDIN:
01: ./write_on_stdout TOKEN201703291601 ||| ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS might be_empty
(no output)
STDERR:
SUCCESS might_not be_empty
SUCCESS might match_regex `([Ss]yntax|[Pp]arse) error`
01: syntax error near unexpected token `|'
MISC:
WARNING might_not exit_with_status `0`
----------------------------------------------------------------
bonuses/tilde-expansion/003-expanded-with-PWD-1 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable PWD when followed by the symbol `+`.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~+
STDOUT:
SUCCESS expected_to_not match_regex `~[+]`
FAILURE expected_to_not match_regex `/TOKEN201703291601[+]`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp$`
01: /TOKEN201703291601+
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/004-expanded-with-PWD-2 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable PWD when followed by the symbol `+`.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~+/TOKEN201703291601_SUBDIRECTORY
STDOUT:
SUCCESS expected_to_not match_regex `~+/TOKEN201703291601_SUBDIRECTORY`
FAILURE expected_to_not match_regex `/TOKEN201703291601[+]/TOKEN201703291601_SUBDIRECTORY`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp/TOKEN201703291601_SUBDIRECTORY$`
01: /TOKEN201703291601+/TOKEN201703291601_SUBDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/005-expanded-with-OLDPWD-1 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable OLDPWD when followed by the symbol `+`.
Before test:
01: rm -rf "./TOKEN201703291601_SUBDIRECTORY"
02: mkdir "./TOKEN201703291601_SUBDIRECTORY"
03: export "HOME=/TOKEN201703291601"
STDIN:
01: cd ./TOKEN201703291601_SUBDIRECTORY
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_on_stdout ~-
STDOUT:
SUCCESS expected_to_not match_regex `~-`
FAILURE expected_to_not match_regex `/TOKEN201703291601-`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp$`
01: /TOKEN201703291601-
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/006-expanded-with-OLDPWD-2 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable OLDPWD when followed by the symbol `+`.
Before test:
01: rm -rf "./TOKEN201703291601_SUBDIRECTORY"
02: mkdir "./TOKEN201703291601_SUBDIRECTORY"
03: export "HOME=/TOKEN201703291601"
STDIN:
01: cd ./TOKEN201703291601_SUBDIRECTORY
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_on_stdout ~-/TOKEN201703291601_OTHERDIRECTORY
STDOUT:
SUCCESS expected_to_not match_regex `~-/TOKEN201703291601_OTHERDIRECTORY`
FAILURE expected_to_not match_regex `/TOKEN201703291601-/TOKEN201703291601_OTHERDIRECTORY`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp/TOKEN201703291601_OTHERDIRECTORY$`
01: /TOKEN201703291601-/TOKEN201703291601_OTHERDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/001-not-expanded-with-HOME-1 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be not expanded when not followed by an authorized symbol or user name.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~~
STDOUT:
FAILURE expected_to match_regex `^~~$`
FAILURE expected_to_not match_regex `/TOKEN201703291601`
01: /TOKEN201703291601~
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/002-not-expanded-with-HOME-2 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be not expanded when not followed by an authorized symbol or user name.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~TOKEN201703291601_UNKNOWNUSER
STDOUT:
FAILURE expected_to match_regex `^~TOKEN201703291601_UNKNOWNUSER$`
FAILURE expected_to_not match_regex `/TOKEN201703291601TOKEN201703291601_UNKNOWNUSER`
01: /TOKEN201703291601TOKEN201703291601_UNKNOWNUSER
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/003-not-expanded-with-PWD (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` is not expanded with the environment variable PWD when not followed by the symbol `/`.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~+TOKEN201703291601_SUBDIRECTORY
STDOUT:
FAILURE expected_to match_regex `^~[+]TOKEN201703291601_SUBDIRECTORY$`
FAILURE expected_to_not match_regex `/TOKEN201703291601[+]TOKEN201703291601_SUBDIRECTORY`
SUCCESS expected_to_not match_regex `/Users/ariard/Projects/42sh/42ShellTester/tmpTOKEN201703291601_SUBDIRECTORY`
01: /TOKEN201703291601+TOKEN201703291601_SUBDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/004-not-expanded-with-OLDPWD (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` is not expanded with the environment variable OLDPWD when not followed by the symbol `/`.
Before test:
01: rm -rf "./TOKEN201703291601_SUBDIRECTORY"
02: mkdir "./TOKEN201703291601_SUBDIRECTORY"
03: export "HOME=/TOKEN201703291601"
STDIN:
01: cd ./TOKEN201703291601_SUBDIRECTORY
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_on_stdout ~-TOKEN201703291601_OTHERDIRECTORY
STDOUT:
FAILURE expected_to match_regex `^~-TOKEN201703291601_OTHERDIRECTORY$`
SUCCESS expected_to_not match_regex `/TOKEN201703291601-/TOKEN201703291601_OTHERDIRECTORY`
SUCCESS expected_to_not match_regex `/Users/ariard/Projects/42sh/42ShellTester/tmp/TOKEN201703291601_OTHERDIRECTORY`
01: /TOKEN201703291601-TOKEN201703291601_OTHERDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
minishell/binary/004-binary-test-empty-path (FAILED)
Description:
The purpose of this test is to check that the Shell finds binaries that are located in the current directory when the environment variable PATH is empty.
Before test:
01: export PATH=""
STDIN:
01: write_on_stdout "TOKEN201703291601"
STDOUT:
FAILURE expected_to match_regex `TOKEN201703291601`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ../../42sh: command not found: write_on_stdout
MISC:
FAILURE expected_to exit_with_status `0`
----------------------------------------------------------------
minishell/binary/008-binary-too-many-symbolic-links-encountered (WARNING)
Description:
The purpose of this test is to check that trying to execute a path that encounters an infinite loop of symbolic link results in an error on standard error and a failure exit status.
Before test:
01: rm -rf ./symbolic_link1 ./symbolic_link2 ./symbolic_link3
02: ln -s ./symbolic_link1 ./symbolic_link2
03: ln -s ./symbolic_link2 ./symbolic_link3
04: ln -s ./symbolic_link3 ./symbolic_link1
STDIN:
01: ./symbolic_link1
STDOUT:
SUCCESS might be_empty
(no output)
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Tt]oo many.*symbolic links`
01: ../../42sh: ./symbolic_link1: no such file or directory
MISC:
SUCCESS expected_to_not exit_with_status 0
----------------------------------------------------------------
minishell/builtins/cd/007-symbolic-link (FAILED)
Description:
The purpose of this test is to check that using a symbolic link as first argument with the builtin `cd` results in moving the linked directory.
Before test:
01: rm -f "./symbolic_link"
02: mkdir -p "./sub_directory"
03: ln -s "./sub_directory" "./symbolic_link"
STDIN:
01: cd symbolic_link
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_pwd
03: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_env
STDOUT:
SUCCESS expected_to match_regex `PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD$`
FAILURE expected_to match_regex `^PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/symbolic_link$`
01: PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD
02: ------------------------------
03: TERM_PROGRAM=iTerm.app
04: TERM=screen-256color
05: SHELL=/bin/zsh
06: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
07: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
08: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
09: TERM_PROGRAM_VERSION=3.0.10
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
20: MAIL=ariard@student.42.fr
21: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory
22: LANG=en_US.UTF-8
23: ITERM_PROFILE=Default
24: XPC_FLAGS=0x0
25: TMUX_PANE=%19
26: XPC_SERVICE_NAME=0
27: SHLVL=5
28: HOME=/Users/ariard
29: COLORFGBG=7;0
30: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
31: LOGNAME=ariard
32: LESS=-R
33: LC_CTYPE=en_US.UTF-8
34: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
35: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
minishell/builtins/cd/008-symbolic-link-2 (FAILED)
Description:
The purpose of this test is to check that using a symbolic link as first argument with the builtin `cd` results in moving to the linked directory. In this test, the directory is linked with to chained symbolic links.
Before test:
01: rm -f "./symbolic_link1" "./symbolic_link2"
02: mkdir -p "./sub_directory"
03: ln -s "./sub_directory" "./symbolic_link1"
04: ln -s "./symbolic_link1" "./symbolic_link2"
STDIN:
01: cd symbolic_link2
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_pwd
03: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_env
STDOUT:
SUCCESS expected_to match_regex `PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD$`
FAILURE expected_to match_regex `^PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/symbolic_link2$`
01: PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD
02: ------------------------------
03: TERM_PROGRAM=iTerm.app
04: TERM=screen-256color
05: SHELL=/bin/zsh
06: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
07: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
08: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
09: TERM_PROGRAM_VERSION=3.0.10
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
20: MAIL=ariard@student.42.fr
21: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory
22: LANG=en_US.UTF-8
23: ITERM_PROFILE=Default
24: XPC_FLAGS=0x0
25: TMUX_PANE=%19
26: XPC_SERVICE_NAME=0
27: SHLVL=5
28: HOME=/Users/ariard
29: COLORFGBG=7;0
30: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
31: LOGNAME=ariard
32: LESS=-R
33: LC_CTYPE=en_US.UTF-8
34: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
35: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
minishell/builtins/cd/errors/005-too-many-symbolic-links-encountered (WARNING)
Description:
The purpose of this test is to check that using a symbolic link resulting in ELOOP error as first argument with the builtin `cd` results in error and not changing current directory.
Before test:
01: rm -f "./symbolic_link1" "./symbolic_link2" "./symbolic_link3"
02: ln -s "./symbolic_link1" "./symbolic_link2"
03: ln -s "./symbolic_link2" "./symbolic_link3"
04: ln -s "./symbolic_link3" "./symbolic_link1"
STDIN:
01: cd symbolic_link1
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_pwd
STDOUT:
SUCCESS expected_to match_regex `PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp:PWD`
01: PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp:PWD
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Tt]oo many.*symbolic links`
01: ../../42sh: cd : symbolic_link1: No such file or directory
----------------------------------------------------------------
minishell/builtins/env/errors/001-command-not-found (WARNING)
Description:
The purpose of this test is to check that using the builtin `env` with an invalid binary as argument results in an error and failure exit status.
Before test:
01: rm -f "./invalid_binary"
STDIN:
01: env ./invalid_binary
STDOUT:
(no output)
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Cc]ommand not found`
01: ../../42sh: env: ./invalid_binary: No such file or directory
MISC:
SUCCESS expected_to_not exit_with_status `0`
----------------------------------------------------------------
minishell/builtins/exit/errors/001-too-many-args (WARNING)
Description:
The purpose of this test is to check that using a wrong number of arguments with the builtin `exit` does not result in the Shell termination but an error on standard error.
STDIN:
01: exit 21 42
02: ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS expected_to match_regex `TOKEN201703291601`
01: TOKEN201703291601
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `([Tt]oo many arguments|[Aa]rgument list too long)`
01: ../../42sh: exit: too many argument required
MISC:
SUCCESS expected_to exit_with_status `0`
Total tests: 281
Total failed tests: 95
Total pending tests: 3
----------------------------------------------------------------
21sh/redirections/outputs/truncating/multiple/004-together (FAILED)
Description:
A right redirection can be associated to the twice outputs by using `&>...`, that means `redirect stdout and stderr to ...`.
Before test:
01: rm -f "new_file_stderr_and_stdout"
STDIN:
01: ./write_on_stdout_and_stderr TOKEN201703291601_1 TOKEN201703291601_2 &>new_file_stderr_and_stdout
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601_1`
SUCCESS expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_1
STDERR:
SUCCESS expected_to_not match_regex `TOKEN201703291601_1`
FAILURE expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_2
MISC:
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_1$`
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_2$`
----------------------------------------------------------------
21sh/redirections/outputs/truncating/multiple/005-together-with-whitespaces (FAILED)
Description:
A right redirection can be associated to the twice outputs by using `&>...`, that means `redirect stdout and stderr to ...`.
In this test, we specify the file name in a separate field.
Before test:
01: rm -f new_file_stderr_and_stdout
STDIN:
01: ./write_on_stdout_and_stderr TOKEN201703291601_1 TOKEN201703291601_2 &> new_file_stderr_and_stdout
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601_1`
SUCCESS expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_1
STDERR:
SUCCESS expected_to_not match_regex `TOKEN201703291601_1`
FAILURE expected_to_not match_regex `TOKEN201703291601_2`
01: TOKEN201703291601_2
MISC:
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_1$`
FAILURE expected_to create_file `new_file_stderr_and_stdout` matching_regex `TOKEN201703291601_2$`
----------------------------------------------------------------
21sh/separators/semicolon/003-parse-error-empty-inline-command (FAILED)
Description:
The purpose of this test is to check that using the simicolon separator `;` with empty commands results in error.
STDIN:
01: ./write_on_stdout TOKEN201703291601 ; ; ./exit_with_status 42
STDOUT:
SUCCESS expected_to be_empty
(no output)
STDERR:
SUCCESS expected_to_not be_empty
SUCCESS might match_regex `([Ss]yntax|[Pp]arse) error`
01: syntax error near unexpected token `;'
MISC:
SUCCESS expected_to_not exit_with_status `42`
FAILURE expected_to_not exit_with_status `0`
----------------------------------------------------------------
42sh/builtins/export/004-export-empty-variable-1 (FAILED)
Description:
The purpose of this test is to check that exporting an empty variable does not add it to the environment.
Before test:
01: unset "TOKEN201703291601"
STDIN:
01: export TOKEN201703291601
02: ./display_env
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: TOKEN201703291601=
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/builtins/export/options/002-export-p-param-and-token-should-add-local-var-only-part1 (FAILED)
Description:
The purpose of this test is to check if export with -p option + token , add the variable into export list but not in env list. And don't display the export variable on stdout.
Before test:
01: rm -f "./stored_env"
02: unset "TOKEN201703291601_NAME"
03: export | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env"
STDIN:
01: export -p TOKEN201703291601_NAME
02: export
STDOUT:
FAILURE expected_to_not match_each_regex_of_file `./stored_env`
FAILURE expected_to match_regex `TOKEN201703291601_NAME`
01: export TERM_PROGRAM=iTerm.app
02: export TERM=screen-256color
03: export SHELL=/bin/zsh
04: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
05: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
06: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
07: export TERM_PROGRAM_VERSION=3.0.10
08: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
09: export ZSH=/Users/ariard/.oh-my-zsh
10: export USER=ariard
11: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
12: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
13: export PAGER=less
14: export TMUX=/private/tmp/tmux-18965/default,460,2
15: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
16: export LSCOLORS=Gxfxcxdxbxegedabagacad
17: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
18: export MAIL=ariard@student.42.fr
19: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
20: export LANG=en_US.UTF-8
21: export ITERM_PROFILE=Default
22: export XPC_FLAGS=0x0
23: export TMUX_PANE=%19
24: export XPC_SERVICE_NAME=0
25: export SHLVL=5
26: export HOME=/Users/ariard
27: export COLORFGBG=7;0
28: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
29: export LOGNAME=ariard
30: export LESS=-R
31: export LC_CTYPE=en_US.UTF-8
32: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
33: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
34: export _=../../42sh
35: export ?=0
36: export TERM_PROGRAM=iTerm.app
37: export TERM=screen-256color
38: export SHELL=/bin/zsh
39: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
40: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
41: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
42: export TERM_PROGRAM_VERSION=3.0.10
43: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
44: export ZSH=/Users/ariard/.oh-my-zsh
45: export USER=ariard
46: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
47: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
48: export PAGER=less
49: export TMUX=/private/tmp/tmux-18965/default,460,2
50: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
51: export LSCOLORS=Gxfxcxdxbxegedabagacad
52: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
53: export MAIL=ariard@student.42.fr
54: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
55: export LANG=en_US.UTF-8
56: export ITERM_PROFILE=Default
57: export XPC_FLAGS=0x0
58: export TMUX_PANE=%19
59: export XPC_SERVICE_NAME=0
60: export SHLVL=5
61: export HOME=/Users/ariard
62: export COLORFGBG=7;0
63: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
64: export LOGNAME=ariard
65: export LESS=-R
66: export LC_CTYPE=en_US.UTF-8
67: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
68: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
69: export _=../../42sh
70: export ?=0
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/builtins/export/options/003-export-p-param-and-token-should-add-local-var-only-part2 (FAILED)
Description:
The purpose of this test is to check that the builtin `export` with option `-p` results in an added variable into the export list but not from the environment.
Before test:
01: rm -f "./stored_env"
02: unset "TOKEN201703291601_NAME"
03: export | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env"
STDIN:
01: export -p TOKEN201703291601_NAME
02: ./display_env
STDOUT:
FAILURE expected_to_not match_each_regex_of_file `./stored_env`
SUCCESS expected_to_not match_regex `TOKEN201703291601_NAME`
01: export TERM_PROGRAM=iTerm.app
02: export TERM=screen-256color
03: export SHELL=/bin/zsh
04: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
05: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
06: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
07: export TERM_PROGRAM_VERSION=3.0.10
08: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
09: export ZSH=/Users/ariard/.oh-my-zsh
10: export USER=ariard
11: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
12: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
13: export PAGER=less
14: export TMUX=/private/tmp/tmux-18965/default,460,2
15: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
16: export LSCOLORS=Gxfxcxdxbxegedabagacad
17: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
18: export MAIL=ariard@student.42.fr
19: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
20: export LANG=en_US.UTF-8
21: export ITERM_PROFILE=Default
22: export XPC_FLAGS=0x0
23: export TMUX_PANE=%19
24: export XPC_SERVICE_NAME=0
25: export SHLVL=5
26: export HOME=/Users/ariard
27: export COLORFGBG=7;0
28: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
29: export LOGNAME=ariard
30: export LESS=-R
31: export LC_CTYPE=en_US.UTF-8
32: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
33: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
34: export _=../../42sh
35: export ?=0
36: ------------------------------
37: TERM_PROGRAM=iTerm.app
38: TERM=screen-256color
39: SHELL=/bin/zsh
40: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
41: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
42: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
43: TERM_PROGRAM_VERSION=3.0.10
44: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
45: ZSH=/Users/ariard/.oh-my-zsh
46: USER=ariard
47: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
48: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
49: PAGER=less
50: TMUX=/private/tmp/tmux-18965/default,460,2
51: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
52: LSCOLORS=Gxfxcxdxbxegedabagacad
53: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
54: MAIL=ariard@student.42.fr
55: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
56: LANG=en_US.UTF-8
57: ITERM_PROFILE=Default
58: XPC_FLAGS=0x0
59: TMUX_PANE=%19
60: XPC_SERVICE_NAME=0
61: SHLVL=5
62: HOME=/Users/ariard
63: COLORFGBG=7;0
64: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
65: LOGNAME=ariard
66: LESS=-R
67: LC_CTYPE=en_US.UTF-8
68: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
69: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
70: _=../../42sh
71: ?=0
72: ------------------------------
73: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/builtins/export/options/004-export-n-param (FAILED)
Description:
The purpose of this test is to check that using the builtin `export` with option `-n` results in a removed environment variable.
Before test:
01: export TOKEN201703291601_NAME=TOKEN201703291601_VALUE
STDIN:
01: export -n TOKEN201703291601_NAME
02: export
03: ./display_env
STDOUT:
FAILURE expected_to_not match_regex `TOKEN201703291601_NAME`
01: export TERM_PROGRAM=iTerm.app
02: export TERM=screen-256color
03: export SHELL=/bin/zsh
04: export HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
05: export TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
06: export Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
07: export TERM_PROGRAM_VERSION=3.0.10
08: export OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
09: export TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: export ZSH=/Users/ariard/.oh-my-zsh
11: export USER=ariard
12: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: export PAGER=less
15: export TMUX=/private/tmp/tmux-18965/default,460,2
16: export HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: export LSCOLORS=Gxfxcxdxbxegedabagacad
18: export TOKEN201703291601_NAME=TOKEN201703291601_VALUE
19: export PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
20: export MAIL=ariard@student.42.fr
21: export PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
22: export LANG=en_US.UTF-8
23: export ITERM_PROFILE=Default
24: export XPC_FLAGS=0x0
25: export TMUX_PANE=%19
26: export XPC_SERVICE_NAME=0
27: export SHLVL=5
28: export HOME=/Users/ariard
29: export COLORFGBG=7;0
30: export ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
31: export LOGNAME=ariard
32: export LESS=-R
33: export LC_CTYPE=en_US.UTF-8
34: export TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
35: export _=../../42sh
36: export ?=1
37: ------------------------------
38: TERM_PROGRAM=iTerm.app
39: TERM=screen-256color
40: SHELL=/bin/zsh
41: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
42: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
43: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
44: TERM_PROGRAM_VERSION=3.0.10
45: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
46: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
47: ZSH=/Users/ariard/.oh-my-zsh
48: USER=ariard
49: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
50: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
51: PAGER=less
52: TMUX=/private/tmp/tmux-18965/default,460,2
53: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
54: LSCOLORS=Gxfxcxdxbxegedabagacad
55: TOKEN201703291601_NAME=TOKEN201703291601_VALUE
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: _=../../42sh
73: ?=0
74: ------------------------------
75: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
FAILURE expected_to be_empty
01: export: invalid option -n
02: ../../42sh: usage: export [name[=value] ...] or export -p
----------------------------------------------------------------
42sh/escaping/mixed/globbing/brace-expansion/002-it-expands-braces-1 (FAILED)
Description:
The purpose of this test is to check that using multiple escape characters `\\` results in a good behavior with the brace expansion.
STDIN:
01: ./write_all_arguments_on_stdout \\{1..2}
STDOUT:
FAILURE expected_to match_regex `^\1@\2@$`
01: \{1..2}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/escaping/mixed/globbing/brace-expansion/003-it-expands-braces-2 (FAILED)
Description:
The purpose of this test is to check that using multiple escape characters `\\` results in a good behavior with the brace expansion.
STDIN:
01: ./write_all_arguments_on_stdout \\\{1..2} \\\\{1..2} \\\\\{1..2} \\\\\\{1..2}
STDOUT:
FAILURE expected_to match_regex `^\[{]1..2}@\\1@\\2@\\[{]1..2}@\\\1@\\\2@$`
01: \{1..2}@\\{1..2}@\\{1..2}@\\\{1..2}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/escaping/mixed/globbing/bracket-expansion/001-it-does-not-expand-brackets (FAILED)
Description:
The purpose of this test is to check that escaping brackets does not result in an expansion process.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout \[abc] [abc\] \[abc\]
STDOUT:
FAILURE expected_to match_regex `^[[]abc]@[[]abc]@[[]abc]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/escaping/mixed/globbing/bracket-expansion/002-escaped-inversion-mark (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with an inversion mark `!` or `^` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' '!' '^'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [\!abc]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [\^abc]
STDOUT:
FAILURE expected_to match_regex `!@`
FAILURE expected_to match_regex `[\^]@`
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
SUCCESS expected_to_not match_regex `d@`
SUCCESS expected_to_not match_regex `e@`
SUCCESS expected_to_not match_regex `f@`
WARNING might match_regex `^!@a@b@c@$`
WARNING might match_regex `^[\^]@a@b@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/escaping/mixed/globbing/bracket-expansion/003-it-takes-escaped-bracket-as-pattern-character (FAILED)
Description:
The purpose of this test is to check that a closing bracket ']' may be escaped in a backet expansion pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' ']'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\]def]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\\\]def]
03: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\\\\\]def]
04: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [abc\\\\\\\]def]
STDOUT:
FAILURE expected_to match_regex `a@` 4 times
FAILURE expected_to match_regex `b@` 4 times
FAILURE expected_to match_regex `c@` 4 times
FAILURE expected_to match_regex `]@` 4 times
FAILURE expected_to match_regex `d@` 4 times
FAILURE expected_to match_regex `e@` 4 times
FAILURE expected_to match_regex `f@` 4 times
SUCCESS expected_to_not match_regex `def`
WARNING might match_regex `^]@a@b@c@d@e@f@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/001-simple-ascending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {a..e}
STDOUT:
FAILURE expected_to match_regex `^a@b@c@d@e@$`
01: {a..e}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/002-simple-ascending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{a..e}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601aTOKEN201703291601@TOKEN201703291601bTOKEN201703291601@TOKEN201703291601cTOKEN201703291601@TOKEN201703291601dTOKEN201703291601@TOKEN201703291601eTOKEN201703291601@$`
01: TOKEN201703291601{a..e}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/003-simple-ascending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {A..E}
STDOUT:
FAILURE expected_to match_regex `^A@B@C@D@E@$`
01: {A..E}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/004-simple-descending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {E..A}
STDOUT:
FAILURE expected_to match_regex `^E@D@C@B@A@$`
01: {E..A}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/005-simple-descending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{E..A}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601ETOKEN201703291601@TOKEN201703291601DTOKEN201703291601@TOKEN201703291601CTOKEN201703291601@TOKEN201703291601BTOKEN201703291601@TOKEN201703291601ATOKEN201703291601@$`
01: TOKEN201703291601{E..A}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/006-simple-descending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with an ASCII range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{e..a}
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601e@TOKEN201703291601d@TOKEN201703291601c@TOKEN201703291601b@TOKEN201703291601a@$`
01: TOKEN201703291601{e..a}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/007-identical-start-and-end (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a range of single ASCII value.
STDIN:
01: ./write_all_arguments_on_stdout {f..f}
STDOUT:
FAILURE expected_to match_regex `^f@$`
01: {f..f}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/008-multiple-1 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout {a..b}{c..d}{e..f}
STDOUT:
FAILURE expected_to match_regex `^ace@acf@ade@adf@bce@bcf@bde@bdf@$`
01: {a..b}{c..d}{e..f}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/009-multiple-2 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{a..b}abc{Z..X}def{s..s}
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601aabcZdefs@TOKEN201703291601aabcYdefs@TOKEN201703291601aabcXdefs@TOKEN201703291601babcZdefs@TOKEN201703291601babcYdefs@TOKEN201703291601babcXdefs@$`
01: TOKEN201703291601{a..b}abc{Z..X}def{s..s}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/ascii-range/010-big-range (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with a big numeric range.
STDIN:
01: ./write_all_arguments_on_stdout {A..z}
STDOUT:
FAILURE expected_to match_regex `^A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@.+@.?@.+@.+@_@.+@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@$`
01: {A..z}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/001-simple-ascending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {1..5}
STDOUT:
FAILURE expected_to match_regex `^1@2@3@4@5@$`
01: {1..5}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/002-simple-ascending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{1..5}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916011TOKEN201703291601@TOKEN2017032916012TOKEN201703291601@TOKEN2017032916013TOKEN201703291601@TOKEN2017032916014TOKEN201703291601@TOKEN2017032916015TOKEN201703291601@$`
01: TOKEN201703291601{1..5}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/003-simple-ascending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{1..+5}
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916011@TOKEN2017032916012@TOKEN2017032916013@TOKEN2017032916014@TOKEN2017032916015@$`
01: TOKEN201703291601{1..+5}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/004-simple-ascending-4 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {-5..0}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^-5TOKEN201703291601@-4TOKEN201703291601@-3TOKEN201703291601@-2TOKEN201703291601@-1TOKEN201703291601@0TOKEN201703291601@$`
01: {-5..0}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/005-simple-ascending-5 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in ascending order.
STDIN:
01: ./write_all_arguments_on_stdout {-100..-98}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^-100TOKEN201703291601@-99TOKEN201703291601@-98TOKEN201703291601@$`
01: {-100..-98}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/006-simple-descending-1 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {5..1}
STDOUT:
FAILURE expected_to match_regex `^5@4@3@2@1@$`
01: {5..1}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/007-simple-descending-2 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{5..1}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916015TOKEN201703291601@TOKEN2017032916014TOKEN201703291601@TOKEN2017032916013TOKEN201703291601@TOKEN2017032916012TOKEN201703291601@TOKEN2017032916011TOKEN201703291601@$`
01: TOKEN201703291601{5..1}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/008-simple-descending-3 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{5..+1}
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916015@TOKEN2017032916014@TOKEN2017032916013@TOKEN2017032916012@TOKEN2017032916011@$`
01: TOKEN201703291601{5..+1}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/009-simple-descending-4 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {0..-5}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^0TOKEN201703291601@-1TOKEN201703291601@-2TOKEN201703291601@-3TOKEN201703291601@-4TOKEN201703291601@-5TOKEN201703291601@$`
01: {0..-5}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/010-simple-descending-5 (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a numeric range in descending order.
STDIN:
01: ./write_all_arguments_on_stdout {-98..-100}TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^-98TOKEN201703291601@-99TOKEN201703291601@-100TOKEN201703291601@$`
01: {-98..-100}TOKEN201703291601@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/011-identical-positive-start-and-end (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a range of single value.
STDIN:
01: ./write_all_arguments_on_stdout {42..42}
STDOUT:
FAILURE expected_to match_regex `^42@$`
01: {42..42}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/012-identical-negative-start-and-end (FAILED)
Description:
The purpose of this test is to check that the brace expansion does work with a range of single value.
STDIN:
01: ./write_all_arguments_on_stdout {-42..-42}
STDOUT:
FAILURE expected_to match_regex `^-42@$`
01: {-42..-42}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/013-multiple-1 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout {1..2}{3..4}{5..6}
STDOUT:
FAILURE expected_to match_regex `^135@136@145@146@235@236@245@246@$`
01: {1..2}{3..4}{5..6}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/014-multiple-2 (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with multiple brace patterns.
STDIN:
01: ./write_all_arguments_on_stdout TOKEN201703291601{1..2}abc{-50..-53}def{0..0}
STDOUT:
FAILURE expected_to match_regex `^TOKEN2017032916011abc-50def0@TOKEN2017032916011abc-51def0@TOKEN2017032916011abc-52def0@TOKEN2017032916011abc-53def0@TOKEN2017032916012abc-50def0@TOKEN2017032916012abc-51def0@TOKEN2017032916012abc-52def0@TOKEN2017032916012abc-53def0@$`
01: TOKEN201703291601{1..2}abc{-50..-53}def{0..0}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/brace-expansion/numeric-range/015-big-range (FAILED)
Description:
The purpose of this test is to check that brace expansion may be performed with a big numeric range.
STDIN:
01: ./write_all_arguments_on_stdout {-100..100}
STDOUT:
FAILURE expected_to match_regex `^-100@-99@-98@-97@-96@-95@-94@-93@-92@-91@-90@-89@-88@-87@-86@-85@-84@-83@-82@-81@-80@-79@-78@-77@-76@-75@-74@-73@-72@-71@-70@-69@-68@-67@-66@-65@-64@-63@-62@-61@-60@-59@-58@-57@-56@-55@-54@-53@-52@-51@-50@-49@-48@-47@-46@-45@-44@-43@-42@-41@-40@-39@-38@-37@-36@-35@-34@-33@-32@-31@-30@-29@-28@-27@-26@-25@-24@-23@-22@-21@-20@-19@-18@-17@-16@-15@-14@-13@-12@-11@-10@-9@-8@-7@-6@-5@-4@-3@-2@-1@0@1@2@3@4@5@6@7@8@9@10@11@12@13@14@15@16@17@18@19@20@21@22@23@24@25@26@27@28@29@30@31@32@33@34@35@36@37@38@39@40@41@42@43@44@45@46@47@48@49@50@51@52@53@54@55@56@57@58@59@60@61@62@63@64@65@66@67@68@69@70@71@72@73@74@75@76@77@78@79@80@81@82@83@84@85@86@87@88@89@90@91@92@93@94@95@96@97@98@99@100@$`
01: {-100..100}@
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/001-range-and-char (FAILED)
Description:
The purpose of this test is to check that brackets expansion works with a range and 2 characters as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '1' '2' '3' 'a' 'b' 'z' 'C' '-' '[a-z-2]' 'a-z-2'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [a-z-2]
STDOUT:
FAILURE expected_to match_regex `-@`
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `z@`
SUCCESS expected_to_not match_regex `1@`
SUCCESS expected_to_not match_regex `3@`
SUCCESS expected_to_not match_regex `C@`
SUCCESS expected_to_not match_regex `[[]a-z-2]@`
SUCCESS expected_to_not match_regex `a-z-2@`
WARNING might match_regex `^-@2@a@b@z@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/002-reverse-range-and-chars (FAILED)
Description:
The purpose of this test is to check that brackets expansion works with 2 patterns.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a4' 'a3' 'a2' 'a42' 'a[42]' 'z4' 'z3' 'z2' 'z42' 'z[42]' '42'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!a-y][42]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^a-y][42]
STDOUT:
FAILURE expected_to match_regex `42@`
FAILURE expected_to match_regex `z4@`
FAILURE expected_to match_regex `z2@`
SUCCESS expected_to_not match_regex `z3@`
SUCCESS expected_to_not match_regex `z42@`
SUCCESS expected_to_not match_regex `z[[]42]@`
SUCCESS expected_to_not match_regex `a3@`
SUCCESS expected_to_not match_regex `a42@`
SUCCESS expected_to_not match_regex `a[[]42]@`
WARNING might match_regex `^42@z2@z4@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/003-reverse-multi-hard (FAILED)
Description:
The purpose of this test is to check how the value inside multiple brackets are parsed with bracket as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '][' 'a[' '1['
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!]az][[]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^]az][[]
STDOUT:
FAILURE expected_to match_regex `1[[]@`
SUCCESS expected_to_not match_regex `][[]@`
SUCCESS expected_to_not match_regex `a[[]@`
WARNING might match_regex `^1[[]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/multi/004-simple-bracket+char+range (FAILED)
Description:
The purpose of this test is to control if 2 patterns splited by a minus characters can be match.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a-0' 'a-1' 'a-2' 'b-0' 'b-1' 'b-2' 'Z-0' 'Z-1' 'Z-2' 'a1' 'Z9' 'D4'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [aZ]-[1-9]
STDOUT:
FAILURE expected_to match_regex `a-1@`
FAILURE expected_to match_regex `a-2@`
FAILURE expected_to match_regex `Z-1@`
FAILURE expected_to match_regex `Z-2@`
SUCCESS expected_to_not match_regex `a-0@`
SUCCESS expected_to_not match_regex `b-0@`
SUCCESS expected_to_not match_regex `b-1@`
SUCCESS expected_to_not match_regex `b-2@`
SUCCESS expected_to_not match_regex `a1@`
SUCCESS expected_to_not match_regex `Z9@`
SUCCESS expected_to_not match_regex `D4@`
WARNING might match_regex `^Z-1@Z-2@a-1@a-2@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/not/001-simple-opposit-match (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the inversion mark `!` or `^`. The expected behavior is the reversion of the following pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' '1' 'Z' 'd' 'e' 'f' 'def'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!a1Z]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^a1Z]
STDOUT:
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
SUCCESS expected_to_not match_regex `def@`
WARNING might match_regex `^d@e@f@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/not/002-simple-opposite-range (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the inversion mark `!` or `^`. The expected behavior is the reversion of the following pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'z' '1' '2' '3' '42'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [!a-z]
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [^a-z]
STDOUT:
FAILURE expected_to match_regex `1@`
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `3@`
SUCCESS expected_to_not match_regex `42@`
WARNING might match_regex `^1@2@3@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/001-alpha-range (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the following pattern `[a-z]`.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'f' 'z' 'A' '1' '[a-z]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [a-z]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `z@`
SUCCESS expected_to_not match_regex `A@`
SUCCESS expected_to_not match_regex `1@`
SUCCESS expected_to_not match_regex `[[]a-z]@`
WARNING might match_regex `^a@f@z@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/002-numeric-range (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the following pattern `[0-9]`.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '4' '2' '1' '9' 'a' 'C' '[0-9]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [0-9]
STDOUT:
FAILURE expected_to match_regex `1@`
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `4@`
FAILURE expected_to match_regex `9@`
SUCCESS expected_to_not match_regex `a@`
SUCCESS expected_to_not match_regex `C@`
SUCCESS expected_to_not match_regex `[[]0-9]@`
WARNING might match_regex `^1@2@4@9@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/003-ascii-range-1 (FAILED)
Description:
The purpose of this test is to check if the bracket expansion works with the following pattern []-z].
One test use the following range which is the default range for bash:
< > , ; : ! ' " ( ) [ ] { } @ $ \ # % 1 2 3 4 5 6 7 8 9 a A b B c C d D e E f F g G h H i I j J k K l L m M n N o O p P q Q r R s S t T u U v V w W x X y Y z
The other use the ascii value, which does make more sense.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '2' 'a' 'B' 'c' 'Z' '[' ']' '[]-z]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout []-z]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `]@`
SUCCESS expected_to_not match_regex `2@`
SUCCESS expected_to_not match_regex `B@`
SUCCESS expected_to_not match_regex `Z@`
SUCCESS expected_to_not match_regex `[[]@`
SUCCESS expected_to_not match_regex `[[]]-z]@`
WARNING might match_regex `^]@a@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/range-pattern/004-ascii-range-2 (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with the following pattern `[1-z]`.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '2' 'a' 'B' 'c' 'Z' ']' '[' '[1-z]' '1-z' '-'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [1-z]
STDOUT:
FAILURE expected_to match_regex `2@`
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `B@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `Z@`
FAILURE expected_to match_regex `]@`
FAILURE expected_to match_regex `[[]@`
SUCCESS expected_to_not match_regex `-@`
SUCCESS expected_to_not match_regex `1-z@`
SUCCESS expected_to_not match_regex `[[]1-z]@`
WARNING might match_regex `^2@B@Z@[[]@]@a@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/001-simple-list (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with a simple list of characters as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' '[bca]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [bca]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
SUCCESS expected_to_not match_regex `d@`
SUCCESS expected_to_not match_regex `e@`
SUCCESS expected_to_not match_regex `f@`
SUCCESS expected_to_not match_regex `[[]bca]@`
WARNING might match_regex `^a@b@c@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/002-multi-bracket (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with multiple brackets patterns.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch "TOKEN201703291601abcd" "TOKEN201703291601abc" "TOKEN201703291601abdc" "TOKEN201703291601b" "TOKEN201703291601" "TOKEN201703291601\[a]b\[c]\[d]"
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout TOKEN201703291601[a]b[c][d]
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601abcd@$`
SUCCESS expected_to_not match_regex `TOKEN201703291601abc@`
SUCCESS expected_to_not match_regex `TOKEN201703291601abdc@`
SUCCESS expected_to_not match_regex `TOKEN201703291601b@`
SUCCESS expected_to_not match_regex `TOKEN201703291601@`
SUCCESS expected_to_not match_regex `TOKEN201703291601[[]a]b[[]c][[]d]@`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/003-brackets-as-pattern (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with an opening bracket `[` and a closing bracket `]` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '[' ']' 'a' 'Z' '[][]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [][]
STDOUT:
FAILURE expected_to match_regex `[[]@`
FAILURE expected_to match_regex `]@`
SUCCESS expected_to_not match_regex `a@`
SUCCESS expected_to_not match_regex `Z@`
SUCCESS expected_to_not match_regex `[[]][[]]@`
WARNING might match_regex `^[[]@]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/simple-pattern/004-multi-bracket-multi-char (FAILED)
Description:
The purpose of this test is to match a file name which contain a bracket as first character.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 21 23 24 25 26 27 28 29 ']' '[' '[12][34]' '1234'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [12][34]
STDOUT:
FAILURE expected_to match_regex `13@`
FAILURE expected_to match_regex `14@`
FAILURE expected_to match_regex `23@`
FAILURE expected_to match_regex `24@`
SUCCESS expected_to_not match_regex `0[0-9]@`
SUCCESS expected_to_not match_regex `1[0-2]@`
SUCCESS expected_to_not match_regex `1[5-9]@`
SUCCESS expected_to_not match_regex `2[0-2]@`
SUCCESS expected_to_not match_regex `2[5-9]@`
SUCCESS expected_to_not match_regex `[[]@`
SUCCESS expected_to_not match_regex `]@`
SUCCESS expected_to_not match_regex `[[]12][[]34]@`
SUCCESS expected_to_not match_regex `1234@`
WARNING might match_regex `^13@14@23@24@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/single-char-pattern/001-single-char (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with a single character as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' '[a]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [a]
STDOUT:
FAILURE expected_to match_regex `a@`
SUCCESS expected_to_not match_regex `b@`
SUCCESS expected_to_not match_regex `[[]a]@`
WARNING might match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/single-char-pattern/002-closing-bracket-char (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with a closing bracket `]` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch ']' '[]]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout []]
STDOUT:
FAILURE expected_to match_regex `]@`
SUCCESS expected_to_not match_regex `[[]]]@`
WARNING might match_regex `^]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/globbing/bracket-expansion/single-char-pattern/003-opening-bracket-char (FAILED)
Description:
The purpose of this test is to check that the brackets expansion works with an opening bracket `[` as pattern.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch '[' '[[]'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [[]
STDOUT:
FAILURE expected_to match_regex `[[]@`
SUCCESS expected_to_not match_regex `[[][[]]@`
WARNING might match_regex `^[[]@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/local-variable/002-declare-and-expand-2 (FAILED)
Description:
The purpose of this test is to check that an empty variable is not expanded as an empty string and results in any new argument in the command line.
STDIN:
01: TOKEN201703291601_NAME=
02: ./write_on_stdout_and_stderr $TOKEN201703291601_NAME $TOKEN201703291601_NAME
STDOUT:
FAILURE expected_to match_regex `write on stdout`
01:
STDERR:
FAILURE expected_to match_regex `write on stderr`
01:
----------------------------------------------------------------
42sh/local-variable/003-unknown-variable-does-not-result-in-new-argument (FAILED)
Description:
The purpose of this test is to check that an unknown variable is not expanded as an empty string and results in any new argument in the command line.
Before test:
01: unset "TOKEN201703291601_UNKNOWN"
STDIN:
01: ./write_on_stdout $TOKEN201703291601_UNKNOWN TOKEN201703291601_DISPLAYED
STDOUT:
FAILURE expected_to match_regex `TOKEN201703291601_DISPLAYED`
01: write on stdout
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/local-variable/004-existing-variable-in-environment-1 (FAILED)
Description:
The purpose of this test is initialize a local variable named as an environment variable and check if it's update the existing environment variable.
Before test:
01: export "TOKEN201703291601_NAME=TOKEN201703291601_VALUE_OLD"
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_VALUE_NEW
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE_NEW$`
FAILURE expected_to_not match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE_OLD$`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: TOKEN201703291601_NAME=TOKEN201703291601_VALUE_OLD
20: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
21: MAIL=ariard@student.42.fr
22: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
23: LANG=en_US.UTF-8
24: ITERM_PROFILE=Default
25: XPC_FLAGS=0x0
26: TMUX_PANE=%19
27: XPC_SERVICE_NAME=0
28: SHLVL=5
29: HOME=/Users/ariard
30: COLORFGBG=7;0
31: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
32: LOGNAME=ariard
33: LESS=-R
34: LC_CTYPE=en_US.UTF-8
35: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/local-variable/005-existing-variable-in-environment-2 (FAILED)
Description:
The purpose of this test is initialize a local variable named as an environment variable and check if it's update the existing environment variable.
Before test:
01: export "TOKEN201703291601_NAME=TOKEN201703291601_VALUE"
STDIN:
01: TOKEN201703291601_NAME=
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=$`
FAILURE expected_to_not match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: TOKEN201703291601_NAME=TOKEN201703291601_VALUE
20: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
21: MAIL=ariard@student.42.fr
22: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
23: LANG=en_US.UTF-8
24: ITERM_PROFILE=Default
25: XPC_FLAGS=0x0
26: TMUX_PANE=%19
27: XPC_SERVICE_NAME=0
28: SHLVL=5
29: HOME=/Users/ariard
30: COLORFGBG=7;0
31: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
32: LOGNAME=ariard
33: LESS=-R
34: LC_CTYPE=en_US.UTF-8
35: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 36
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/local-variable/mixed/inline-environment-variable/001-local-variable-shouldnt-be-set (FAILED)
Description:
The purpose of this test is to check that declaring a variable and specifying a binary does not result in local variable declaration but a modified environment for the command.
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_VALUE ./display_env
02: ./write_on_stderr $TOKEN201703291601
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$`
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to_not match_regex `TOKEN201703291601_VALUE`
FAILURE expected_to match_regex `write on stderr`
01:
----------------------------------------------------------------
42sh/local-variable/mixed/redirections/001-truncating (FAILED)
Description:
The purpose of this test is to check that a redirection can be set with a local variable as file name.
Before test:
01: rm -f "TOKEN201703291601_FILENAME"
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_FILENAME
02: ./write_on_stdout TOKEN201703291601_VALUE > $TOKEN201703291601_NAME
STDOUT:
SUCCESS expected_to be_empty
(no output)
STDERR:
SUCCESS expected_to be_empty
(no output)
MISC:
FAILURE expected_to create_file `TOKEN201703291601_FILENAME` matching_regex `^TOKEN201703291601_VALUE$`
SUCCESS expected_to exit_with_status `0`
----------------------------------------------------------------
42sh/local-variable/mixed/redirections/002-appending (FAILED)
Description:
The purpose of this test is to check that a redirection can be set with a local variable as file name.
Before test:
01: rm -f "TOKEN201703291601_FILENAME"
STDIN:
01: TOKEN201703291601_NAME=TOKEN201703291601_FILENAME
02: ./write_on_stdout TOKEN201703291601_VALUE1 >> $TOKEN201703291601_NAME
03: ./write_on_stdout TOKEN201703291601_VALUE2 >> $TOKEN201703291601_NAME
STDOUT:
SUCCESS expected_to be_empty
(no output)
STDERR:
SUCCESS expected_to be_empty
(no output)
MISC:
FAILURE expected_to create_file `TOKEN201703291601_FILENAME` matching_regex `^TOKEN201703291601_VALUE1$`
FAILURE expected_to create_file `TOKEN201703291601_FILENAME` matching_regex `^TOKEN201703291601_VALUE2$`
SUCCESS expected_to exit_with_status `0`
----------------------------------------------------------------
42sh/local-variable/mixed/tilde-expansion/001-process-tilde-expansion (FAILED)
Description:
The purpose of this test is to check that the tilde expansion `~` in variable declaration.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: TOKEN201703291601=~
02: ./write_on_stdout TILDE:$TOKEN201703291601
STDOUT:
FAILURE expected_to_not match_regex `TILDE:~`
WARNING might match_regex `TILDE:/TOKEN201703291601`
01: TILDE:~
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/escaping/004-it-results-in-error (FAILED)
Description:
The purpose of this test is to check that using backslash `\\` before the closing double-quote `"` does result in syntax error.
STDIN:
01: ./write_on_stdout "TOKEN201703291601\"
STDOUT:
SUCCESS expected_to_not match_regex `^TOKEN201703291601$`
(no output)
STDERR:
FAILURE expected_to_not be_empty
WARNING might match_regex `([Ss]yntax|[Pp]arse) error`
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/002-it-does-not-expand-braces-2 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout {1..2}"{1..2}"
STDOUT:
FAILURE expected_to match_regex `1[{]1..2}@2[{]1..2}@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/003-it-does-not-expand-braces-3 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}"{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1@[{]1..2}2@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/004-it-does-not-expand-braces-4 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}"{1..2}"{1..2}"{1..2}"{1..2}"{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1[{]1..2}1[{]1..2}1@[{]1..2}1[{]1..2}1[{]1..2}2@[{]1..2}1[{]1..2}2[{]1..2}1@[{]1..2}1[{]1..2}2[{]1..2}2@[{]1..2}2[{]1..2}1[{]1..2}1@[{]1..2}2[{]1..2}1[{]1..2}2@[{]1..2}2[{]1..2}2[{]1..2}1@[{]1..2}2[{]1..2}2[{]1..2}2@`
01: {1..2}{1..2}{1..2}{1..2}{1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/brace-expansion/005-it-does-not-expand-braces-5 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}" {1..2} "{1..2}" "{1..2}"
STDOUT:
FAILURE expected_to match_regex `[{]1..2}@1@2@[{]1..2}@[{]1..2}@`
01: {1..2}@{1..2}@{1..2}@{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/001-it-works-1 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ["a"]
STDOUT:
SUCCESS expected_to_not match_regex `[[]a]@`
FAILURE expected_to match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/002-it-works-2 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ["a"bc"def"gh]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `g@`
FAILURE expected_to match_regex `h@`
SUCCESS expected_to_not match_regex `bc`
SUCCESS expected_to_not match_regex `def`
SUCCESS expected_to_not match_regex `gh`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout "{1..2}"{1..2}'{1..2}'{1..2}"{1..2}"{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1[{]1..2}1[{]1..2}1@[{]1..2}1[{]1..2}1[{]1..2}2@[{]1..2}1[{]1..2}2[{]1..2}1@[{]1..2}1[{]1..2}2[{]1..2}2@[{]1..2}2[{]1..2}1[{]1..2}1@[{]1..2}2[{]1..2}1[{]1..2}2@[{]1..2}2[{]1..2}2[{]1..2}1@[{]1..2}2[{]1..2}2[{]1..2}2@`
01: {1..2}{1..2}{1..2}{1..2}{1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/mixed/globbing/bracket-expansion/001-it-works-1 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout [""'a'""]
STDOUT:
SUCCESS expected_to_not match_regex `[[]a]@`
FAILURE expected_to match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/mixed/globbing/bracket-expansion/002-it-works-2 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ["a"bc'def'gh]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `g@`
FAILURE expected_to match_regex `h@`
SUCCESS expected_to_not match_regex `bc`
SUCCESS expected_to_not match_regex `def`
SUCCESS expected_to_not match_regex `gh`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/002-it-does-not-expand-braces-2 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout {1..2}'{1..2}'
STDOUT:
FAILURE expected_to match_regex `1[{]1..2}@2[{]1..2}@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/003-it-does-not-expand-braces-3 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout '{1..2}'{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1@[{]1..2}2@`
01: {1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/004-it-does-not-expand-braces-4 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout '{1..2}'{1..2}'{1..2}'{1..2}'{1..2}'{1..2}
STDOUT:
FAILURE expected_to match_regex `[{]1..2}1[{]1..2}1[{]1..2}1@[{]1..2}1[{]1..2}1[{]1..2}2@[{]1..2}1[{]1..2}2[{]1..2}1@[{]1..2}1[{]1..2}2[{]1..2}2@[{]1..2}2[{]1..2}1[{]1..2}1@[{]1..2}2[{]1..2}1[{]1..2}2@[{]1..2}2[{]1..2}2[{]1..2}1@[{]1..2}2[{]1..2}2[{]1..2}2@`
01: {1..2}{1..2}{1..2}{1..2}{1..2}{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/005-it-does-not-expand-braces-5 (FAILED)
Description:
The purpose of this test is to check that braces expansion is not processed within quoted part of the command line.
STDIN:
01: ./write_all_arguments_on_stdout '{1..2}' {1..2} '{1..2}' '{1..2}'
STDOUT:
FAILURE expected_to match_regex `[{]1..2}@1@2@[{]1..2}@[{]1..2}@`
01: {1..2}@{1..2}@{1..2}@{1..2}@
STDERR:
(no output)
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/001-it-works-1 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ['a']
STDOUT:
SUCCESS expected_to_not match_regex `[[]a]@`
FAILURE expected_to match_regex `^a@$`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/002-it-works-2 (FAILED)
Description:
The purpose of this test is to check that an argument made with quoted and unquoted parts results in bracket pattern expansion.
Before test:
01: rm -rf "./test_globbing"
02: mkdir "./test_globbing"
03: cd "./test_globbing"
04: touch 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'
STDIN:
01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout ['a'bc'def'gh]
STDOUT:
FAILURE expected_to match_regex `a@`
FAILURE expected_to match_regex `b@`
FAILURE expected_to match_regex `c@`
FAILURE expected_to match_regex `d@`
FAILURE expected_to match_regex `e@`
FAILURE expected_to match_regex `f@`
FAILURE expected_to match_regex `g@`
FAILURE expected_to match_regex `h@`
SUCCESS expected_to_not match_regex `bc`
SUCCESS expected_to_not match_regex `def`
SUCCESS expected_to_not match_regex `gh`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
----------------------------------------------------------------
42sh/subshell/mixed/inline-environment-variable/001-modifies-the-child-environment-only-1 (FAILED)
Description:
The purpose of this test is to check that declaring a variable and specifying a binary in a subshell does not result in local variable declaration or a modified parent shell's environment, but only a modified child's environment.
STDIN:
01: (TOKEN201703291601_NAME=TOKEN201703291601_VALUE ./display_env)
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
42sh/subshell/mixed/inline-environment-variable/002-modifies-the-child-environment-only-2 (FAILED)
Description:
The purpose of this test is to check that declaring a variable and specifying a binary in a subshell does not result in local variable declaration or a modified parent shell's environment, but only a modified child's environment.
STDIN:
01: ( (TOKEN201703291601_NAME=TOKEN201703291601_VALUE ./display_env) ; ./display_env) ; ./display_env
02:
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_NAME=TOKEN201703291601_VALUE$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
77: ------------------------------
78: TERM_PROGRAM=iTerm.app
79: TERM=screen-256color
80: SHELL=/bin/zsh
81: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
82: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
83: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
84: TERM_PROGRAM_VERSION=3.0.10
85: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
86: ZSH=/Users/ariard/.oh-my-zsh
87: USER=ariard
88: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
89: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
90: PAGER=less
91: TMUX=/private/tmp/tmux-18965/default,460,2
92: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
93: LSCOLORS=Gxfxcxdxbxegedabagacad
94: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
95: MAIL=ariard@student.42.fr
96: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
97: LANG=en_US.UTF-8
98: ITERM_PROFILE=Default
99: XPC_FLAGS=0x0
100: TMUX_PANE=%19
101: XPC_SERVICE_NAME=0
102: SHLVL=5
103: HOME=/Users/ariard
104: COLORFGBG=7;0
105: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
106: LOGNAME=ariard
107: LESS=-R
108: LC_CTYPE=en_US.UTF-8
109: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
110: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
111: _=../../42sh
112: ?=0
113: ------------------------------
114: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
bonuses/inline-environment-variable/001-modifies-child-environment-1 (FAILED)
Description:
The purpose of this test is to check that a binary may have its environment to be modified by appending variables inline.
Before test:
01: unset "TOKEN201703291601_VARIABLE"
STDIN:
01: TOKEN201703291601_VARIABLE=TOKEN201703291601_VALUE ./display_env
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE=TOKEN201703291601_VALUE$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
bonuses/inline-environment-variable/002-modifies-child-environment-2 (FAILED)
Description:
The purpose of this test is to check that a binary may have its environment to be modified by appending variables inline.
Before test:
01: unset "TOKEN201703291601_VARIABLE"
STDIN:
01: TOKEN201703291601_VARIABLE1=TOKEN201703291601_VALUE1 TOKEN201703291601_VARIABLE2=TOKEN201703291601_VALUE2 TOKEN201703291601_VARIABLE3=TOKEN201703291601_VALUE3 ./display_env
02: ./display_env
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE1=TOKEN201703291601_VALUE1$` once
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE2=TOKEN201703291601_VALUE2$` once
FAILURE expected_to match_regex `^TOKEN201703291601_VARIABLE3=TOKEN201703291601_VALUE3$` once
01: ------------------------------
02: TERM_PROGRAM=iTerm.app
03: TERM=screen-256color
04: SHELL=/bin/zsh
05: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
06: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
07: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
08: TERM_PROGRAM_VERSION=3.0.10
09: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
10: ZSH=/Users/ariard/.oh-my-zsh
11: USER=ariard
12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
14: PAGER=less
15: TMUX=/private/tmp/tmux-18965/default,460,2
16: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
17: LSCOLORS=Gxfxcxdxbxegedabagacad
18: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
19: MAIL=ariard@student.42.fr
20: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
21: LANG=en_US.UTF-8
22: ITERM_PROFILE=Default
23: XPC_FLAGS=0x0
24: TMUX_PANE=%19
25: XPC_SERVICE_NAME=0
26: SHLVL=5
27: HOME=/Users/ariard
28: COLORFGBG=7;0
29: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
30: LOGNAME=ariard
31: LESS=-R
32: LC_CTYPE=en_US.UTF-8
33: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
34: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
35: _=../../42sh
36: ?=0
37: ------------------------------
38: TOTAL ENVIRONMENT VARIABLES: 35
39: ------------------------------
40: TERM_PROGRAM=iTerm.app
41: TERM=screen-256color
42: SHELL=/bin/zsh
43: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
44: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
45: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
46: TERM_PROGRAM_VERSION=3.0.10
47: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
48: ZSH=/Users/ariard/.oh-my-zsh
49: USER=ariard
50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
52: PAGER=less
53: TMUX=/private/tmp/tmux-18965/default,460,2
54: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
55: LSCOLORS=Gxfxcxdxbxegedabagacad
56: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
57: MAIL=ariard@student.42.fr
58: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
59: LANG=en_US.UTF-8
60: ITERM_PROFILE=Default
61: XPC_FLAGS=0x0
62: TMUX_PANE=%19
63: XPC_SERVICE_NAME=0
64: SHLVL=5
65: HOME=/Users/ariard
66: COLORFGBG=7;0
67: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
68: LOGNAME=ariard
69: LESS=-R
70: LC_CTYPE=en_US.UTF-8
71: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
72: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester
73: _=../../42sh
74: ?=0
75: ------------------------------
76: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
bonuses/inline-environment-variable/003-modifies-PATH-only (FAILED)
Description:
The purpose of this test is to check that a binary may have its environment to be modified by appending variables inline.
Before test:
01: rm -rf "temporary_directory"
02: mkdir -p "temporary_directory"
03: cd "temporary_directory"
STDIN:
01: PATH=.. write_on_stdout TOKEN201703291601
02: exit_with_status 42
STDOUT:
FAILURE expected_to match_regex `^TOKEN201703291601$`
(no output)
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Cc]ommand not found`
01: ./lib/main.sh: line 102: ../../42sh: No such file or directory
MISC:
SUCCESS expected_to_not exit_with_status `42`
SUCCESS expected_to_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/and/errors/001-parse-error-at-beginning (WARNING)
Description:
Parsing test.
The purpose of this test is to check that the AND operator `&&` must be placed after a valid command.
If not, the Shell should display an error and exit with an error status code.
STDIN:
01: && ./write_on_stdout TOKEN201703291601
STDOUT:
WARNING might_not match_regex `TOKEN201703291601`
WARNING might be_empty
01: TOKEN201703291601
STDERR:
WARNING might_not be_empty
WARNING might match_regex `([Ss]yntax|[Pp]arse) error`
(no output)
MISC:
WARNING might_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/and/errors/002-parse-error-too-much-symbol (FAILED)
Description:
Parsing test.
The purpose of this test is to check that more than two '&' operators are detected as a syntax error.
It should not execute the two commands `write_on_stdout` but display an error and exit with an error status code.
STDIN:
01: ./write_on_stdout TOKEN201703291601 &&& ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS might_not match_regex `TOKEN201703291601`
SUCCESS might be_empty
(no output)
STDERR:
SUCCESS might_not be_empty
SUCCESS might match_regex `([Ss]yntax|[Pp]arse) error`
01: syntax error near unexpected token `&'
MISC:
FAILURE expected_to_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/or/errors/001-parse-error-at-beginning (WARNING)
Description:
Parsing test.
The purpose of this test is to check that the OR operator `||` must be placed after a valid command.
If not, the Shell should display an error and exit with an error status code.
STDIN:
01: || ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS might be_empty
(no output)
STDERR:
WARNING might_not be_empty
WARNING might match_regex `([Ss]yntax|[Pp]arse) error`
(no output)
MISC:
WARNING might_not exit_with_status `0`
----------------------------------------------------------------
bonuses/separators/or/errors/002-parse-error-too-much-symbol (WARNING)
Description:
Parsing test.
The purpose of this test is to check that using more than two pipe symbols `|` is detected as an error.
The Shell should display an error and exit with a error status code.
STDIN:
01: ./write_on_stdout TOKEN201703291601 ||| ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS might be_empty
(no output)
STDERR:
SUCCESS might_not be_empty
SUCCESS might match_regex `([Ss]yntax|[Pp]arse) error`
01: syntax error near unexpected token `|'
MISC:
WARNING might_not exit_with_status `0`
----------------------------------------------------------------
bonuses/tilde-expansion/003-expanded-with-PWD-1 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable PWD when followed by the symbol `+`.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~+
STDOUT:
SUCCESS expected_to_not match_regex `~[+]`
FAILURE expected_to_not match_regex `/TOKEN201703291601[+]`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp$`
01: /TOKEN201703291601+
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/004-expanded-with-PWD-2 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable PWD when followed by the symbol `+`.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~+/TOKEN201703291601_SUBDIRECTORY
STDOUT:
SUCCESS expected_to_not match_regex `~+/TOKEN201703291601_SUBDIRECTORY`
FAILURE expected_to_not match_regex `/TOKEN201703291601[+]/TOKEN201703291601_SUBDIRECTORY`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp/TOKEN201703291601_SUBDIRECTORY$`
01: /TOKEN201703291601+/TOKEN201703291601_SUBDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/005-expanded-with-OLDPWD-1 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable OLDPWD when followed by the symbol `+`.
Before test:
01: rm -rf "./TOKEN201703291601_SUBDIRECTORY"
02: mkdir "./TOKEN201703291601_SUBDIRECTORY"
03: export "HOME=/TOKEN201703291601"
STDIN:
01: cd ./TOKEN201703291601_SUBDIRECTORY
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_on_stdout ~-
STDOUT:
SUCCESS expected_to_not match_regex `~-`
FAILURE expected_to_not match_regex `/TOKEN201703291601-`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp$`
01: /TOKEN201703291601-
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/006-expanded-with-OLDPWD-2 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be expanded with the environment variable OLDPWD when followed by the symbol `+`.
Before test:
01: rm -rf "./TOKEN201703291601_SUBDIRECTORY"
02: mkdir "./TOKEN201703291601_SUBDIRECTORY"
03: export "HOME=/TOKEN201703291601"
STDIN:
01: cd ./TOKEN201703291601_SUBDIRECTORY
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_on_stdout ~-/TOKEN201703291601_OTHERDIRECTORY
STDOUT:
SUCCESS expected_to_not match_regex `~-/TOKEN201703291601_OTHERDIRECTORY`
FAILURE expected_to_not match_regex `/TOKEN201703291601-/TOKEN201703291601_OTHERDIRECTORY`
FAILURE expected_to match_regex `^/Users/ariard/Projects/42sh/42ShellTester/tmp/TOKEN201703291601_OTHERDIRECTORY$`
01: /TOKEN201703291601-/TOKEN201703291601_OTHERDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/001-not-expanded-with-HOME-1 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be not expanded when not followed by an authorized symbol or user name.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~~
STDOUT:
FAILURE expected_to match_regex `^~~$`
FAILURE expected_to_not match_regex `/TOKEN201703291601`
01: /TOKEN201703291601~
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/002-not-expanded-with-HOME-2 (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` may be not expanded when not followed by an authorized symbol or user name.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~TOKEN201703291601_UNKNOWNUSER
STDOUT:
FAILURE expected_to match_regex `^~TOKEN201703291601_UNKNOWNUSER$`
FAILURE expected_to_not match_regex `/TOKEN201703291601TOKEN201703291601_UNKNOWNUSER`
01: /TOKEN201703291601TOKEN201703291601_UNKNOWNUSER
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/003-not-expanded-with-PWD (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` is not expanded with the environment variable PWD when not followed by the symbol `/`.
Before test:
01: export "HOME=/TOKEN201703291601"
STDIN:
01: ./write_on_stdout ~+TOKEN201703291601_SUBDIRECTORY
STDOUT:
FAILURE expected_to match_regex `^~[+]TOKEN201703291601_SUBDIRECTORY$`
FAILURE expected_to_not match_regex `/TOKEN201703291601[+]TOKEN201703291601_SUBDIRECTORY`
SUCCESS expected_to_not match_regex `/Users/ariard/Projects/42sh/42ShellTester/tmpTOKEN201703291601_SUBDIRECTORY`
01: /TOKEN201703291601+TOKEN201703291601_SUBDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
bonuses/tilde-expansion/not-expanded/004-not-expanded-with-OLDPWD (FAILED)
Description:
The purpose of this test is to check that the symbol tilde `~` is not expanded with the environment variable OLDPWD when not followed by the symbol `/`.
Before test:
01: rm -rf "./TOKEN201703291601_SUBDIRECTORY"
02: mkdir "./TOKEN201703291601_SUBDIRECTORY"
03: export "HOME=/TOKEN201703291601"
STDIN:
01: cd ./TOKEN201703291601_SUBDIRECTORY
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_on_stdout ~-TOKEN201703291601_OTHERDIRECTORY
STDOUT:
FAILURE expected_to match_regex `^~-TOKEN201703291601_OTHERDIRECTORY$`
SUCCESS expected_to_not match_regex `/TOKEN201703291601-/TOKEN201703291601_OTHERDIRECTORY`
SUCCESS expected_to_not match_regex `/Users/ariard/Projects/42sh/42ShellTester/tmp/TOKEN201703291601_OTHERDIRECTORY`
01: /TOKEN201703291601-TOKEN201703291601_OTHERDIRECTORY
STDERR:
(no output)
----------------------------------------------------------------
minishell/binary/004-binary-test-empty-path (FAILED)
Description:
The purpose of this test is to check that the Shell finds binaries that are located in the current directory when the environment variable PATH is empty.
Before test:
01: export PATH=""
STDIN:
01: write_on_stdout "TOKEN201703291601"
STDOUT:
FAILURE expected_to match_regex `TOKEN201703291601`
(no output)
STDERR:
FAILURE expected_to be_empty
01: ../../42sh: command not found: write_on_stdout
MISC:
FAILURE expected_to exit_with_status `0`
----------------------------------------------------------------
minishell/binary/008-binary-too-many-symbolic-links-encountered (WARNING)
Description:
The purpose of this test is to check that trying to execute a path that encounters an infinite loop of symbolic link results in an error on standard error and a failure exit status.
Before test:
01: rm -rf ./symbolic_link1 ./symbolic_link2 ./symbolic_link3
02: ln -s ./symbolic_link1 ./symbolic_link2
03: ln -s ./symbolic_link2 ./symbolic_link3
04: ln -s ./symbolic_link3 ./symbolic_link1
STDIN:
01: ./symbolic_link1
STDOUT:
SUCCESS might be_empty
(no output)
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Tt]oo many.*symbolic links`
01: ../../42sh: ./symbolic_link1: no such file or directory
MISC:
SUCCESS expected_to_not exit_with_status 0
----------------------------------------------------------------
minishell/builtins/cd/007-symbolic-link (FAILED)
Description:
The purpose of this test is to check that using a symbolic link as first argument with the builtin `cd` results in moving the linked directory.
Before test:
01: rm -f "./symbolic_link"
02: mkdir -p "./sub_directory"
03: ln -s "./sub_directory" "./symbolic_link"
STDIN:
01: cd symbolic_link
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_pwd
03: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_env
STDOUT:
SUCCESS expected_to match_regex `PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD$`
FAILURE expected_to match_regex `^PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/symbolic_link$`
01: PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD
02: ------------------------------
03: TERM_PROGRAM=iTerm.app
04: TERM=screen-256color
05: SHELL=/bin/zsh
06: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
07: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
08: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
09: TERM_PROGRAM_VERSION=3.0.10
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
20: MAIL=ariard@student.42.fr
21: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory
22: LANG=en_US.UTF-8
23: ITERM_PROFILE=Default
24: XPC_FLAGS=0x0
25: TMUX_PANE=%19
26: XPC_SERVICE_NAME=0
27: SHLVL=5
28: HOME=/Users/ariard
29: COLORFGBG=7;0
30: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
31: LOGNAME=ariard
32: LESS=-R
33: LC_CTYPE=en_US.UTF-8
34: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
35: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
minishell/builtins/cd/008-symbolic-link-2 (FAILED)
Description:
The purpose of this test is to check that using a symbolic link as first argument with the builtin `cd` results in moving to the linked directory. In this test, the directory is linked with to chained symbolic links.
Before test:
01: rm -f "./symbolic_link1" "./symbolic_link2"
02: mkdir -p "./sub_directory"
03: ln -s "./sub_directory" "./symbolic_link1"
04: ln -s "./symbolic_link1" "./symbolic_link2"
STDIN:
01: cd symbolic_link2
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_pwd
03: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_env
STDOUT:
SUCCESS expected_to match_regex `PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD$`
FAILURE expected_to match_regex `^PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/symbolic_link2$`
01: PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory:PWD
02: ------------------------------
03: TERM_PROGRAM=iTerm.app
04: TERM=screen-256color
05: SHELL=/bin/zsh
06: HOMEBREW_TEMP=/tmp/ariard/Homebrew/Temp
07: TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n0002_2m000khn/T/
08: Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.4f2AkmTXni/Render
09: TERM_PROGRAM_VERSION=3.0.10
10: TERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
11: ZSH=/Users/ariard/.oh-my-zsh
12: USER=ariard
13: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.VotSnLjyD2/Listeners
14: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0
15: PAGER=less
16: TMUX=/private/tmp/tmux-18965/default,460,2
17: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches
18: LSCOLORS=Gxfxcxdxbxegedabagacad
19: PATH=/Users/ariard/.brew/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/munki://Users/ariard/local/bin
20: MAIL=ariard@student.42.fr
21: PWD=/Users/ariard/Projects/42sh/42ShellTester/tmp/sub_directory
22: LANG=en_US.UTF-8
23: ITERM_PROFILE=Default
24: XPC_FLAGS=0x0
25: TMUX_PANE=%19
26: XPC_SERVICE_NAME=0
27: SHLVL=5
28: HOME=/Users/ariard
29: COLORFGBG=7;0
30: ITERM_SESSION_ID=w0t0p0:27D68FBB-A085-467A-8F02-568DA11416F0
31: LOGNAME=ariard
32: LESS=-R
33: LC_CTYPE=en_US.UTF-8
34: TMUX_PLUGIN_MANAGER_PATH=/Users/ariard/.tmux/plugins/
35: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester/tmp
36: _=../../42sh
37: ?=0
38: ------------------------------
39: TOTAL ENVIRONMENT VARIABLES: 35
STDERR:
SUCCESS expected_to be_empty
(no output)
----------------------------------------------------------------
minishell/builtins/cd/errors/005-too-many-symbolic-links-encountered (WARNING)
Description:
The purpose of this test is to check that using a symbolic link resulting in ELOOP error as first argument with the builtin `cd` results in error and not changing current directory.
Before test:
01: rm -f "./symbolic_link1" "./symbolic_link2" "./symbolic_link3"
02: ln -s "./symbolic_link1" "./symbolic_link2"
03: ln -s "./symbolic_link2" "./symbolic_link3"
04: ln -s "./symbolic_link3" "./symbolic_link1"
STDIN:
01: cd symbolic_link1
02: /Users/ariard/Projects/42sh/42ShellTester/tmp/display_pwd
STDOUT:
SUCCESS expected_to match_regex `PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp:PWD`
01: PWD:/Users/ariard/Projects/42sh/42ShellTester/tmp:PWD
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Tt]oo many.*symbolic links`
01: ../../42sh: cd : symbolic_link1: No such file or directory
----------------------------------------------------------------
minishell/builtins/env/errors/001-command-not-found (WARNING)
Description:
The purpose of this test is to check that using the builtin `env` with an invalid binary as argument results in an error and failure exit status.
Before test:
01: rm -f "./invalid_binary"
STDIN:
01: env ./invalid_binary
STDOUT:
(no output)
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `[Cc]ommand not found`
01: ../../42sh: env: ./invalid_binary: No such file or directory
MISC:
SUCCESS expected_to_not exit_with_status `0`
----------------------------------------------------------------
minishell/builtins/exit/errors/001-too-many-args (WARNING)
Description:
The purpose of this test is to check that using a wrong number of arguments with the builtin `exit` does not result in the Shell termination but an error on standard error.
STDIN:
01: exit 21 42
02: ./write_on_stdout TOKEN201703291601
STDOUT:
SUCCESS expected_to match_regex `TOKEN201703291601`
01: TOKEN201703291601
STDERR:
SUCCESS expected_to_not be_empty
WARNING might match_regex `([Tt]oo many arguments|[Aa]rgument list too long)`
01: ../../42sh: exit: too many argument required
MISC:
SUCCESS expected_to exit_with_status `0`
Total tests: 281
Total failed tests: 95
Total pending tests: 3