x.xxx..x.xxx.xx.xxx......xxxxx...xxxxxxxxxx.......xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxx.xx.xxx.x......xxxx.xxxxxx...xxxx...........xxxxxx.................xx...... ---------------------------------------------------------------- 42sh/builtins/export/001-display-env (FAILED) Description:  The purpose of this test is to check that using the builtin `export` without parameters results at least in a display of the environment variables. Before test:  01: rm -rf "./stored_env" 02: env | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env" STDIN:  01: export STDOUT:  FAILURE expected_to match_each_regex_of_file `./stored_env`  (no output) STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/builtins/export/003-export-basic-key-value-2 (FAILED) Description:  The purpose of this test is to check that the builtin `export` may declare a new environment variable and is able to display it later. Before test:  01: unset "TOKEN201703241737_NAME" STDIN:  01: export TOKEN201703241737_NAME=TOKEN201703241737_VALUE 02: export STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737_NAME=["]?TOKEN201703241737_VALUE["]?$`  (no output) STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 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 "TOKEN201703241737" STDIN:  01: export TOKEN201703241737 02: ./display_env STDOUT:  FAILURE expected_to_not match_regex `TOKEN201703241737`  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.LmcFivfwkY/Render 08: TERM_PROGRAM_VERSION=3.0.10 09: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 10: ZSH=/Users/ariard/.oh-my-zsh 11: USER=ariard 12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 14: PAGER=less 15: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 25: XPC_SERVICE_NAME=0 26: SHLVL=4 27: HOME=/Users/ariard 28: COLORFGBG=7;0 29: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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: TOKEN201703241737= 38: ------------------------------ 39: TOTAL ENVIRONMENT VARIABLES: 36 STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/builtins/export/005-export-empty-variable-2 (FAILED) Description:  The purpose of this test is to check that exporting an empty variable does not add it to the environment, but can be displayed with the builtin `export`. Before test:  01: unset "TOKEN201703241737" STDIN:  01: export TOKEN201703241737 02: export STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737`  (no output) STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/builtins/export/008-local-to-environment (FAILED) Description:  The purpose of this test is to check that a declared local variable may be exported to the environment with the builtin `export`. STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_VALUE 02: export TOKEN201703241737_NAME 03: ./display_env STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_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.LmcFivfwkY/Render 08: TERM_PROGRAM_VERSION=3.0.10 09: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 10: ZSH=/Users/ariard/.oh-my-zsh 11: USER=ariard 12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 14: PAGER=less 15: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 25: XPC_SERVICE_NAME=0 26: SHLVL=4 27: HOME=/Users/ariard 28: COLORFGBG=7;0 29: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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: TOKEN201703241737_NAME=OKEN201703241737_VALUE 38: ------------------------------ 39: TOTAL ENVIRONMENT VARIABLES: 36 STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/builtins/export/010-export-with-equal-but-no-value-part2 (FAILED) Description:  The purpose of this test is to check if the builtin export works fine with equal sign but no value. This test is based on the local variables return. Before test:  01: unset "TOKEN201703241737" STDIN:  01: export TOKEN201703241737_NAME= 02: export STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737_NAME=`  (no output) STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/builtins/export/errors/001-invalid-identifier-1 (FAILED) Description:  The purpose of this test is to check that trying to export an invalid variable identifier results in error. STDIN:  01: export 42=TOKEN201703241737 STDOUT:  SUCCESS expected_to_not match_regex `TOKEN201703241737`  (no output) STDERR:  SUCCESS expected_to_not be_empty  WARNING might match_regex `(not.*identifier|must begin.*letter)`  01: ../../42sh: export: 42: invalid variable name MISC:  FAILURE expected_to_not exit_with_status `0` ---------------------------------------------------------------- 42sh/builtins/export/errors/002-invalid-identifier-2 (FAILED) Description:  The purpose of this test is to check that trying to export an invalid variable identifier results in error. STDIN:  01: export .=TOKEN201703241737 STDOUT:  SUCCESS expected_to_not match_regex `TOKEN201703241737`  (no output) STDERR:  SUCCESS expected_to_not be_empty  WARNING might match_regex `(not.*identifier|must begin.*letter)`  01: ../../42sh: export: .: invalid variable name MISC:  FAILURE expected_to_not exit_with_status `0` ---------------------------------------------------------------- 42sh/builtins/export/mixed/001-export-and-tmp-env-part1 (FAILED) Description:  The purpose of this test is to check that modifying the environment for the builtin `export` results in an added variable into the exported list. Before test:  01: unset "TOKEN201703241737_NAME" STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_VALUE export TOKEN201703241737_NAME 02: export STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737_NAME=["]?TOKEN201703241737_VALUE["]?`  (no output) STDERR:  FAILURE expected_to be_empty  01: ../../42sh: command not found: TOKEN201703241737_NAME=TOKEN201703241737_VALUE ---------------------------------------------------------------- 42sh/builtins/export/mixed/002-export-and-tmp-env-part2 (FAILED) Description:  The purpose of this test is to check that modifying the environment for the builtin `export` results in an added environment variable. Before test:  01: unset "TOKEN201703241737_NAME" STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_VALUE export TOKEN201703241737_NAME 02: ./display_env STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737_NAME=TOKEN201703241737_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.LmcFivfwkY/Render 08: TERM_PROGRAM_VERSION=3.0.10 09: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 10: ZSH=/Users/ariard/.oh-my-zsh 11: USER=ariard 12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 14: PAGER=less 15: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 25: XPC_SERVICE_NAME=0 26: SHLVL=4 27: HOME=/Users/ariard 28: COLORFGBG=7;0 29: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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: ?=127 37: ------------------------------ 38: TOTAL ENVIRONMENT VARIABLES: 35 STDERR:  FAILURE expected_to be_empty  01: ../../42sh: command not found: TOKEN201703241737_NAME=TOKEN201703241737_VALUE ---------------------------------------------------------------- 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 "TOKEN201703241737_NAME" 03: export | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env" STDIN:  01: export -p TOKEN201703241737_NAME 02: export STDOUT:  FAILURE expected_to_not match_each_regex_of_file `./stored_env`  FAILURE expected_to match_regex `TOKEN201703241737_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.LmcFivfwkY/Render 07: export TERM_PROGRAM_VERSION=3.0.10 08: export TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 09: export ZSH=/Users/ariard/.oh-my-zsh 10: export USER=ariard 11: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 12: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 13: export PAGER=less 14: export TMUX=/private/tmp/tmux-18965/default,73780,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=%9 24: export XPC_SERVICE_NAME=0 25: export SHLVL=4 26: export HOME=/Users/ariard 27: export COLORFGBG=7;0 28: export ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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 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 "TOKEN201703241737_NAME" 03: export | awk 'BEGIN {FS="="} $0 !~ /^(OLDPWD|_)/ {print $1"="}' > "./stored_env" STDIN:  01: export -p TOKEN201703241737_NAME 02: ./display_env STDOUT:  FAILURE expected_to_not match_each_regex_of_file `./stored_env`  SUCCESS expected_to_not match_regex `TOKEN201703241737_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.LmcFivfwkY/Render 07: export TERM_PROGRAM_VERSION=3.0.10 08: export TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 09: export ZSH=/Users/ariard/.oh-my-zsh 10: export USER=ariard 11: export SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 12: export __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 13: export PAGER=less 14: export TMUX=/private/tmp/tmux-18965/default,73780,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=%9 24: export XPC_SERVICE_NAME=0 25: export SHLVL=4 26: export HOME=/Users/ariard 27: export COLORFGBG=7;0 28: export ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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.LmcFivfwkY/Render 43: TERM_PROGRAM_VERSION=3.0.10 44: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 45: ZSH=/Users/ariard/.oh-my-zsh 46: USER=ariard 47: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 48: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 49: PAGER=less 50: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 60: XPC_SERVICE_NAME=0 61: SHLVL=4 62: HOME=/Users/ariard 63: COLORFGBG=7;0 64: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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 TOKEN201703241737_NAME=TOKEN201703241737_VALUE STDIN:  01: export -n TOKEN201703241737_NAME 02: export 03: ./display_env STDOUT:  SUCCESS expected_to_not match_regex `TOKEN201703241737_NAME`  (no output) STDERR:  FAILURE expected_to be_empty  01: export: invalid option -n 02: ./lib/main.sh: line 102: 12935 Segmentation fault: 11 ../../42sh ---------------------------------------------------------------- 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 TOKEN201703241737{a..e}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737aTOKEN201703241737@TOKEN201703241737bTOKEN201703241737@TOKEN201703241737cTOKEN201703241737@TOKEN201703241737dTOKEN201703241737@TOKEN201703241737eTOKEN201703241737@$`  01: TOKEN201703241737{a..e}TOKEN201703241737@ 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 TOKEN201703241737{E..A}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737ETOKEN201703241737@TOKEN201703241737DTOKEN201703241737@TOKEN201703241737CTOKEN201703241737@TOKEN201703241737BTOKEN201703241737@TOKEN201703241737ATOKEN201703241737@$`  01: TOKEN201703241737{E..A}TOKEN201703241737@ 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 TOKEN201703241737{e..a} STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737e@TOKEN201703241737d@TOKEN201703241737c@TOKEN201703241737b@TOKEN201703241737a@$`  01: TOKEN201703241737{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 TOKEN201703241737{a..b}abc{Z..X}def{s..s} STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737aabcZdefs@TOKEN201703241737aabcYdefs@TOKEN201703241737aabcXdefs@TOKEN201703241737babcZdefs@TOKEN201703241737babcYdefs@TOKEN201703241737babcXdefs@$`  01: TOKEN201703241737{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 TOKEN201703241737{1..5}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^TOKEN2017032417371TOKEN201703241737@TOKEN2017032417372TOKEN201703241737@TOKEN2017032417373TOKEN201703241737@TOKEN2017032417374TOKEN201703241737@TOKEN2017032417375TOKEN201703241737@$`  01: TOKEN201703241737{1..5}TOKEN201703241737@ 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 TOKEN201703241737{1..+5} STDOUT:  FAILURE expected_to match_regex `^TOKEN2017032417371@TOKEN2017032417372@TOKEN2017032417373@TOKEN2017032417374@TOKEN2017032417375@$`  01: TOKEN201703241737{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}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^-5TOKEN201703241737@-4TOKEN201703241737@-3TOKEN201703241737@-2TOKEN201703241737@-1TOKEN201703241737@0TOKEN201703241737@$`  01: {-5..0}TOKEN201703241737@ 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}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^-100TOKEN201703241737@-99TOKEN201703241737@-98TOKEN201703241737@$`  01: {-100..-98}TOKEN201703241737@ 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 TOKEN201703241737{5..1}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^TOKEN2017032417375TOKEN201703241737@TOKEN2017032417374TOKEN201703241737@TOKEN2017032417373TOKEN201703241737@TOKEN2017032417372TOKEN201703241737@TOKEN2017032417371TOKEN201703241737@$`  01: TOKEN201703241737{5..1}TOKEN201703241737@ 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 TOKEN201703241737{5..+1} STDOUT:  FAILURE expected_to match_regex `^TOKEN2017032417375@TOKEN2017032417374@TOKEN2017032417373@TOKEN2017032417372@TOKEN2017032417371@$`  01: TOKEN201703241737{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}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^0TOKEN201703241737@-1TOKEN201703241737@-2TOKEN201703241737@-3TOKEN201703241737@-4TOKEN201703241737@-5TOKEN201703241737@$`  01: {0..-5}TOKEN201703241737@ 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}TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^-98TOKEN201703241737@-99TOKEN201703241737@-100TOKEN201703241737@$`  01: {-98..-100}TOKEN201703241737@ 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 TOKEN201703241737{1..2}abc{-50..-53}def{0..0} STDOUT:  FAILURE expected_to match_regex `^TOKEN2017032417371abc-50def0@TOKEN2017032417371abc-51def0@TOKEN2017032417371abc-52def0@TOKEN2017032417371abc-53def0@TOKEN2017032417372abc-50def0@TOKEN2017032417372abc-51def0@TOKEN2017032417372abc-52def0@TOKEN2017032417372abc-53def0@$`  01: TOKEN201703241737{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 "TOKEN201703241737abcd" "TOKEN201703241737abc" "TOKEN201703241737abdc" "TOKEN201703241737b" "TOKEN201703241737" "TOKEN201703241737\[a]b\[c]\[d]" STDIN:  01: /Users/ariard/Projects/42sh/42ShellTester/tmp/write_all_arguments_on_stdout TOKEN201703241737[a]b[c][d] STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737abcd@$`  SUCCESS expected_to_not match_regex `TOKEN201703241737abc@`  SUCCESS expected_to_not match_regex `TOKEN201703241737abdc@`  SUCCESS expected_to_not match_regex `TOKEN201703241737b@`  SUCCESS expected_to_not match_regex `TOKEN201703241737@`  SUCCESS expected_to_not match_regex `TOKEN201703241737[[]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: TOKEN201703241737_NAME= 02: ./write_on_stdout_and_stderr $TOKEN201703241737_NAME $TOKEN201703241737_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 "TOKEN201703241737_UNKNOWN" STDIN:  01: ./write_on_stdout $TOKEN201703241737_UNKNOWN TOKEN201703241737_DISPLAYED STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737_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 "TOKEN201703241737_NAME=TOKEN201703241737_VALUE_OLD" STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_VALUE_NEW 02: ./display_env STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_VALUE_NEW$`  FAILURE expected_to_not match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_VALUE_OLD$`  01: ------------------------------ 02: TERM_PROGRAM=iTerm.app 03: TOKEN201703241737_NAME=TOKEN201703241737_VALUE_OLD 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.LmcFivfwkY/Render 09: TERM_PROGRAM_VERSION=3.0.10 10: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester 11: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 12: ZSH=/Users/ariard/.oh-my-zsh 13: USER=ariard 14: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 15: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 16: PAGER=less 17: TMUX=/private/tmp/tmux-18965/default,73780,2 18: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches 19: LSCOLORS=Gxfxcxdxbxegedabagacad 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=%9 27: XPC_SERVICE_NAME=0 28: SHLVL=4 29: HOME=/Users/ariard 30: COLORFGBG=7;0 31: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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 "TOKEN201703241737_NAME=TOKEN201703241737_VALUE" STDIN:  01: TOKEN201703241737_NAME= 02: ./display_env STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737_NAME=$`  FAILURE expected_to_not match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_VALUE$`  01: ------------------------------ 02: TERM_PROGRAM=iTerm.app 03: TOKEN201703241737_NAME=TOKEN201703241737_VALUE 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.LmcFivfwkY/Render 09: TERM_PROGRAM_VERSION=3.0.10 10: OLDPWD=/Users/ariard/Projects/42sh/42ShellTester 11: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 12: ZSH=/Users/ariard/.oh-my-zsh 13: USER=ariard 14: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 15: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 16: PAGER=less 17: TMUX=/private/tmp/tmux-18965/default,73780,2 18: HOMEBREW_CACHE=/tmp/ariard/Homebrew/Caches 19: LSCOLORS=Gxfxcxdxbxegedabagacad 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=%9 27: XPC_SERVICE_NAME=0 28: SHLVL=4 29: HOME=/Users/ariard 30: COLORFGBG=7;0 31: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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/007-multiple-declaration-at-a-time (FAILED) Description:  The purpose of this test is to check that declaring multiple variables in the same command line does work. STDIN:  01: TOKEN201703241737_NAME1=TOKEN201703241737_VALUE1 TOKEN201703241737_NAME2=TOKEN201703241737_VALUE2 TOKEN201703241737_NAME3=TOKEN201703241737_VALUE3 02: ./write_on_stdout_and_stderr $TOKEN201703241737_NAME1 $TOKEN201703241737_NAME1 03: ./write_on_stdout $TOKEN201703241737_NAME2 04: ./write_on_stderr $TOKEN201703241737_NAME3 STDOUT:  SUCCESS expected_to match_regex `^TOKEN201703241737_VALUE1$`  FAILURE expected_to match_regex `^TOKEN201703241737_VALUE2$`  SUCCESS expected_to_not match_regex `^TOKEN201703241737_VALUE3$`  01: TOKEN201703241737_VALUE1 02:  STDERR:  SUCCESS expected_to match_regex `^TOKEN201703241737_VALUE1$`  SUCCESS expected_to_not match_regex `^TOKEN201703241737_VALUE2$`  FAILURE expected_to match_regex `^TOKEN201703241737_VALUE3$`  01: TOKEN201703241737_VALUE1 02:  ---------------------------------------------------------------- 42sh/local-variable/008-multiple-declaration-with-same-name (FAILED) Description:  The purpose of this test is to check that declaring the same variable several times in the same command line does work and does not result in error. STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_VALUE1 TOKEN201703241737_NAME=TOKEN201703241737_VALUE2 TOKEN201703241737_NAME=TOKEN201703241737_VALUE3 02: ./write_on_stdout $TOKEN201703241737_NAME STDOUT:  FAILURE expected_to_not match_regex `^TOKEN201703241737_VALUE1$`  SUCCESS expected_to_not match_regex `^TOKEN201703241737_VALUE2$`  FAILURE expected_to match_regex `^TOKEN201703241737_VALUE3$`  01: TOKEN201703241737_VALUE1 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: TOKEN201703241737_NAME=TOKEN201703241737_VALUE ./display_env 02: ./write_on_stderr $TOKEN201703241737 STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_VALUE$`  (no output) STDERR:  FAILURE expected_to_not match_regex `TOKEN201703241737_VALUE`  FAILURE expected_to match_regex `write on stderr`  01: ../../42sh: command not found: TOKEN201703241737_NAME=TOKEN201703241737_VALUE 02:  ---------------------------------------------------------------- 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 "TOKEN201703241737_FILENAME" STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_FILENAME 02: ./write_on_stdout TOKEN201703241737_VALUE > $TOKEN201703241737_NAME STDOUT:  SUCCESS expected_to be_empty  (no output) STDERR:  SUCCESS expected_to be_empty  (no output) MISC:  FAILURE expected_to create_file `TOKEN201703241737_FILENAME` matching_regex `^TOKEN201703241737_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 "TOKEN201703241737_FILENAME" STDIN:  01: TOKEN201703241737_NAME=TOKEN201703241737_FILENAME 02: ./write_on_stdout TOKEN201703241737_VALUE1 >> $TOKEN201703241737_NAME 03: ./write_on_stdout TOKEN201703241737_VALUE2 >> $TOKEN201703241737_NAME STDOUT:  SUCCESS expected_to be_empty  (no output) STDERR:  SUCCESS expected_to be_empty  (no output) MISC:  FAILURE expected_to create_file `TOKEN201703241737_FILENAME` matching_regex `^TOKEN201703241737_VALUE1$`  FAILURE expected_to create_file `TOKEN201703241737_FILENAME` matching_regex `^TOKEN201703241737_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=/TOKEN201703241737" STDIN:  01: TOKEN201703241737=~ 02: ./write_on_stdout TILDE:$TOKEN201703241737 STDOUT:  FAILURE expected_to_not match_regex `TILDE:~`  WARNING might match_regex `TILDE:/TOKEN201703241737`  01: TILDE:~ STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/quoting/double-quotes/mixed/escaping/002-escape-double-quote-2 (FAILED) Description:  The purpose of this test is to check that a double-quote `"` may be preserved when it is preceded by a backslash `\\`. STDIN:  01: ./write_on_stdout "TOKEN201703241737 \" TOKEN201703241737" STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737 ` TOKEN201703241737$`  01: TOKEN201703241737 TOKEN201703241737 STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 42sh/quoting/double-quotes/mixed/escaping/003-escape-double-quote-3 (FAILED) Description:  The purpose of this test is to check that a double-quote `"` may be preserved when it is preceded by a backslash `\\`. STDIN:  01: ./write_on_stdout "\"" STDOUT:  FAILURE expected_to match_regex `^"$`  01:  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 "TOKEN201703241737\" STDOUT:  SUCCESS expected_to_not match_regex `^TOKEN201703241737$`  (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/escaping/005-it-does-not-escape-double-quote (FAILED) Description:  The purpose of this test is to check that using two backslashes `\\` before the symbol double-quote `"` does not result in escaped inhibitors. STDIN:  01: ./write_on_stdout \\"TOKEN201703241737\\" STDOUT:  FAILURE expected_to match_regex `^\TOKEN201703241737\$`  01: \TOKEN201703241737 STDERR:  SUCCESS expected_to be_empty  (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/mixed/variable-expansion/001-it-does-not-expand-in-quotes (FAILED) Description:  The purpose of this test is to check if a local variable is display correctly inside simple and double quote. Before test:  01: export "TOKEN201703241737_NAME=TOKEN201703241737_VALUE" STDIN:  01: ./write_on_stdout "$TOKEN201703241737_NAME"$TOKEN201703241737_NAME'$TOKEN201703241737_NAME' STDOUT:  FAILURE expected_to match_regex `TOKEN201703241737_VALUETOKEN201703241737_VALUE[$]TOKEN201703241737_NAME`  01: TOKEN201703241737_VALUEE$TOKEN201703241737_NAME STDERR:  SUCCESS expected_to be_empty  (no output) ---------------------------------------------------------------- 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: (TOKEN201703241737_NAME=TOKEN201703241737_VALUE ./display_env) 02: ./display_env STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_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.LmcFivfwkY/Render 08: TERM_PROGRAM_VERSION=3.0.10 09: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 10: ZSH=/Users/ariard/.oh-my-zsh 11: USER=ariard 12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 14: PAGER=less 15: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 25: XPC_SERVICE_NAME=0 26: SHLVL=4 27: HOME=/Users/ariard 28: COLORFGBG=7;0 29: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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: ?=127 37: ------------------------------ 38: TOTAL ENVIRONMENT VARIABLES: 35 STDERR:  FAILURE expected_to be_empty  01: ../../42sh: command not found: TOKEN201703241737_NAME=TOKEN201703241737_VALUE ---------------------------------------------------------------- 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: ( (TOKEN201703241737_NAME=TOKEN201703241737_VALUE ./display_env) ; ./display_env) ; ./display_env 02:  STDOUT:  FAILURE expected_to match_regex `^TOKEN201703241737_NAME=TOKEN201703241737_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.LmcFivfwkY/Render 08: TERM_PROGRAM_VERSION=3.0.10 09: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 10: ZSH=/Users/ariard/.oh-my-zsh 11: USER=ariard 12: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 13: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 14: PAGER=less 15: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 25: XPC_SERVICE_NAME=0 26: SHLVL=4 27: HOME=/Users/ariard 28: COLORFGBG=7;0 29: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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: ?=127 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.LmcFivfwkY/Render 46: TERM_PROGRAM_VERSION=3.0.10 47: TERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 48: ZSH=/Users/ariard/.oh-my-zsh 49: USER=ariard 50: SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.u4JR4EZzBG/Listeners 51: __CF_USER_TEXT_ENCODING=0x4A15:0x0:0x0 52: PAGER=less 53: TMUX=/private/tmp/tmux-18965/default,73780,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=%9 63: XPC_SERVICE_NAME=0 64: SHLVL=4 65: HOME=/Users/ariard 66: COLORFGBG=7;0 67: ITERM_SESSION_ID=w0t0p1:D3D230F7-7E75-4A5C-B793-6A5C4DAD3F83 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:  FAILURE expected_to be_empty  01: ../../42sh: command not found: TOKEN201703241737_NAME=TOKEN201703241737_VALUE Total tests: 162 Total failed tests: 92 Total pending tests: 0