├── .gitignore ├── 42ShellTester.sh ├── README.md ├── lib ├── assert.sh ├── assets │ ├── 42ShellTester.ascii │ ├── 42ShellTester.png │ ├── 42ShellTester_250x250.png │ ├── 42ShellTester_416x416.png │ ├── 42ShellTester_cropped.png │ ├── 42shTestsTeamLogo.png │ ├── 42shTestsTeamLogo_sm.png │ ├── README.md │ ├── hard.png │ ├── non-posix.png │ └── pending.png ├── main.sh └── verbs │ ├── be_empty.sh │ ├── create_file.sh │ ├── exit_with_status.sh │ ├── have_nb_of_lines.sh │ ├── match_each_regex_of_file.sh │ └── match_regex.sh ├── spec ├── 21sh │ ├── README.md │ ├── misc │ │ ├── 001-no-prompt-in-non-interactive-mode │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-simple-command-line │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ ├── pipe │ │ ├── 001-single-pipe │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-chained-pipes │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-many-chained-pipes │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 004-without-surrounding-whitespaces │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 005-asynchronous │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 006-exit-status │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ └── stdin │ │ ├── README.md │ │ └── mixed │ │ │ ├── 001-exit-or-not-exit │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── hard │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-cd-or-not-cd │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── hard │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-unsetenv-or-not-unsetenv │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── hard │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 004-setenv-or-not-setenv │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── hard │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── redirections │ │ ├── README.md │ │ ├── inputs │ │ │ ├── 001-close-stdin │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-filename │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-filename-with-whitespaces │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-absolute-path │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 005-no-such-file │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ └── outputs │ │ │ ├── README.md │ │ │ ├── appending │ │ │ ├── 001-append-default-to-file │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-append-stdout-to-file │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-append-stderr-to-file │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── README.md │ │ │ └── multiple │ │ │ │ ├── 001-append-twice-separately │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ ├── closing │ │ │ ├── 001-close-default-output │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-close-stdout │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-close-stderr │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-close-twice-outputs │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── touching │ │ │ ├── 001-works │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ └── truncating │ │ │ ├── 001-creates-file-if-not-exits │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-truncates-file-if-exists │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-whitespace-before-filename │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── README.md │ │ │ ├── multiple │ │ │ ├── 001-separately │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-together-stdout-first │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-together-stderr-first │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-together │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 005-together-with-whitespaces │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── stderr │ │ │ ├── 001-works │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ └── stdout │ │ │ ├── 001-with-explicit-fd │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ └── separators │ │ ├── README.md │ │ └── semicolon │ │ ├── 001-two-commands-sequentially │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 002-n-commands-sequentially │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 003-parse-error-empty-inline-command │ │ ├── README.md │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 004-parse-error-empty-command │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ └── README.md ├── 42sh │ ├── README.md │ ├── builtins │ │ ├── README.md │ │ └── export │ │ │ ├── 001-display-env │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-export-basic-key-value-1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-export-basic-key-value-2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 004-export-empty-variable-1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 005-export-empty-variable-2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 006-export-update-env-variable │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 007-existing-environment-variable │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 008-local-to-environment │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 009-export-with-equal-but-no-value-part1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 010-export-with-equal-but-no-value-part2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── README.md │ │ │ ├── errors │ │ │ ├── 001-invalid-identifier-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-invalid-identifier-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-illegal-option │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ └── stdin │ │ │ └── README.md │ │ │ ├── mixed │ │ │ ├── 001-export-and-tmp-env-part1 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-export-and-tmp-env-part2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ └── options │ │ │ ├── 001-export-with-only-p-parameter │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-export-p-param-and-token-should-add-local-var-only-part1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-export-p-param-and-token-should-add-local-var-only-part2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 004-export-n-param │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── escaping │ │ ├── 001-escape-single-character-1 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-escape-single-character-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-escape-single-character-3 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 004-escape-single-character-4 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 005-escape-single-character-5 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── README.md │ │ └── mixed │ │ │ ├── README.md │ │ │ ├── globbing │ │ │ ├── README.md │ │ │ ├── brace-expansion │ │ │ │ ├── 001-it-does-not-expand-braces-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 002-it-expands-braces-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 003-it-expands-braces-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ └── bracket-expansion │ │ │ │ ├── 001-it-does-not-expand-brackets │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 002-escaped-inversion-mark │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 003-it-takes-escaped-bracket-as-pattern-character │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ └── variable-expansion │ │ │ ├── 001-escape-variable-1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-it-does-not-escape-variable │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-escape-variable-2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── globbing │ │ ├── README.md │ │ ├── brace-expansion │ │ │ ├── README.md │ │ │ ├── ascii-range │ │ │ │ ├── 001-simple-ascending-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 002-simple-ascending-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 003-simple-ascending-3 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 004-simple-descending-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 005-simple-descending-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 006-simple-descending-3 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 007-identical-start-and-end │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 008-multiple-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 009-multiple-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 010-big-range │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ ├── errors │ │ │ │ ├── 001-invalid-pattern-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── misc │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 002-invalid-pattern-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── misc │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 003-invalid-pattern-3 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── misc │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 004-invalid-pattern-4 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── misc │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ ├── list-of-values │ │ │ │ ├── 001-nothing-to-be-done │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 002-simple-test-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 003-simple-test-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ └── numeric-range │ │ │ │ ├── 001-simple-ascending-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 002-simple-ascending-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 003-simple-ascending-3 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 004-simple-ascending-4 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 005-simple-ascending-5 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 006-simple-descending-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 007-simple-descending-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 008-simple-descending-3 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 009-simple-descending-4 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 010-simple-descending-5 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 011-identical-positive-start-and-end │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 012-identical-negative-start-and-end │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 013-multiple-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 014-multiple-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 015-big-range │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ └── bracket-expansion │ │ │ ├── README.md │ │ │ ├── multi │ │ │ ├── 001-range-and-char │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-reverse-range-and-chars │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-reverse-multi-hard │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-simple-bracket+char+range │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── not │ │ │ ├── 001-simple-opposit-match │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-simple-opposite-range │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── range-pattern │ │ │ ├── 001-alpha-range │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-numeric-range │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-ascii-range-1 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-ascii-range-2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── simple-pattern │ │ │ ├── 001-simple-list │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-multi-bracket │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-brackets-as-pattern │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-multi-bracket-multi-char │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ └── single-char-pattern │ │ │ ├── 001-single-char │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-closing-bracket-char │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-opening-bracket-char │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── local-variable │ │ ├── 001-declare-and-expand-1 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-declare-and-expand-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-unknown-variable-does-not-result-in-new-argument │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 004-existing-variable-in-environment-1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 005-existing-variable-in-environment-2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 006-existing-variable-in-environment-3 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 007-multiple-declaration-at-a-time │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 008-multiple-declaration-with-same-name │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 009-last-exit-status │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── README.md │ │ └── mixed │ │ │ ├── README.md │ │ │ ├── inline-environment-variable │ │ │ ├── 001-local-variable-shouldnt-be-set │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── redirections │ │ │ ├── 001-truncating │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-appending │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-reading │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ └── tilde-expansion │ │ │ ├── 001-process-tilde-expansion │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── quoting │ │ ├── README.md │ │ ├── double-quotes │ │ │ ├── 001-it-works │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-concatenated-strings │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-first-argument-inhibited │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-multiline-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 005-multiline-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── README.md │ │ │ └── mixed │ │ │ │ ├── README.md │ │ │ │ ├── escaping │ │ │ │ ├── 001-escape-double-quote-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 002-escape-double-quote-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 003-escape-double-quote-3 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 004-it-results-in-error │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 005-it-does-not-escape-double-quote │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ │ ├── globbing │ │ │ │ ├── README.md │ │ │ │ ├── brace-expansion │ │ │ │ │ ├── 001-it-does-not-expand-braces-1 │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── description │ │ │ │ │ │ ├── stdin │ │ │ │ │ │ └── stdout │ │ │ │ │ ├── 002-it-does-not-expand-braces-2 │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── description │ │ │ │ │ │ ├── stdin │ │ │ │ │ │ └── stdout │ │ │ │ │ ├── 003-it-does-not-expand-braces-3 │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── description │ │ │ │ │ │ ├── stdin │ │ │ │ │ │ └── stdout │ │ │ │ │ ├── 004-it-does-not-expand-braces-4 │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── description │ │ │ │ │ │ ├── stdin │ │ │ │ │ │ └── stdout │ │ │ │ │ ├── 005-it-does-not-expand-braces-5 │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── description │ │ │ │ │ │ ├── stdin │ │ │ │ │ │ └── stdout │ │ │ │ │ └── README.md │ │ │ │ └── bracket-expansion │ │ │ │ │ ├── 001-it-works-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── before_exec │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ │ ├── 002-it-works-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── before_exec │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ │ └── README.md │ │ │ │ └── variable-expansion │ │ │ │ ├── 001-expansion-enabled │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ ├── mixed │ │ │ ├── 001-simple-and-double-quotes │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-multiline │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── README.md │ │ │ ├── globbing │ │ │ │ ├── README.md │ │ │ │ ├── brace-expansion │ │ │ │ │ ├── 001-it-does-not-expand-braces-1 │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── description │ │ │ │ │ │ ├── stdin │ │ │ │ │ │ └── stdout │ │ │ │ │ └── README.md │ │ │ │ └── bracket-expansion │ │ │ │ │ ├── 001-it-works-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── before_exec │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ │ ├── 002-it-works-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── before_exec │ │ │ │ │ ├── description │ │ │ │ │ ├── stderr │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ │ └── README.md │ │ │ └── variable-expansion │ │ │ │ ├── 001-it-does-not-expand-in-quotes │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ └── simple-quotes │ │ │ ├── 001-it-works │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-concatenated-strings │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-first-argument-inhibited │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 004-multiline-1 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 005-multiline-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── README.md │ │ │ └── mixed │ │ │ ├── README.md │ │ │ ├── escaping │ │ │ ├── 001-escape-simple-quote-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-escape-simple-quote-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-escape-simple-quote-3 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-it-does-not-escape-simple-quote-1 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 005-it-does-not-escape-simple-quote-2 │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ │ ├── globbing │ │ │ ├── README.md │ │ │ ├── brace-expansion │ │ │ │ ├── 001-it-does-not-expand-braces-1 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 002-it-does-not-expand-braces-2 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 003-it-does-not-expand-braces-3 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 004-it-does-not-expand-braces-4 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ ├── 005-it-does-not-expand-braces-5 │ │ │ │ │ ├── README.md │ │ │ │ │ ├── description │ │ │ │ │ ├── stdin │ │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ └── bracket-expansion │ │ │ │ ├── 001-it-works-1 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 002-it-works-2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ │ └── variable-expansion │ │ │ ├── 001-expansion-disabled │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ └── subshell │ │ ├── 001-tokens-are-recognized │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 002-multiple-levels-of-subshells │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 003-multiline │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 004-exit-status │ │ ├── README.md │ │ ├── description │ │ ├── misc │ │ └── stdin │ │ ├── 005-copy-of-environment │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── README.md │ │ ├── errors │ │ ├── 001-parse-error-1 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-parse-error-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-parse-error-3 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 004-parse-error-4 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ │ └── mixed │ │ ├── README.md │ │ ├── builtins │ │ ├── README.md │ │ ├── cd │ │ │ ├── 001-it-does-not-change-current-directory │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-multiline │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ ├── exit │ │ │ ├── 001-exiting-subshell │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ ├── setenv │ │ │ ├── 001-it-does-not-modify-parent-environment │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ └── unsetenv │ │ │ ├── 001-it-does-not-modify-parent-environment │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ │ ├── escaping │ │ ├── 001-escaped-subshell-1 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-escaped-subshell-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ │ ├── inline-environment-variable │ │ ├── 001-modifies-the-child-environment-only-1 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-modifies-the-child-environment-only-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ │ ├── piping │ │ ├── 001-subshells-inside-piped-command │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-pipes-inside-subshells │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-imbricated-subshells-and-pipes │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ │ └── quoting │ │ ├── 001-with-simple-quotes │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 002-with-double-quotes │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ ├── 003-with-simple-and-double-quotes │ │ ├── README.md │ │ ├── description │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ │ └── README.md ├── README.md ├── bonuses │ ├── README.md │ ├── builtins │ │ ├── README.md │ │ └── env │ │ │ ├── 001-unset-variables │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── non-posix │ │ │ ├── pending │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-unset-and-set-variable │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── non-posix │ │ │ ├── pending │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── inline-environment-variable │ │ ├── 001-modifies-child-environment-1 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-modifies-child-environment-2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-modifies-PATH-only │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ ├── redirections │ │ ├── 001-append-twice-outputs-together │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── hard │ │ │ ├── misc │ │ │ ├── non-posix │ │ │ ├── pending │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ ├── separators │ │ ├── README.md │ │ ├── and │ │ │ ├── 001-run-twice │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-do-not-run-second │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-run-until-failing │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── README.md │ │ │ └── errors │ │ │ │ ├── 001-parse-error-at-beginning │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ ├── 002-parse-error-too-much-symbol │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ │ └── README.md │ │ ├── mixed │ │ │ ├── 001-and-or │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-and-or │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 003-and-or │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-or-and │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 005-or-and │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 006-or-and │ │ │ │ ├── README.md │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ └── README.md │ │ └── or │ │ │ ├── 001-run-first-only │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-run-second-only │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 003-run-until-succeeding │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── README.md │ │ │ └── errors │ │ │ ├── 001-parse-error-at-beginning │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-parse-error-too-much-symbol │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ └── tilde-expansion │ │ ├── 001-expanded-with-HOME-1 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 002-expanded-with-HOME-2 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 003-expanded-with-PWD-1 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 004-expanded-with-PWD-2 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 005-expanded-with-OLDPWD-1 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 006-expanded-with-OLDPWD-2 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── README.md │ │ └── not-expanded │ │ ├── 001-not-expanded-with-HOME-1 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 002-not-expanded-with-HOME-2 │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 003-not-expanded-with-PWD │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 004-not-expanded-with-OLDPWD │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ └── README.md └── minishell │ ├── README.md │ ├── binary │ ├── 001-binary-path-relative │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 002-binary-path-absolute │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 003-binary-test-exec-order │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 004-binary-test-empty-path │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 005-binary-test-wrong-path │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 006-binary-undefined-path │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 007-binary-permission-denied │ │ ├── README.md │ │ ├── after_exec │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ ├── 008-binary-too-many-symbolic-links-encountered │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── misc │ │ ├── stderr │ │ ├── stdin │ │ └── stdout │ └── README.md │ ├── builtins │ ├── README.md │ ├── cd │ │ ├── 001-no-arg │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-current-directory │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-current-directory-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 004-parent-directory │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 005-root-path │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 006-root-path-2 │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 007-symbolic-link │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 008-symbolic-link-2 │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 009-following-links │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── hard │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 010-update-OLDPWD │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 011-dotdot │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 012-dot │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 013-absolute-path │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── README.md │ │ ├── errors │ │ │ ├── 001-not-a-directory │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 002-not-a-directory-2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ └── stdin │ │ │ ├── 003-permission-denied │ │ │ │ ├── README.md │ │ │ │ ├── after_exec │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 004-permission-denied-2 │ │ │ │ ├── README.md │ │ │ │ ├── after_exec │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ └── stdin │ │ │ ├── 005-too-many-symbolic-links-encountered │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 006-too-many-symbolic-links-encountered-2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ └── stdin │ │ │ ├── 007-no-such-file-or-directory │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 008-no-such-file-or-directory-2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ └── stdin │ │ │ ├── 009-no-such-file-or-directory-symlink │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── stderr │ │ │ │ ├── stdin │ │ │ │ └── stdout │ │ │ ├── 010-no-such-file-or-directory-symlink-2 │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ └── stdin │ │ │ └── README.md │ │ └── options │ │ │ ├── 001-not-following-links │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-oldpwd │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── env │ │ ├── 001-env-same-value-as-parent │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-env-check-usefull-var │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-ignore-environment │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 005-set-variables │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── README.md │ │ ├── errors │ │ │ ├── 001-command-not-found │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ └── stdin │ │ │ ├── 002-illegal-option │ │ │ │ ├── README.md │ │ │ │ ├── before_exec │ │ │ │ ├── description │ │ │ │ ├── misc │ │ │ │ ├── stderr │ │ │ │ └── stdin │ │ │ └── README.md │ │ └── multiple-options │ │ │ ├── 001-ignore-environment-and-set-variable │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── exit │ │ ├── 001-without-any-argument │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-status-passed-as-argument │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-status-of-last-command │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── README.md │ │ └── errors │ │ │ ├── 001-too-many-args │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ ├── 002-non-numeric-argument │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── misc │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ │ └── README.md │ ├── mixed │ │ ├── 001-setenv-unsetenv │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ ├── setenv │ │ ├── 001-no-argument │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 002-add-new-variable │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 003-set-existing-variable │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 004-invalid-identifier │ │ │ ├── README.md │ │ │ ├── description │ │ │ ├── stderr │ │ │ ├── stdin │ │ │ └── stdout │ │ ├── 005-add-and-set-multiple-variables │ │ │ ├── README.md │ │ │ ├── before_exec │ │ │ ├── description │ │ │ ├── stdin │ │ │ └── stdout │ │ └── README.md │ └── unsetenv │ │ ├── 001-unsetenv-first-elem │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 002-unsetenv-mult-envp │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ ├── 003-unsetenv-mult-envp-inline │ │ ├── README.md │ │ ├── before_exec │ │ ├── description │ │ ├── stdin │ │ └── stdout │ │ └── README.md │ └── misc │ ├── 001-copy-of-environment │ ├── README.md │ ├── before_exec │ ├── description │ ├── stdin │ └── stdout │ └── README.md ├── support ├── Makefile ├── display-env │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── display-program-name │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── display-pwd │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── exit-with-status │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── read-on-stdin │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── sleep-and-exit-with-status │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── sleep-and-write-on-stderr │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── write-all-arguments-on-stdout │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── write-on-stderr │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c ├── write-on-stdout-and-stderr │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c └── write-on-stdout │ ├── Makefile │ ├── README.md │ ├── description │ └── main.c └── tasks └── generate_readmes.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | tmp/ 3 | .mshell_hist 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /42ShellTester.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/42ShellTester.sh -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/README.md -------------------------------------------------------------------------------- /lib/assert.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assert.sh -------------------------------------------------------------------------------- /lib/assets/42ShellTester.ascii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42ShellTester.ascii -------------------------------------------------------------------------------- /lib/assets/42ShellTester.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42ShellTester.png -------------------------------------------------------------------------------- /lib/assets/42ShellTester_250x250.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42ShellTester_250x250.png -------------------------------------------------------------------------------- /lib/assets/42ShellTester_416x416.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42ShellTester_416x416.png -------------------------------------------------------------------------------- /lib/assets/42ShellTester_cropped.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42ShellTester_cropped.png -------------------------------------------------------------------------------- /lib/assets/42shTestsTeamLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42shTestsTeamLogo.png -------------------------------------------------------------------------------- /lib/assets/42shTestsTeamLogo_sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/42shTestsTeamLogo_sm.png -------------------------------------------------------------------------------- /lib/assets/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/README.md -------------------------------------------------------------------------------- /lib/assets/hard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/hard.png -------------------------------------------------------------------------------- /lib/assets/non-posix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/non-posix.png -------------------------------------------------------------------------------- /lib/assets/pending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/assets/pending.png -------------------------------------------------------------------------------- /lib/main.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/main.sh -------------------------------------------------------------------------------- /lib/verbs/be_empty.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/verbs/be_empty.sh -------------------------------------------------------------------------------- /lib/verbs/create_file.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/verbs/create_file.sh -------------------------------------------------------------------------------- /lib/verbs/exit_with_status.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/verbs/exit_with_status.sh -------------------------------------------------------------------------------- /lib/verbs/have_nb_of_lines.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/verbs/have_nb_of_lines.sh -------------------------------------------------------------------------------- /lib/verbs/match_each_regex_of_file.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/verbs/match_each_regex_of_file.sh -------------------------------------------------------------------------------- /lib/verbs/match_regex.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/lib/verbs/match_regex.sh -------------------------------------------------------------------------------- /spec/21sh/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/README.md -------------------------------------------------------------------------------- /spec/21sh/misc/001-no-prompt-in-non-interactive-mode/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/misc/001-no-prompt-in-non-interactive-mode/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/21sh/misc/002-simple-command-line/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/misc/002-simple-command-line/README.md -------------------------------------------------------------------------------- /spec/21sh/misc/002-simple-command-line/before_exec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/misc/002-simple-command-line/before_exec -------------------------------------------------------------------------------- /spec/21sh/misc/002-simple-command-line/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/misc/002-simple-command-line/description -------------------------------------------------------------------------------- /spec/21sh/misc/002-simple-command-line/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/misc/002-simple-command-line/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/misc/002-simple-command-line/stdin -------------------------------------------------------------------------------- /spec/21sh/misc/002-simple-command-line/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/misc/002-simple-command-line/stdout -------------------------------------------------------------------------------- /spec/21sh/misc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/misc/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/001-single-pipe/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/001-single-pipe/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/001-single-pipe/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/001-single-pipe/description -------------------------------------------------------------------------------- /spec/21sh/pipe/001-single-pipe/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/001-single-pipe/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/001-single-pipe/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/001-single-pipe/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stdout@$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/002-chained-pipes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/002-chained-pipes/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/002-chained-pipes/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/002-chained-pipes/description -------------------------------------------------------------------------------- /spec/21sh/pipe/002-chained-pipes/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/002-chained-pipes/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/002-chained-pipes/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/002-chained-pipes/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stdout@@$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/003-many-chained-pipes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/003-many-chained-pipes/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/003-many-chained-pipes/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/003-many-chained-pipes/description -------------------------------------------------------------------------------- /spec/21sh/pipe/003-many-chained-pipes/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/003-many-chained-pipes/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/003-many-chained-pipes/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/003-many-chained-pipes/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/003-many-chained-pipes/stdout -------------------------------------------------------------------------------- /spec/21sh/pipe/004-without-surrounding-whitespaces/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/004-without-surrounding-whitespaces/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}@$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/005-asynchronous/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/005-asynchronous/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/005-asynchronous/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/005-asynchronous/description -------------------------------------------------------------------------------- /spec/21sh/pipe/005-asynchronous/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/005-asynchronous/stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/005-asynchronous/stderr -------------------------------------------------------------------------------- /spec/21sh/pipe/005-asynchronous/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/005-asynchronous/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/005-asynchronous/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/006-exit-status/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/006-exit-status/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/006-exit-status/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/006-exit-status/description -------------------------------------------------------------------------------- /spec/21sh/pipe/006-exit-status/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "42" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/006-exit-status/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/006-exit-status/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/006-exit-status/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/001-exit-or-not-exit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/001-exit-or-not-exit/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/001-exit-or-not-exit/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/001-exit-or-not-exit/description -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/001-exit-or-not-exit/hard: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/001-exit-or-not-exit/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/001-exit-or-not-exit/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/001-exit-or-not-exit/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/001-exit-or-not-exit/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/001-exit-or-not-exit/stdout -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/002-cd-or-not-cd/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/002-cd-or-not-cd/README.md -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/002-cd-or-not-cd/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/002-cd-or-not-cd/description -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/002-cd-or-not-cd/hard: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/002-cd-or-not-cd/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/002-cd-or-not-cd/stdin: -------------------------------------------------------------------------------- 1 | cd / | ./display_pwd 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/002-cd-or-not-cd/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/003-unsetenv-or-not-unsetenv/before_exec: -------------------------------------------------------------------------------- 1 | export VARIABLE_TEST="${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/003-unsetenv-or-not-unsetenv/hard: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/003-unsetenv-or-not-unsetenv/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "VARIABLE_TEST=${GLOBAL_TOKEN}$" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/004-setenv-or-not-setenv/before_exec: -------------------------------------------------------------------------------- 1 | unset VARIABLE_TEST 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/004-setenv-or-not-setenv/hard: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/004-setenv-or-not-setenv/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/004-setenv-or-not-setenv/stdin -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/004-setenv-or-not-setenv/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "VARIABLE_TEST=" 2 | -------------------------------------------------------------------------------- /spec/21sh/pipe/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/pipe/mixed/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/001-close-stdin/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "1" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/001-close-stdin/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "STDIN READ ERROR$" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/001-close-stdin/stdin: -------------------------------------------------------------------------------- 1 | ./read_on_stdin <&- 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/001-close-stdin/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/002-filename/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/inputs/002-filename/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/002-filename/before_exec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/inputs/002-filename/before_exec -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/002-filename/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/inputs/002-filename/description -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/002-filename/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/002-filename/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/inputs/002-filename/stdin: -------------------------------------------------------------------------------- 1 | ./read_on_stdin append_file_default 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/001-append-default-to-file/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/001-append-default-to-file/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_default" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/002-append-stdout-to-file/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/002-append-stdout-to-file/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/003-append-stderr-to-file/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/003-append-stderr-to-file/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/outputs/appending/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/multiple/001-append-twice-separately/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stderr_second" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/appending/multiple/001-append-twice-separately/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stdout_second" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/001-close-default-output/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/001-close-default-output/misc: -------------------------------------------------------------------------------- 1 | expected_to_not create_file "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/001-close-default-output/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/001-close-default-output/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/002-close-stdout/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/002-close-stdout/misc: -------------------------------------------------------------------------------- 1 | expected_to_not create_file "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/002-close-stdout/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/002-close-stdout/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/003-close-stderr/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/003-close-stderr/misc: -------------------------------------------------------------------------------- 1 | expected_to_not create_file "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/003-close-stderr/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/003-close-stderr/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/004-close-twice-outputs/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/004-close-twice-outputs/misc: -------------------------------------------------------------------------------- 1 | expected_to_not create_file "-" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/004-close-twice-outputs/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/004-close-twice-outputs/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/closing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/outputs/closing/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/touching/001-works/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "./new_empty_file" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/touching/001-works/misc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/outputs/touching/001-works/misc -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/touching/001-works/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/touching/001-works/stdin: -------------------------------------------------------------------------------- 1 | >new_empty_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/touching/001-works/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/touching/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/outputs/touching/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/001-creates-file-if-not-exits/before_exec: -------------------------------------------------------------------------------- 1 | rm -f new_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/001-creates-file-if-not-exits/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/001-creates-file-if-not-exits/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ${GLOBAL_TOKEN} >new_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/001-creates-file-if-not-exits/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/002-truncates-file-if-exists/before_exec: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ${GLOBAL_TOKEN}_first >truncated_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/002-truncates-file-if-exists/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/002-truncates-file-if-exists/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ${GLOBAL_TOKEN}_second >truncated_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/002-truncates-file-if-exists/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex ${GLOBAL_TOKEN}_second 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/003-whitespace-before-filename/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "new_file" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/003-whitespace-before-filename/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/003-whitespace-before-filename/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ${GLOBAL_TOKEN} > new_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/003-whitespace-before-filename/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/redirections/outputs/truncating/README.md -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/stderr/001-works/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "./new_file_stderr" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/stderr/001-works/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_STDERR" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/stderr/001-works/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_STDOUT" 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/stdout/001-with-explicit-fd/before_exec: -------------------------------------------------------------------------------- 1 | rm -f new_file -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/stdout/001-with-explicit-fd/stdin: -------------------------------------------------------------------------------- 1 | /bin/echo TOKEN1 1>new_file 2 | -------------------------------------------------------------------------------- /spec/21sh/redirections/outputs/truncating/stdout/001-with-explicit-fd/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex TOKEN1 2 | -------------------------------------------------------------------------------- /spec/21sh/separators/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/separators/README.md -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/001-two-commands-sequentially/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/002-n-commands-sequentially/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/003-parse-error-empty-inline-command/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/003-parse-error-empty-inline-command/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/004-parse-error-empty-command/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Pp]arse|[Ss]yntax) error" 3 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/004-parse-error-empty-command/stdin: -------------------------------------------------------------------------------- 1 | ; 2 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/004-parse-error-empty-command/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/21sh/separators/semicolon/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/21sh/separators/semicolon/README.md -------------------------------------------------------------------------------- /spec/42sh/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/README.md -------------------------------------------------------------------------------- /spec/42sh/builtins/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/README.md -------------------------------------------------------------------------------- /spec/42sh/builtins/export/001-display-env/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/001-display-env/README.md -------------------------------------------------------------------------------- /spec/42sh/builtins/export/001-display-env/before_exec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/001-display-env/before_exec -------------------------------------------------------------------------------- /spec/42sh/builtins/export/001-display-env/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/001-display-env/description -------------------------------------------------------------------------------- /spec/42sh/builtins/export/001-display-env/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/001-display-env/stdin: -------------------------------------------------------------------------------- 1 | export 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/001-display-env/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/001-display-env/stdout -------------------------------------------------------------------------------- /spec/42sh/builtins/export/002-export-basic-key-value-1/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/002-export-basic-key-value-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/003-export-basic-key-value-2/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/003-export-basic-key-value-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/004-export-empty-variable-1/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/004-export-empty-variable-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/004-export-empty-variable-1/stdin: -------------------------------------------------------------------------------- 1 | export ${GLOBAL_TOKEN} 2 | ./display_env 3 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/004-export-empty-variable-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/005-export-empty-variable-2/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/005-export-empty-variable-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/005-export-empty-variable-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/006-export-update-env-variable/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/006-export-update-env-variable/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/007-existing-environment-variable/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/008-local-to-environment/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/009-export-with-equal-but-no-value-part1/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}" -------------------------------------------------------------------------------- /spec/42sh/builtins/export/009-export-with-equal-but-no-value-part1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/009-export-with-equal-but-no-value-part1/stdin: -------------------------------------------------------------------------------- 1 | export ${GLOBAL_TOKEN}_NAME= 2 | ./display_env 3 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/009-export-with-equal-but-no-value-part1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}_NAME=" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/010-export-with-equal-but-no-value-part2/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}" -------------------------------------------------------------------------------- /spec/42sh/builtins/export/010-export-with-equal-but-no-value-part2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/010-export-with-equal-but-no-value-part2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_NAME=" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/README.md -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/001-invalid-identifier-1/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/001-invalid-identifier-1/stdin: -------------------------------------------------------------------------------- 1 | export 42=${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/001-invalid-identifier-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/002-invalid-identifier-2/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/002-invalid-identifier-2/stdin: -------------------------------------------------------------------------------- 1 | export .=${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/002-invalid-identifier-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/003-illegal-option/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/003-illegal-option/stdin: -------------------------------------------------------------------------------- 1 | export -w 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/errors/README.md -------------------------------------------------------------------------------- /spec/42sh/builtins/export/mixed/001-export-and-tmp-env-part1/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/mixed/001-export-and-tmp-env-part1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/mixed/002-export-and-tmp-env-part2/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/mixed/002-export-and-tmp-env-part2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/001-export-with-only-p-parameter/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/001-export-with-only-p-parameter/stdin: -------------------------------------------------------------------------------- 1 | export -p 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/002-export-p-param-and-token-should-add-local-var-only-part1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/003-export-p-param-and-token-should-add-local-var-only-part2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/003-export-p-param-and-token-should-add-local-var-only-part2/stdin: -------------------------------------------------------------------------------- 1 | export -p ${GLOBAL_TOKEN}_NAME 2 | ./display_env 3 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/004-export-n-param/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/004-export-n-param/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/builtins/export/options/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/builtins/export/options/README.md -------------------------------------------------------------------------------- /spec/42sh/escaping/001-escape-single-character-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/001-escape-single-character-1/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/001-escape-single-character-1/stdin -------------------------------------------------------------------------------- /spec/42sh/escaping/002-escape-single-character-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/002-escape-single-character-2/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/002-escape-single-character-2/stdin -------------------------------------------------------------------------------- /spec/42sh/escaping/003-escape-single-character-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/003-escape-single-character-3/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/003-escape-single-character-3/stdin -------------------------------------------------------------------------------- /spec/42sh/escaping/004-escape-single-character-4/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/004-escape-single-character-4/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/004-escape-single-character-4/stdin -------------------------------------------------------------------------------- /spec/42sh/escaping/005-escape-single-character-5/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/005-escape-single-character-5/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/005-escape-single-character-5/stdin -------------------------------------------------------------------------------- /spec/42sh/escaping/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/README.md -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/mixed/globbing/README.md -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/brace-expansion/002-it-expands-braces-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/brace-expansion/002-it-expands-braces-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout \\{1..2} 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/brace-expansion/002-it-expands-braces-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^\\1@\\2@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/brace-expansion/003-it-expands-braces-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/bracket-expansion/001-it-does-not-expand-brackets/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/bracket-expansion/002-escaped-inversion-mark/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/globbing/bracket-expansion/003-it-takes-escaped-bracket-as-pattern-character/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/001-escape-variable-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/001-escape-variable-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout \$${GLOBAL_TOKEN}_NAME 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/002-it-does-not-escape-variable/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/002-it-does-not-escape-variable/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout \\$${GLOBAL_TOKEN}_NAME 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/003-escape-variable-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/003-escape-variable-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout \\\$${GLOBAL_TOKEN}_NAME 2 | -------------------------------------------------------------------------------- /spec/42sh/escaping/mixed/variable-expansion/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/escaping/mixed/variable-expansion/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/globbing/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/globbing/brace-expansion/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/001-simple-ascending-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/001-simple-ascending-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {a..e} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/001-simple-ascending-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^a@b@c@d@e@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/002-simple-ascending-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/003-simple-ascending-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/003-simple-ascending-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {A..E} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/003-simple-ascending-3/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^A@B@C@D@E@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/004-simple-descending-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/004-simple-descending-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {E..A} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/004-simple-descending-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^E@D@C@B@A@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/005-simple-descending-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/006-simple-descending-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/006-simple-descending-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout ${GLOBAL_TOKEN}{e..a} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/007-identical-start-and-end/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/007-identical-start-and-end/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {f..f} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/007-identical-start-and-end/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^f@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/008-multiple-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/008-multiple-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {a..b}{c..d}{e..f} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/009-multiple-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/009-multiple-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout ${GLOBAL_TOKEN}{a..b}abc{Z..X}def{s..s} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/010-big-range/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/ascii-range/010-big-range/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {A..z} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/001-invalid-pattern-1/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/001-invalid-pattern-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/001-invalid-pattern-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout {A} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/001-invalid-pattern-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^{A}$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/002-invalid-pattern-2/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/002-invalid-pattern-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/002-invalid-pattern-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout {B..} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/002-invalid-pattern-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^{B..}$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/003-invalid-pattern-3/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/003-invalid-pattern-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/003-invalid-pattern-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout {..C} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/003-invalid-pattern-3/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^{..C}$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/004-invalid-pattern-4/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/004-invalid-pattern-4/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/004-invalid-pattern-4/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout {Q..C..1} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/004-invalid-pattern-4/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^{Q..C..1}$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/globbing/brace-expansion/errors/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/list-of-values/001-nothing-to-be-done/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/list-of-values/001-nothing-to-be-done/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout {${GLOBAL_TOKEN}} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/list-of-values/001-nothing-to-be-done/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "{${GLOBAL_TOKEN}}" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/list-of-values/002-simple-test-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/list-of-values/003-simple-test-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/001-simple-ascending-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/001-simple-ascending-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {1..5} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/001-simple-ascending-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^1@2@3@4@5@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/002-simple-ascending-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/003-simple-ascending-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/003-simple-ascending-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout ${GLOBAL_TOKEN}{1..+5} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/004-simple-ascending-4/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/004-simple-ascending-4/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {-5..0}${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/005-simple-ascending-5/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/005-simple-ascending-5/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {-100..-98}${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/006-simple-descending-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/006-simple-descending-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {5..1} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/006-simple-descending-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^5@4@3@2@1@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/007-simple-descending-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/008-simple-descending-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/008-simple-descending-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout ${GLOBAL_TOKEN}{5..+1} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/009-simple-descending-4/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/009-simple-descending-4/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {0..-5}${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/010-simple-descending-5/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/010-simple-descending-5/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {-98..-100}${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/011-identical-positive-start-and-end/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/011-identical-positive-start-and-end/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {42..42} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/011-identical-positive-start-and-end/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^42@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/012-identical-negative-start-and-end/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/012-identical-negative-start-and-end/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {-42..-42} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/012-identical-negative-start-and-end/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^-42@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/013-multiple-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/013-multiple-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {1..2}{3..4}{5..6} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/014-multiple-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/014-multiple-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout ${GLOBAL_TOKEN}{1..2}abc{-50..-53}def{0..0} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/015-big-range/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/brace-expansion/numeric-range/015-big-range/stdin: -------------------------------------------------------------------------------- 1 | ./write_all_arguments_on_stdout {-100..100} 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/globbing/bracket-expansion/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/001-range-and-char/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/001-range-and-char/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [a-z-2] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/002-reverse-range-and-chars/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/003-reverse-multi-hard/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/004-simple-bracket+char+range/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/004-simple-bracket+char+range/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [aZ]-[1-9] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/multi/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/globbing/bracket-expansion/multi/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/not/001-simple-opposit-match/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/not/002-simple-opposite-range/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/not/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/globbing/bracket-expansion/not/README.md -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/001-alpha-range/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/001-alpha-range/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [a-z] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/002-numeric-range/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/002-numeric-range/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [0-9] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/003-ascii-range-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/003-ascii-range-1/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout []-z] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/004-ascii-range-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/range-pattern/004-ascii-range-2/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [1-z] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/001-simple-list/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/001-simple-list/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [bca] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/002-multi-bracket/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/003-brackets-as-pattern/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/003-brackets-as-pattern/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [][] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/004-multi-bracket-multi-char/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/simple-pattern/004-multi-bracket-multi-char/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [12][34] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/single-char-pattern/001-single-char/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/single-char-pattern/001-single-char/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [a] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/single-char-pattern/002-closing-bracket-char/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/single-char-pattern/002-closing-bracket-char/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout []] 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/single-char-pattern/003-opening-bracket-char/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/globbing/bracket-expansion/single-char-pattern/003-opening-bracket-char/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [[] 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/001-declare-and-expand-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}_VALUE$" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/001-declare-and-expand-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}_VALUE$" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/002-declare-and-expand-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "write on stderr" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/002-declare-and-expand-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "write on stdout" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/003-unknown-variable-does-not-result-in-new-argument/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_UNKNOWN" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/003-unknown-variable-does-not-result-in-new-argument/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/003-unknown-variable-does-not-result-in-new-argument/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_DISPLAYED" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/004-existing-variable-in-environment-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/local-variable/005-existing-variable-in-environment-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/local-variable/005-existing-variable-in-environment-2/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TOKEN}_NAME= 2 | ./display_env 3 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/006-existing-variable-in-environment-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/local-variable/006-existing-variable-in-environment-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout $${GLOBAL_TOKEN}_NAME 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/006-existing-variable-in-environment-3/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}_VALUE$" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/008-multiple-declaration-with-same-name/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/009-last-exit-status/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^42$" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/009-last-exit-status/stdin: -------------------------------------------------------------------------------- 1 | ./exit_with_status 42 2 | ./write_on_stderr $? 3 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/009-last-exit-status/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/local-variable/README.md -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/local-variable/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/001-truncating/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "${GLOBAL_TOKEN}_FILENAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/001-truncating/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/001-truncating/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/002-appending/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "${GLOBAL_TOKEN}_FILENAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/002-appending/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/002-appending/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/003-reading/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/003-reading/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}_VALUE@$" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/redirections/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/local-variable/mixed/redirections/README.md -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/tilde-expansion/001-process-tilde-expansion/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/local-variable/mixed/tilde-expansion/001-process-tilde-expansion/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/001-it-works/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/001-it-works/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/001-it-works/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/001-it-works/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout "SIMPLE TEXT WITH SPACES" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/001-it-works/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "SIMPLE TEXT WITH SPACES" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/002-concatenated-strings/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PQRSTUVWXYZ" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/002-concatenated-strings/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "ABCDEFGHIJKLMNO" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/003-first-argument-inhibited/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_STDERR" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/003-first-argument-inhibited/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_STDOUT" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/004-multiline-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/004-multiline-1/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/004-multiline-1/stdin -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/004-multiline-1/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/004-multiline-1/stdout -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/005-multiline-2/stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/005-multiline-2/stderr -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/005-multiline-2/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/005-multiline-2/stdin -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/005-multiline-2/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/005-multiline-2/stdout -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/double-quotes/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/001-escape-double-quote-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/002-escape-double-quote-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/003-escape-double-quote-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/003-escape-double-quote-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout "\"" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/003-escape-double-quote-3/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^\"$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/004-it-results-in-error/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/004-it-results-in-error/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout "${GLOBAL_TOKEN}\" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/004-it-results-in-error/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "^${GLOBAL_TOKEN}$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/005-it-does-not-escape-double-quote/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/005-it-does-not-escape-double-quote/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout \\"${GLOBAL_TOKEN}\\" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/escaping/005-it-does-not-escape-double-quote/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^\\${GLOBAL_TOKEN}\\$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout "{1..2}" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "[{]1..2}" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/001-it-works-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/001-it-works-1/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout ["a"] 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/002-it-works-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/globbing/bracket-expansion/002-it-works-2/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout ["a"bc"def"gh] 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/variable-expansion/001-expansion-enabled/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/variable-expansion/001-expansion-enabled/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout "$TOKEN" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/double-quotes/mixed/variable-expansion/001-expansion-enabled/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/001-simple-and-double-quotes/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "QRS'T'U''VWX\"YZ" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/001-simple-and-double-quotes/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "ABCD'EFGHIJ\"KL\"MNOP" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/002-multiline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/002-multiline/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/002-multiline/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/002-multiline/description -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/002-multiline/stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/002-multiline/stderr -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/002-multiline/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/002-multiline/stdin -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/002-multiline/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/002-multiline/stdout -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/globbing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/globbing/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/globbing/bracket-expansion/001-it-works-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/globbing/bracket-expansion/001-it-works-1/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout [""'a'""] 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/globbing/bracket-expansion/002-it-works-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/globbing/bracket-expansion/002-it-works-2/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout ["a"bc'def'gh] 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/variable-expansion/001-it-does-not-expand-in-quotes/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/quoting/mixed/variable-expansion/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/mixed/variable-expansion/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/001-it-works/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/001-it-works/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/001-it-works/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/001-it-works/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout 'SIMPLE TEXT WITH SPACES' 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/001-it-works/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "SIMPLE TEXT WITH SPACES" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/002-concatenated-strings/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PQRSTUVWXYZ" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/002-concatenated-strings/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "ABCDEFGHIJKLMNO" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/003-first-argument-inhibited/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_STDERR" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/003-first-argument-inhibited/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_STDOUT" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/004-multiline-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/004-multiline-1/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/004-multiline-1/stdin -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/004-multiline-1/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/004-multiline-1/stdout -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/005-multiline-2/stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/005-multiline-2/stderr -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/005-multiline-2/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/005-multiline-2/stdin -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/005-multiline-2/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/005-multiline-2/stdout -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/quoting/simple-quotes/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/001-escape-simple-quote-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/002-escape-simple-quote-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}_STDERR'$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/002-escape-simple-quote-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^'${GLOBAL_TOKEN}_STDOUT$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/003-escape-simple-quote-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/003-escape-simple-quote-3/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout '\' 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/003-escape-simple-quote-3/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^\\$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/004-it-does-not-escape-simple-quote-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "^${GLOBAL_TOKEN}_STDERR\$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/004-it-does-not-escape-simple-quote-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "^${GLOBAL_TOKEN}_STDOUT\$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/005-it-does-not-escape-simple-quote-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/005-it-does-not-escape-simple-quote-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout \\'${GLOBAL_TOKEN}\\' 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/escaping/005-it-does-not-escape-simple-quote-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^\\${GLOBAL_TOKEN}\\\\$" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout '{1..2}' 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/globbing/brace-expansion/001-it-does-not-expand-braces-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "[{]1..2}" 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/001-it-works-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/001-it-works-1/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout ['a'] 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/002-it-works-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/globbing/bracket-expansion/002-it-works-2/stdin: -------------------------------------------------------------------------------- 1 | ${GLOBAL_TMP_DIRECTORY}/write_all_arguments_on_stdout ['a'bc'def'gh] 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/variable-expansion/001-expansion-disabled/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/variable-expansion/001-expansion-disabled/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout '[$]${GLOBAL_TOKEN}_NAME' 2 | -------------------------------------------------------------------------------- /spec/42sh/quoting/simple-quotes/mixed/variable-expansion/001-expansion-disabled/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/001-tokens-are-recognized/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/001-tokens-are-recognized/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/001-tokens-are-recognized/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/001-tokens-are-recognized/stdin: -------------------------------------------------------------------------------- 1 | (./write_on_stdout ${GLOBAL_TOKEN}) 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/001-tokens-are-recognized/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/002-multiple-levels-of-subshells/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/002-multiple-levels-of-subshells/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/003-multiline/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/003-multiline/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/003-multiline/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/003-multiline/description -------------------------------------------------------------------------------- /spec/42sh/subshell/003-multiline/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/003-multiline/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/003-multiline/stdin -------------------------------------------------------------------------------- /spec/42sh/subshell/003-multiline/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/003-multiline/stdout -------------------------------------------------------------------------------- /spec/42sh/subshell/004-exit-status/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/004-exit-status/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/004-exit-status/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/004-exit-status/description -------------------------------------------------------------------------------- /spec/42sh/subshell/004-exit-status/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status 42 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/004-exit-status/stdin: -------------------------------------------------------------------------------- 1 | (./exit_with_status 42) 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/005-copy-of-environment/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/005-copy-of-environment/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/005-copy-of-environment/before_exec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/005-copy-of-environment/before_exec -------------------------------------------------------------------------------- /spec/42sh/subshell/005-copy-of-environment/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/005-copy-of-environment/description -------------------------------------------------------------------------------- /spec/42sh/subshell/005-copy-of-environment/stdin: -------------------------------------------------------------------------------- 1 | (./display_env) 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/005-copy-of-environment/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/005-copy-of-environment/stdout -------------------------------------------------------------------------------- /spec/42sh/subshell/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/001-parse-error-1/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/001-parse-error-1/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/001-parse-error-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/001-parse-error-1/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/001-parse-error-1/stdin -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/001-parse-error-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "write_on_stdout" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/002-parse-error-2/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/002-parse-error-2/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/002-parse-error-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/002-parse-error-2/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/002-parse-error-2/stdin -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/002-parse-error-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "write_on_stdout" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/003-parse-error-3/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/003-parse-error-3/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/003-parse-error-3/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/003-parse-error-3/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/003-parse-error-3/stdin -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/003-parse-error-3/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "write_on_stdout" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/004-parse-error-4/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/004-parse-error-4/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/004-parse-error-4/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/004-parse-error-4/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/004-parse-error-4/stdin -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/004-parse-error-4/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "write_on_stdout" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/errors/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/builtins/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/cd/001-it-does-not-change-current-directory/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/cd/001-it-does-not-change-current-directory/stdin: -------------------------------------------------------------------------------- 1 | (cd /) 2 | ./display_pwd 3 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/cd/001-it-does-not-change-current-directory/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TMP_DIRECTORY}" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/cd/002-multiline/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/cd/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/builtins/cd/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/exit/001-exiting-subshell/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/exit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/builtins/exit/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/setenv/001-it-does-not-modify-parent-environment/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_NAME" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/setenv/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/builtins/setenv/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/builtins/unsetenv/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/builtins/unsetenv/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/escaping/001-escaped-subshell-1/stdin: -------------------------------------------------------------------------------- 1 | \(./write_on_stdout ${GLOBAL_TOKEN}_STDOUT\) 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/escaping/001-escaped-subshell-1/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_STDOUT" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/escaping/002-escaped-subshell-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/escaping/002-escaped-subshell-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout \\\(${GLOBAL_TOKEN}_STDOUT\\\) 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/escaping/002-escaped-subshell-2/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "\(${GLOBAL_TOKEN}_STDOUT\)" 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/escaping/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/escaping/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/inline-environment-variable/001-modifies-the-child-environment-only-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/inline-environment-variable/002-modifies-the-child-environment-only-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/piping/001-subshells-inside-piped-command/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/piping/002-pipes-inside-subshells/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/piping/003-imbricated-subshells-and-pipes/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/piping/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/piping/README.md -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/quoting/001-with-simple-quotes/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/quoting/002-with-double-quotes/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/quoting/003-with-simple-and-double-quotes/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/42sh/subshell/mixed/quoting/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/42sh/subshell/mixed/quoting/README.md -------------------------------------------------------------------------------- /spec/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/README.md -------------------------------------------------------------------------------- /spec/bonuses/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/README.md -------------------------------------------------------------------------------- /spec/bonuses/builtins/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/builtins/README.md -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/001-unset-variables/before_exec: -------------------------------------------------------------------------------- 1 | export TESTVARIABLE="${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/001-unset-variables/non-posix: -------------------------------------------------------------------------------- 1 | `env -u` is not registered in the POSIX standard. 2 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/001-unset-variables/pending: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/001-unset-variables/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/001-unset-variables/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/builtins/env/001-unset-variables/stdin -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/001-unset-variables/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/builtins/env/001-unset-variables/stdout -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/002-unset-and-set-variable/non-posix: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/002-unset-and-set-variable/pending: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/002-unset-and-set-variable/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/002-unset-and-set-variable/stdin: -------------------------------------------------------------------------------- 1 | env -u HOME TESTVARIABLE=${GLOBAL_TOKEN} ./display_env 2 | -------------------------------------------------------------------------------- /spec/bonuses/builtins/env/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/builtins/env/README.md -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/001-modifies-child-environment-1/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_VARIABLE" 2 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/001-modifies-child-environment-1/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/002-modifies-child-environment-2/before_exec: -------------------------------------------------------------------------------- 1 | unset "${GLOBAL_TOKEN}_VARIABLE" 2 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/002-modifies-child-environment-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/003-modifies-PATH-only/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "[Cc]ommand not found" 3 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/003-modifies-PATH-only/stdin: -------------------------------------------------------------------------------- 1 | PATH=.. write_on_stdout ${GLOBAL_TOKEN} 2 | exit_with_status 42 3 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/003-modifies-PATH-only/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "^${GLOBAL_TOKEN}$" 2 | -------------------------------------------------------------------------------- /spec/bonuses/inline-environment-variable/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/inline-environment-variable/README.md -------------------------------------------------------------------------------- /spec/bonuses/redirections/001-append-twice-outputs-together/hard: -------------------------------------------------------------------------------- 1 | This test only succeed with the reference ZSH. 2 | -------------------------------------------------------------------------------- /spec/bonuses/redirections/001-append-twice-outputs-together/pending: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/bonuses/redirections/001-append-twice-outputs-together/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stderr" 2 | -------------------------------------------------------------------------------- /spec/bonuses/redirections/001-append-twice-outputs-together/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}_stdout" 2 | -------------------------------------------------------------------------------- /spec/bonuses/redirections/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/redirections/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/and/001-run-twice/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/and/001-run-twice/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/and/001-run-twice/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/and/001-run-twice/description -------------------------------------------------------------------------------- /spec/bonuses/separators/and/001-run-twice/stderr: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/001-run-twice/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/and/001-run-twice/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/and/001-run-twice/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/and/001-run-twice/stdout -------------------------------------------------------------------------------- /spec/bonuses/separators/and/002-do-not-run-second/misc: -------------------------------------------------------------------------------- 1 | might exit_with_status "42" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/002-do-not-run-second/stderr: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/002-do-not-run-second/stdin: -------------------------------------------------------------------------------- 1 | ./exit_with_status 42 && ./write_on_stdout ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/002-do-not-run-second/stdout: -------------------------------------------------------------------------------- 1 | might_not match_regex ${GLOBAL_TOKEN} 2 | might be_empty 3 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/003-run-until-failing/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "42" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/003-run-until-failing/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/and/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/001-parse-error-at-beginning/misc: -------------------------------------------------------------------------------- 1 | might_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/001-parse-error-at-beginning/stderr: -------------------------------------------------------------------------------- 1 | might_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/001-parse-error-at-beginning/stdin: -------------------------------------------------------------------------------- 1 | && ./write_on_stdout ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/001-parse-error-at-beginning/stdout: -------------------------------------------------------------------------------- 1 | might_not match_regex "${GLOBAL_TOKEN}" 2 | might be_empty 3 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/002-parse-error-too-much-symbol/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/002-parse-error-too-much-symbol/stderr: -------------------------------------------------------------------------------- 1 | might_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/002-parse-error-too-much-symbol/stdout: -------------------------------------------------------------------------------- 1 | might_not match_regex "${GLOBAL_TOKEN}" 2 | might be_empty 3 | -------------------------------------------------------------------------------- /spec/bonuses/separators/and/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/and/errors/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/001-and-or/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/001-and-or/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/001-and-or/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/001-and-or/description -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/001-and-or/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/001-and-or/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/001-and-or/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/001-and-or/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/001-and-or/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_SUCCESS" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/002-and-or/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/002-and-or/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/002-and-or/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/002-and-or/description -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/002-and-or/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/002-and-or/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_ERROR" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/002-and-or/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/002-and-or/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/002-and-or/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_SUCCESS" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/003-and-or/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/003-and-or/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/003-and-or/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/003-and-or/description -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/003-and-or/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/003-and-or/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/003-and-or/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/003-and-or/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/003-and-or/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_SUCCESS" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/004-or-and/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/004-or-and/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/004-or-and/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/004-or-and/description -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/004-or-and/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "21" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/004-or-and/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_ERROR" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/004-or-and/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/004-or-and/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/004-or-and/stdout: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/005-or-and/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/005-or-and/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/005-or-and/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/005-or-and/description -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/005-or-and/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "21" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/005-or-and/stderr: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_ERROR" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/005-or-and/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/005-or-and/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/005-or-and/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_SUCCESS" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/006-or-and/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/006-or-and/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/006-or-and/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/006-or-and/description -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/006-or-and/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/006-or-and/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/006-or-and/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/006-or-and/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/006-or-and/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_SUCCESS" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/mixed/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/or/001-run-first-only/stderr: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/001-run-first-only/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/or/001-run-first-only/stdin -------------------------------------------------------------------------------- /spec/bonuses/separators/or/001-run-first-only/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/or/001-run-first-only/stdout -------------------------------------------------------------------------------- /spec/bonuses/separators/or/002-run-second-only/misc: -------------------------------------------------------------------------------- 1 | might exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/002-run-second-only/stderr: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/002-run-second-only/stdin: -------------------------------------------------------------------------------- 1 | ./exit_with_status 42 || ./write_on_stdout ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/002-run-second-only/stdout: -------------------------------------------------------------------------------- 1 | might match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/003-run-until-succeeding/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/003-run-until-succeeding/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/or/README.md -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/001-parse-error-at-beginning/misc: -------------------------------------------------------------------------------- 1 | might_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/001-parse-error-at-beginning/stderr: -------------------------------------------------------------------------------- 1 | might_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/001-parse-error-at-beginning/stdin: -------------------------------------------------------------------------------- 1 | || ./write_on_stdout ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/001-parse-error-at-beginning/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/002-parse-error-too-much-symbol/misc: -------------------------------------------------------------------------------- 1 | might_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/002-parse-error-too-much-symbol/stderr: -------------------------------------------------------------------------------- 1 | might_not be_empty 2 | might match_regex "([Ss]yntax|[Pp]arse) error" 3 | 4 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/002-parse-error-too-much-symbol/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/bonuses/separators/or/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/separators/or/errors/README.md -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/001-expanded-with-HOME-1/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/001-expanded-with-HOME-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~ 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/002-expanded-with-HOME-2/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/002-expanded-with-HOME-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~/${GLOBAL_TOKEN}_SUBDIRECTORY 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/003-expanded-with-PWD-1/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/003-expanded-with-PWD-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~+ 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/004-expanded-with-PWD-2/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/004-expanded-with-PWD-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~+/${GLOBAL_TOKEN}_SUBDIRECTORY 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/tilde-expansion/README.md -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/001-not-expanded-with-HOME-1/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/001-not-expanded-with-HOME-1/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~~ 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/002-not-expanded-with-HOME-2/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/002-not-expanded-with-HOME-2/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~${GLOBAL_TOKEN}_UNKNOWNUSER 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/003-not-expanded-with-PWD/before_exec: -------------------------------------------------------------------------------- 1 | export "HOME=/${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/003-not-expanded-with-PWD/stdin: -------------------------------------------------------------------------------- 1 | ./write_on_stdout ~+${GLOBAL_TOKEN}_SUBDIRECTORY 2 | -------------------------------------------------------------------------------- /spec/bonuses/tilde-expansion/not-expanded/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/bonuses/tilde-expansion/not-expanded/README.md -------------------------------------------------------------------------------- /spec/minishell/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/README.md -------------------------------------------------------------------------------- /spec/minishell/binary/001-binary-path-relative/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/001-binary-path-relative/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/001-binary-path-relative/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/binary/001-binary-path-relative/stdin -------------------------------------------------------------------------------- /spec/minishell/binary/001-binary-path-relative/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/binary/001-binary-path-relative/stdout -------------------------------------------------------------------------------- /spec/minishell/binary/002-binary-path-absolute/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/002-binary-path-absolute/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/002-binary-path-absolute/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/binary/002-binary-path-absolute/stdin -------------------------------------------------------------------------------- /spec/minishell/binary/003-binary-test-exec-order/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/003-binary-test-exec-order/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/003-binary-test-exec-order/stdin: -------------------------------------------------------------------------------- 1 | fake_echo ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/003-binary-test-exec-order/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex ${GLOBAL_TOKEN} 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/004-binary-test-empty-path/before_exec: -------------------------------------------------------------------------------- 1 | export PATH="" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/004-binary-test-empty-path/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/004-binary-test-empty-path/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/004-binary-test-empty-path/stdin: -------------------------------------------------------------------------------- 1 | write_on_stdout "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/004-binary-test-empty-path/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/005-binary-test-wrong-path/before_exec: -------------------------------------------------------------------------------- 1 | export PATH="/" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/005-binary-test-wrong-path/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/005-binary-test-wrong-path/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "[Cc]ommand not found" 3 | -------------------------------------------------------------------------------- /spec/minishell/binary/005-binary-test-wrong-path/stdin: -------------------------------------------------------------------------------- 1 | ls 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/005-binary-test-wrong-path/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/006-binary-undefined-path/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/006-binary-undefined-path/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/006-binary-undefined-path/stdin: -------------------------------------------------------------------------------- 1 | ls 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/006-binary-undefined-path/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}_006-BINARY-UNDEFINED-PATH" 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/007-binary-permission-denied/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status 0 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/007-binary-permission-denied/stdin: -------------------------------------------------------------------------------- 1 | ./permission_denied 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/007-binary-permission-denied/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/008-binary-too-many-symbolic-links-encountered/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status 0 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/008-binary-too-many-symbolic-links-encountered/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "[Tt]oo many.*symbolic links" 3 | -------------------------------------------------------------------------------- /spec/minishell/binary/008-binary-too-many-symbolic-links-encountered/stdin: -------------------------------------------------------------------------------- 1 | ./symbolic_link1 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/008-binary-too-many-symbolic-links-encountered/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/binary/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/binary/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/001-no-arg/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/001-no-arg/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/001-no-arg/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/001-no-arg/description -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/001-no-arg/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/001-no-arg/stdin: -------------------------------------------------------------------------------- 1 | cd 2 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/001-no-arg/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/001-no-arg/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/002-current-directory/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/003-current-directory-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/004-parent-directory/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/005-root-path/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/005-root-path/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/005-root-path/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/005-root-path/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/005-root-path/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/005-root-path/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/005-root-path/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/006-root-path-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/006-root-path-2/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/006-root-path-2/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/006-root-path-2/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/006-root-path-2/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/007-symbolic-link/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/007-symbolic-link/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/007-symbolic-link/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/007-symbolic-link/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/007-symbolic-link/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/008-symbolic-link-2/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/009-following-links/hard: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/009-following-links/hard -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/009-following-links/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/010-update-OLDPWD/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/010-update-OLDPWD/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/010-update-OLDPWD/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/010-update-OLDPWD/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/010-update-OLDPWD/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/011-dotdot/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/011-dotdot/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/011-dotdot/before_exec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/011-dotdot/before_exec -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/011-dotdot/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/011-dotdot/description -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/011-dotdot/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/011-dotdot/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/011-dotdot/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/011-dotdot/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/011-dotdot/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/012-dot/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/012-dot/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/012-dot/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/012-dot/description -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/012-dot/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/012-dot/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/012-dot/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/012-dot/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/012-dot/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/013-absolute-path/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/013-absolute-path/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/013-absolute-path/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/013-absolute-path/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/013-absolute-path/stdout -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/001-not-a-directory/before_exec: -------------------------------------------------------------------------------- 1 | touch "./not_a_directory" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/001-not-a-directory/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "[Nn]ot a directory" 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/001-not-a-directory/stdin: -------------------------------------------------------------------------------- 1 | cd not_a_directory 2 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/001-not-a-directory/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/002-not-a-directory-2/before_exec: -------------------------------------------------------------------------------- 1 | touch "./not_a_directory" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/002-not-a-directory-2/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/002-not-a-directory-2/stdin: -------------------------------------------------------------------------------- 1 | cd not_a_directory 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/003-permission-denied/stdin: -------------------------------------------------------------------------------- 1 | cd permission_denied 2 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/003-permission-denied/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/004-permission-denied-2/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/004-permission-denied-2/stdin: -------------------------------------------------------------------------------- 1 | cd permission_denied 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/005-too-many-symbolic-links-encountered/stdin: -------------------------------------------------------------------------------- 1 | cd symbolic_link1 2 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/005-too-many-symbolic-links-encountered/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/006-too-many-symbolic-links-encountered-2/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/006-too-many-symbolic-links-encountered-2/stdin: -------------------------------------------------------------------------------- 1 | cd symbolic_link1 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/007-no-such-file-or-directory/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "./no_such_file_or_directory" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/007-no-such-file-or-directory/stdin: -------------------------------------------------------------------------------- 1 | cd no_such_file_or_directory 2 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/007-no-such-file-or-directory/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/008-no-such-file-or-directory-2/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "./no_such_file_or_directory" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/008-no-such-file-or-directory-2/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/008-no-such-file-or-directory-2/stdin: -------------------------------------------------------------------------------- 1 | cd no_such_file_or_directory 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/009-no-such-file-or-directory-symlink/stdin: -------------------------------------------------------------------------------- 1 | cd ./enoent_symlink 2 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/009-no-such-file-or-directory-symlink/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/010-no-such-file-or-directory-symlink-2/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/010-no-such-file-or-directory-symlink-2/stdin: -------------------------------------------------------------------------------- 1 | cd ./enoent_symlink 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/errors/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/options/001-not-following-links/stderr: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/options/002-oldpwd/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/options/002-oldpwd/stdin: -------------------------------------------------------------------------------- 1 | cd / 2 | cd - 3 | ${GLOBAL_TMP_DIRECTORY}/display_pwd 4 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/options/002-oldpwd/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "PWD:${GLOBAL_TMP_DIRECTORY}:PWD" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/cd/options/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/cd/options/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/env/001-env-same-value-as-parent/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/env/001-env-same-value-as-parent/stdin: -------------------------------------------------------------------------------- 1 | env -------------------------------------------------------------------------------- /spec/minishell/builtins/env/002-env-check-usefull-var/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/env/002-env-check-usefull-var/stdin: -------------------------------------------------------------------------------- 1 | env -------------------------------------------------------------------------------- /spec/minishell/builtins/env/003-ignore-environment/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/env/003-ignore-environment/stdin: -------------------------------------------------------------------------------- 1 | env -i ./display_env 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/003-ignore-environment/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "TOTAL ENVIRONMENT VARIABLES: 0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/005-set-variables/before_exec: -------------------------------------------------------------------------------- 1 | export VARTEST1="OLD_VALUE" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/005-set-variables/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/env/005-set-variables/stdin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/env/005-set-variables/stdin -------------------------------------------------------------------------------- /spec/minishell/builtins/env/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/env/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/001-command-not-found/before_exec: -------------------------------------------------------------------------------- 1 | rm -f "./invalid_binary" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/001-command-not-found/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/001-command-not-found/stderr: -------------------------------------------------------------------------------- 1 | expected_to_not be_empty 2 | might match_regex "[Cc]ommand not found" 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/001-command-not-found/stdin: -------------------------------------------------------------------------------- 1 | env ./invalid_binary 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/002-illegal-option/before_exec: -------------------------------------------------------------------------------- 1 | rm -f -- "-w" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/002-illegal-option/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/002-illegal-option/stdin: -------------------------------------------------------------------------------- 1 | env -w 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/env/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/env/errors/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/env/multiple-options/001-ignore-environment-and-set-variable/stderr: -------------------------------------------------------------------------------- 1 | expected_to be_empty -------------------------------------------------------------------------------- /spec/minishell/builtins/env/multiple-options/001-ignore-environment-and-set-variable/stdin: -------------------------------------------------------------------------------- 1 | env -i TESTVARIABLE=${GLOBAL_TOKEN} ./display_env 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/001-without-any-argument/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/001-without-any-argument/stdin: -------------------------------------------------------------------------------- 1 | exit 2 | ./write_on_stdout "${GLOBAL_TOKEN}" 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/001-without-any-argument/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/002-status-passed-as-argument/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "42" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/002-status-passed-as-argument/stdin: -------------------------------------------------------------------------------- 1 | exit 42 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/002-status-passed-as-argument/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/003-status-of-last-command/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "42" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/003-status-of-last-command/stdin: -------------------------------------------------------------------------------- 1 | ./exit_with_status 42 2 | exit 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/003-status-of-last-command/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/exit/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/001-too-many-args/misc: -------------------------------------------------------------------------------- 1 | expected_to exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/001-too-many-args/stdin: -------------------------------------------------------------------------------- 1 | exit 21 42 2 | ./write_on_stdout ${GLOBAL_TOKEN} 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/001-too-many-args/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/002-non-numeric-argument/misc: -------------------------------------------------------------------------------- 1 | expected_to_not exit_with_status "0" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/002-non-numeric-argument/stdin: -------------------------------------------------------------------------------- 1 | exit abc 2 | ./write_on_stdout ${GLOBAL_TOKEN} 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/002-non-numeric-argument/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/exit/errors/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/exit/errors/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/mixed/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/mixed/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/001-no-argument/stdin: -------------------------------------------------------------------------------- 1 | setenv 2 | export 3 | -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/002-add-new-variable/before_exec: -------------------------------------------------------------------------------- 1 | unset "TESTVAR1" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/002-add-new-variable/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "TESTVAR1=VALUE_${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/003-set-existing-variable/before_exec: -------------------------------------------------------------------------------- 1 | export "TESTVAR1=OLD_${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/003-set-existing-variable/stdout: -------------------------------------------------------------------------------- 1 | expected_to match_regex "TESTVAR1=NEW_${GLOBAL_TOKEN}" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/004-invalid-identifier/stdout: -------------------------------------------------------------------------------- 1 | might be_empty 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/setenv/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/setenv/README.md -------------------------------------------------------------------------------- /spec/minishell/builtins/unsetenv/001-unsetenv-first-elem/stdout: -------------------------------------------------------------------------------- 1 | expected_to_not match_regex "VARTEST=" 2 | -------------------------------------------------------------------------------- /spec/minishell/builtins/unsetenv/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/builtins/unsetenv/README.md -------------------------------------------------------------------------------- /spec/minishell/misc/001-copy-of-environment/stdin: -------------------------------------------------------------------------------- 1 | ./display_env 2 | -------------------------------------------------------------------------------- /spec/minishell/misc/001-copy-of-environment/stdout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/misc/001-copy-of-environment/stdout -------------------------------------------------------------------------------- /spec/minishell/misc/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/spec/minishell/misc/README.md -------------------------------------------------------------------------------- /support/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/Makefile -------------------------------------------------------------------------------- /support/display-env/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-env/Makefile -------------------------------------------------------------------------------- /support/display-env/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-env/README.md -------------------------------------------------------------------------------- /support/display-env/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-env/description -------------------------------------------------------------------------------- /support/display-env/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-env/main.c -------------------------------------------------------------------------------- /support/display-program-name/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-program-name/Makefile -------------------------------------------------------------------------------- /support/display-program-name/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-program-name/README.md -------------------------------------------------------------------------------- /support/display-program-name/description: -------------------------------------------------------------------------------- 1 | A binary that writes its name on standard ouput. 2 | -------------------------------------------------------------------------------- /support/display-program-name/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-program-name/main.c -------------------------------------------------------------------------------- /support/display-pwd/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-pwd/Makefile -------------------------------------------------------------------------------- /support/display-pwd/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-pwd/README.md -------------------------------------------------------------------------------- /support/display-pwd/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-pwd/description -------------------------------------------------------------------------------- /support/display-pwd/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/display-pwd/main.c -------------------------------------------------------------------------------- /support/exit-with-status/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/exit-with-status/Makefile -------------------------------------------------------------------------------- /support/exit-with-status/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/exit-with-status/README.md -------------------------------------------------------------------------------- /support/exit-with-status/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/exit-with-status/description -------------------------------------------------------------------------------- /support/exit-with-status/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/exit-with-status/main.c -------------------------------------------------------------------------------- /support/read-on-stdin/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/read-on-stdin/Makefile -------------------------------------------------------------------------------- /support/read-on-stdin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/read-on-stdin/README.md -------------------------------------------------------------------------------- /support/read-on-stdin/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/read-on-stdin/description -------------------------------------------------------------------------------- /support/read-on-stdin/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/read-on-stdin/main.c -------------------------------------------------------------------------------- /support/sleep-and-exit-with-status/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-exit-with-status/Makefile -------------------------------------------------------------------------------- /support/sleep-and-exit-with-status/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-exit-with-status/README.md -------------------------------------------------------------------------------- /support/sleep-and-exit-with-status/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-exit-with-status/description -------------------------------------------------------------------------------- /support/sleep-and-exit-with-status/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-exit-with-status/main.c -------------------------------------------------------------------------------- /support/sleep-and-write-on-stderr/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-write-on-stderr/Makefile -------------------------------------------------------------------------------- /support/sleep-and-write-on-stderr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-write-on-stderr/README.md -------------------------------------------------------------------------------- /support/sleep-and-write-on-stderr/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-write-on-stderr/description -------------------------------------------------------------------------------- /support/sleep-and-write-on-stderr/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/sleep-and-write-on-stderr/main.c -------------------------------------------------------------------------------- /support/write-all-arguments-on-stdout/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-all-arguments-on-stdout/Makefile -------------------------------------------------------------------------------- /support/write-all-arguments-on-stdout/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-all-arguments-on-stdout/README.md -------------------------------------------------------------------------------- /support/write-all-arguments-on-stdout/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-all-arguments-on-stdout/description -------------------------------------------------------------------------------- /support/write-all-arguments-on-stdout/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-all-arguments-on-stdout/main.c -------------------------------------------------------------------------------- /support/write-on-stderr/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stderr/Makefile -------------------------------------------------------------------------------- /support/write-on-stderr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stderr/README.md -------------------------------------------------------------------------------- /support/write-on-stderr/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stderr/description -------------------------------------------------------------------------------- /support/write-on-stderr/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stderr/main.c -------------------------------------------------------------------------------- /support/write-on-stdout-and-stderr/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout-and-stderr/Makefile -------------------------------------------------------------------------------- /support/write-on-stdout-and-stderr/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout-and-stderr/README.md -------------------------------------------------------------------------------- /support/write-on-stdout-and-stderr/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout-and-stderr/description -------------------------------------------------------------------------------- /support/write-on-stdout-and-stderr/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout-and-stderr/main.c -------------------------------------------------------------------------------- /support/write-on-stdout/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout/Makefile -------------------------------------------------------------------------------- /support/write-on-stdout/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout/README.md -------------------------------------------------------------------------------- /support/write-on-stdout/description: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout/description -------------------------------------------------------------------------------- /support/write-on-stdout/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/support/write-on-stdout/main.c -------------------------------------------------------------------------------- /tasks/generate_readmes.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/we-sh/42ShellTester/HEAD/tasks/generate_readmes.sh --------------------------------------------------------------------------------