diff options
| author | Christopher Uhlig | 2025-01-20 13:06:34 +0100 |
|---|---|---|
| committer | Christopher Uhlig | 2025-01-20 13:06:34 +0100 |
| commit | 8f5abcdb257393a2e576fe382835e8e060662834 (patch) | |
| tree | 1b923423b22bb59ff10ea07b0700a5a7bdf96f5a /garbage | |
| parent | 3392f2b811269f174620832d663b09ef4f4e43f3 (diff) | |
| download | minishell-8f5abcdb257393a2e576fe382835e8e060662834.tar.gz minishell-8f5abcdb257393a2e576fe382835e8e060662834.zip | |
merged
Diffstat (limited to 'garbage')
| -rw-r--r-- | garbage | 1183 |
1 files changed, 0 insertions, 1183 deletions
diff --git a/garbage b/garbage deleted file mode 100644 index 07f44dc..0000000 --- a/garbage +++ /dev/null @@ -1,1183 +0,0 @@ -_=/Users/chuhlig/Desktop/merged_minishell/minishell/./minishell -TERM=xterm-256color -USER_ZDOTDIR=/Users/chuhlig -ZDOTDIR=/Users/chuhlig -VSCODE_INJECTION=1 -VSCODE_GIT_IPC_HANDLE=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/vscode-git-e47956ed09.sock -VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js -VSCODE_GIT_ASKPASS_EXTRA_ARGS= -VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) -GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh -COLORTERM=truecolor -LANG=en_US.UTF-8 -TERM_PROGRAM_VERSION=1.95.3 -TERM_PROGRAM=vscode -OLDPWD=/Users/chuhlig/Desktop/merged_minishell -PWD=/Users/chuhlig/Desktop/merged_minishell/minishell -SHLVL=1 -ORIGINAL_XDG_CURRENT_DESKTOP=undefined -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -__CF_USER_TEXT_ENCODING=0x1928E:0x0:0x2 -SHELL=/bin/zsh -HOME=/Users/chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.ECcBYJZkxn/Listeners -LOGNAME=chuhlig -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Users/chuhlig/goinfre/.brew/bin -MallocNanoZone=0 -USER=chuhlig -_=/Users/chuhlig/Desktop/merged_minishell/minishell/./minishell -TERM=xterm-256color -USER_ZDOTDIR=/Users/chuhlig -ZDOTDIR=/Users/chuhlig -VSCODE_INJECTION=1 -VSCODE_GIT_IPC_HANDLE=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/vscode-git-e47956ed09.sock -VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js -VSCODE_GIT_ASKPASS_EXTRA_ARGS= -VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) -GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh -COLORTERM=truecolor -LANG=en_US.UTF-8 -TERM_PROGRAM_VERSION=1.95.3 -TERM_PROGRAM=vscode -OLDPWD=/Users/chuhlig/Desktop/merged_minishell -PWD=/Users/chuhlig/Desktop/merged_minishell/minishell -SHLVL=1 -ORIGINAL_XDG_CURRENT_DESKTOP=undefined -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -__CF_USER_TEXT_ENCODING=0x1928E:0x0:0x2 -SHELL=/bin/zsh -HOME=/Users/chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.ECcBYJZkxn/Listeners -LOGNAME=chuhlig -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Users/chuhlig/goinfre/.brew/bin -MallocNanoZone=0 -USER=chuhlig - - -//some test case about built in command - bash-3.2$ ls -Applications Music -Desktop Pictures -Documents francinette -Downloads getting-started -Library goinfre -Movies setup_docker_environment -bash-3.2$ pwd -/Users/chuhlig -bash-3.2$ ls | cd / | ls -Applications Music -Desktop Pictures -Documents francinette -Downloads getting-started -Library goinfre -Movies setup_docker_environment -bash-3.2$ pwd -/Users/chuhlig -bash-3.2$ env -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ export test=test | unset USER -bash-3.2$ env -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ env | grep test -bash-3.2$ ls | cd / | env -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ ls | cd / | env -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ ls | cd / | env -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ ls | cd / | env | cd / -bash-3.2$ pwd -/Users/chuhlig -bash-3.2$ ls | cd / | env | cd ~ -bash-3.2$ ls | cd / | env | cd - -bash: cd: OLDPWD not set -bash-3.2$ ls | cd - | env -bash: cd: OLDPWD not set -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ -bash-3.2$ ls | cd - | env -bash: cd: OLDPWD not set -TERM_PROGRAM=iTerm.app -TERM=xterm-256color -SHELL=/bin/zsh -TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ -TERM_PROGRAM_VERSION=3.5.10 -TERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -USER=chuhlig -SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.BLODixwZXQ/Listeners -__CF_USER_TEXT_ENCODING=0x0:0:0 -TERM_FEATURES=T3LrMSc7UUw9Ts3BFGsSyHNoSxF -TERMINFO_DIRS=/Applications/iTerm.app/Contents/Resources/terminfo:/usr/share/terminfo -PATH=/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Applications/iTerm.app/Contents/Resources/utilities -PWD=/Users/chuhlig -LANG=en_US.UTF-8 -ITERM_PROFILE=Default -XPC_FLAGS=0x0 -XPC_SERVICE_NAME=0 -SHLVL=2 -HOME=/Users/chuhlig -COLORFGBG=7;0 -LC_TERMINAL_VERSION=3.5.10 -ITERM_SESSION_ID=w0t0p0:EC167FE5-607B-4E5F-A816-E8EF7FA09EC7 -LOGNAME=chuhlig -LC_TERMINAL=iTerm2 -COLORTERM=truecolor -_=/usr/bin/env -bash-3.2$ - - -////////////////////////////////////////////////////////////////// - -static int handle_redirections(t_redirection *redirs) { - if (redirs[0].type == INPUT_LIMITER) { - int pipe_fds[2]; - if (pipe(pipe_fds) == -1) { - perror("pipe"); - return -1; - } - write(pipe_fds[1], redirs[0].specifier, strlen(redirs[0].specifier)); - close(pipe_fds[1]); - dup2(pipe_fds[0], STDIN_FILENO); - close(pipe_fds[0]); - } else if (redirs[0].type == INPUT_FILE) { - int fd = open(redirs[0].specifier, O_RDONLY); - if (fd == -1) { - perror(redirs[0].specifier); - return -1; - } - dup2(fd, STDIN_FILENO); - close(fd); - } - - if (redirs[1].type == OUTPUT_OVERRIDE) { - int fd = open(redirs[1].specifier, O_WRONLY | O_CREAT | O_TRUNC, 0644); - if (fd == -1) { - perror(redirs[1].specifier); - return -1; - } - dup2(fd, STDOUT_FILENO); - close(fd); - } else if (redirs[1].type == OUTPUT_APPEND) { - int fd = open(redirs[1].specifier, O_WRONLY | O_CREAT | O_APPEND, 0644); - if (fd == -1) { - perror(redirs[1].specifier); - return -1; - } - dup2(fd, STDOUT_FILENO); - close(fd); - } - return 0; -} - -static int eval_rec(t_node *node, t_env **env, int in_fd) { - pid_t pid; - int p[2], result; - - if (node->type == PIPE_NODE) { - pipe(p); - pid = fork(); - if (pid == 0) { - close(p[0]); - dup2(in_fd, STDIN_FILENO); - dup2(p[1], STDOUT_FILENO); - result = eval_rec(node->content.pipe.left, env, in_fd); - exit(result); - } else { - close(p[1]); - dup2(p[0], STDIN_FILENO); - result = eval_rec(node->content.pipe.right, env, p[0]); - } - } else if (node->type == CMD_NODE) { - result = execute_cmd(&node->content.cmd, env); - } else { - panic("UNREACHABLE"); - result = EXIT_FAILURE; - } - return result; -} - -int eval(t_node *node, t_env **env) { - return eval_rec(node, env, STDIN_FILENO); -} - -int execute_cmd(t_cmd *cmd, t_env **env) { - if (handle_redirections(cmd->redirs) == -1) { - return EXIT_FAILURE; - } - - if (is_builtin(cmd->args[0])) { - return execute_builtin(cmd->args, env); - } else { - pid_t pid = fork(); - if (pid == 0) { - char *cmd_path = get_cmd_path(cmd->args[0], *env); - if (!cmd_path) { - fprintf(stderr, "%s: command not found\n", cmd->args[0]); - exit(EXIT_FAILURE); - } - execve(cmd_path, cmd->args, env_to_strlst(*env)); - perror("execve"); - exit(EXIT_FAILURE); - } else { - int status; - waitpid(pid, &status, 0); - return WEXITSTATUS(status); - } - } -} -have to update env list/tokenlist order or update the existing code to handle the order of the tokenlist/env list - -echo "Hello" | grep H this works - -also more to do on heredoc - -and for the for part of domenic removing the " ' frome the string -beside - - - -t_redirection *collect_redirs(t_token **tokens) -{ - t_redirection *result; - t_token *cur; - - cur = *tokens; - result = malloc(sizeof(t_redirection) * 2); - if (result == NULL) - return (free_tokens(*tokens), NULL); - set_redir(&result[0], 0, NULL); - set_redir(&result[1], 0, NULL); - while (cur != NULL && cur->next != NULL) - { - if (cur->type == REDIR_TOKEN && cur->next->type == STRING_TOKEN) - collect_and_check_redir(result, &cur); - else if (cur->type == REDIR_TOKEN) - return (free(result), NULL); - else - cur = cur->next; - } - if (cur && cur->type == REDIR_TOKEN) - return (free(result), NULL); - return (result); -} - -static void collect_and_check_redir(t_redirection *result, t_token **cur) -{ - char *heredoc_data; - t_token *next_token; - - heredoc_data = NULL; - if ((*cur)->content.redir_type == INPUT_LIMITER) - { - // Handle Here Document (<<) - heredoc_data = read_heredoc((*cur)->next->content.string); - if (!heredoc_data) - { - perror("Heredoc allocation failed"); - return ; - } - set_redir(&result[0], INPUT_LIMITER, heredoc_data); - } - else if ((*cur)->content.redir_type == INPUT_FILE) - { - // Handle Input File (<) - set_redir(&result[0], INPUT_FILE, ft_strdup((*cur)->next->content.string)); - } - else if ((*cur)->content.redir_type == OUTPUT_OVERRIDE) - { - // Handle Output File Overwrite (>) - set_redir(&result[1], OUTPUT_OVERRIDE, ft_strdup((*cur)->next->content.string)); - } - else if ((*cur)->content.redir_type == OUTPUT_APPEND) - { - // Handle Output File Append (>>) - set_redir(&result[1], OUTPUT_APPEND, ft_strdup((*cur)->next->content.string)); - } - else - { - // Handle unexpected cases - printf("Unknown redirection type encountered\n"); - } - // Advance the token pointer to skip the redirection token and its argument - next_token = (*cur)->next; - free_token_and_connect(*cur); // Free the current redirection token - if (next_token) - { - *cur = next_token->next; // Move to the next token after the argument - } - else - { - *cur = NULL; // No more tokens - } -} - -collect args apassen x -alsso fur arg x -muss in rpl parse x -und in parse cmd collect args and x - -format args seems to work later test x - - -Test 1: ✅ echo hello world -Test 2: ✅ echo "hello world" -Test 3: ✅ echo 'hello world' -Test 4: ✅ echo hello'world' -Test 5: ✅ echo hello""world -Test 6: ✅ echo '' -Test 7: ✅ echo "$PWD" -Test 8: ✅ echo '$PWD' - -format_string problem -Test 9: ❌ echo "aspas ->'" -mini output = (aspas ->") -bash output = (aspas ->') -Test 10: ❌ echo "aspas -> ' " -mini output = (aspas -> ") -bash output = (aspas -> ' ) -Test 11: ✅ echo 'aspas ->"' -Test 12: ✅ echo 'aspas -> " ' -Test 13: ❌ echo "> >> < * ? [ ] | ; [ ] || && ( ) & # $ <<" -mini output = (> >> < README.md bash.supp bash_outfiles bonus bonus_bonus builtins extras local.supp loop.out manual_tests mini_outfiles os_specific outfiles pipes redirects syntax test_files tester wildcards ? [ ] | ; [ ] || && ( ) & # ) -bash output = (> >> < README.md bash.supp bash_outfiles bonus bonus_bonus builtins extras local.supp loop.out manual_tests mini_outfiles os_specific outfiles pipes redirects syntax test_files tester wildcards ? [ ] | ; [ ] || && ( ) & # $ <<) -Test 14: ✅ echo '> >> < * ? [ ] | ; [ ] || && ( ) & # $ <<' -Test 15: ❌ echo "exit_code ->$? user ->$USER home -> $HOME" -mini output = (exit_code ->/Users/chuhlig) -bash output = (exit_code ->0 user ->chuhlig home -> /Users/chuhlig) -Test 16: ✅ echo 'exit_code ->$? user ->$USER home -> $HOME' -Test 17: ❌ echo "$" -mini output = (0) -bash output = ($) -Test 18: ✅ echo '$' -Test 19: ❌ echo $ -mini output = (0) -bash output = ($) -Test 20: ✅ echo $? -Test 21: ❌ echo $?HELLO -mini output = () -bash output = (0HELLO) -Test 22: ✅ pwd -Test 23: ✅ pwd oi - -Test 24: ❌ export hello //stupid -mini exit code = 1 -bash exit code = 0 -Test 25: ✅ export HELLO=123 -Test 26: ✅⚠️ export A- -mini error = () -bash error = ( not a valid identifier) - fucking extra function for identifier - -Test 27: ❌ export HELLO=123 A -mini exit code = 1 -bash exit code = 0 -auch dum -Test 28: ✅ export HELLO="123 A-" -Test 29: ❌ export hello world -mini exit code = 1 -bash exit code = 0 -Test 30: ❌ export HELLO-=123 -mini exit code = 0 -bash exit code = 1 -mini error = () -bash error = ( not a valid identifier) -Test 31: ❌ export = -mini exit code = 0 -bash exit code = 1 -mini error = () -bash error = ( not a valid identifier) -Test 32: ✅⚠️ export 123 -mini error = () -bash error = ( not a valid identifier) -Test 33: ✅ unset -Test 34: ✅ unset HELLO -Test 35: ✅ unset HELLO1 HELLO2 -Test 36: ✅ unset HOME -Test 37: ✅ unset PATH -Test 38: ✅ unset SHELL - - -Test 39: ❌ cd $PWD -mini exit code = 139 -bash exit code = 0 -Test 40: ❌ cd $PWD hi -mini exit code = 139 -bash exit code = 0 -Test 41: ❌ cd 123123 -mini exit code = 139 -bash exit code = 1 -mini error = () -bash error = ( No such file or directory) - -Test 42: ✅ exit 123 -Test 43: ✅ exit 298 -Test 44: ✅ exit +100 -Test 45: ✅ exit "+100" -Test 46: ✅ exit +"100" -Test 47: ✅ exit -100 -Test 48: ✅ exit "-100" -Test 49: ✅ exit -"100" - -needs a update -Test 50: ❌ exit hello -mini exit code = 0 -bash exit code = 255 -mini error = () -bash error = ( numeric argument required) - -edge case -Test 51: ❌ exit 42 world -mini exit code = 42 -bash exit code = 1 -mini error = () -bash error = ( too many arguments) -Test 52: ✅ -———————————— pipes -Test 53: ❌ env | sort | grep -v SHLVL | grep -v ^_ -mini output = (?=0 COLORTERM=truecolor GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh HOME=/Users/chuhlig LANG=en_US.UTF-8 LOGNAME=chuhlig MallocNanoZone=0 ORIGINAL_XDG_CURRENT_DESKTOP=undefined PATH=/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand PWD=/Users/chuhlig/Desktop/minishell/minishell_tester SHELL=/bin/zsh SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.8vcs8lnaog/Listeners TERM=xterm-256color TERM_PROGRAM=vscode TERM_PROGRAM_VERSION=1.96.2 TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ USER=chuhlig USER_ZDOTDIR=/Users/chuhlig VSCODE_GIT_ASKPASS_EXTRA_ARGS= VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) VSCODE_GIT_IPC_HANDLE=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/vscode-git-a7f217e79d.sock VSCODE_INJECTION=1 XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 ZDOTDIR=/Users/chuhlig) -bash output = (COLORTERM=truecolor GIT_ASKPASS=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh HOME=/Users/chuhlig LANG=en_US.UTF-8 LOGNAME=chuhlig MallocNanoZone=0 ORIGINAL_XDG_CURRENT_DESKTOP=undefined PATH=/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/goinfre/.brew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/munki:/Library/Apple/usr/bin:/Users/chuhlig/goinfre/.brew/bin:/Users/chuhlig/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand PWD=/Users/chuhlig/Desktop/minishell/minishell_tester SHELL=/bin/zsh SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.8vcs8lnaog/Listeners TERM=xterm-256color TERM_PROGRAM=vscode TERM_PROGRAM_VERSION=1.96.2 TMPDIR=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/ USER=chuhlig USER_ZDOTDIR=/Users/chuhlig VSCODE_GIT_ASKPASS_EXTRA_ARGS= VSCODE_GIT_ASKPASS_MAIN=/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js VSCODE_GIT_ASKPASS_NODE=/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin) VSCODE_GIT_IPC_HANDLE=/var/folders/zz/zyxvpxvq6csfxvn_n000ckjr0034mf/T/vscode-git-a7f217e79d.sock VSCODE_INJECTION=1 XPC_FLAGS=0x0 XPC_SERVICE_NAME=0 ZDOTDIR=/Users/chuhlig) -Test 54: ✅ cat ./test_files/infile_big | grep oi -Test 55: ✅ cat minishell.h | grep ");"$ -Test 56: ✅ export GHOST=123 | env | grep GHOST -———————————— redirects -Test 57: ✅ grep hi <./test_files/infile -Test 58: ✅ grep hi "<infile" < ./test_files/infile -Test 59: ✅ echo hi < ./test_files/infile bye bye -Test 60: ✅ grep hi <./test_files/infile_big <./test_files/infile - - -Test 61: ❌ echo <"./test_files/infile" "bonjour 42" string handling issue -mini output = () -bash output = (bonjour 42) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 62: ❌ cat <"./test_files/file name with spaces" -mini output = () -bash output = (😈 😈 😈 This will break your minishell 😈 😈 😈) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 63: ✅ cat <./test_files/infile_big ./test_files/infile -Test 64: ✅ cat <"1""2""3""4""5" -Test 65: ✅ echo <"./test_files/infile" <missing <"./test_files/infile" -Test 66: ✅ echo <missing <"./test_files/infile" <missing -Test 67: ❌ cat <"./test_files/infile" -mini output = () -bash output = (hi hello world 42) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 68: ❌ echo <"./test_files/infile_big" | cat <"./test_files/infile" -mini output = () -bash output = (hi hello world 42) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory No such file or directory) -bash error = () -Test 69: ✅⚠️ echo <"./test_files/infile_big" | cat "./test_files/infile" -mini error = ( No such file or directory) -bash error = () -Test 70: ❌ echo <"./test_files/infile_big" | echo <"./test_files/infile" -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory No such file or directory) -bash error = () -Test 71: ❌ echo hi | cat <"./test_files/infile" -mini output = () -bash output = (hi hello world 42) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 72: ✅ echo hi | cat "./test_files/infile" -Test 73: ✅⚠️ cat <"./test_files/infile" | echo hi -mini error = ( No such file or directory) -bash error = ( Broken pipe) -Test 74: ❌ cat <"./test_files/infile" | grep hello -mini output = () -bash output = (hello) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 75: ✅⚠️ cat <"./test_files/infile_big" | echo hi -mini error = ( No such file or directory) -bash error = ( Broken pipe) -Test 76: ✅ cat <missing -Test 77: ✅ cat <missing | cat -Test 78: ✅ cat <missing | echo oi -Test 79: ❌ cat <missing | cat <"./test_files/infile" tokenizer check again - -mini output = () -bash output = (hi hello world 42) -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory No such file or directory) should be esier to find -bash error = ( No such file or directory) -Test 80: ✅ echo <123 <456 hi | echo 42 -Test 81: ✅ ls >./outfiles/outfile01 -Test 82: ✅ ls > ./outfiles/outfile01 -Test 83: ✅ echo hi > ./outfiles/outfile01 bye - - -check this extra - -Test 84: ❌ ls >./outfiles/outfile01 >./outfiles/outfile02 -Only in ./bash_outfiles: outfile01 -mini outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -bash outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -Test 85: ❌ ls >./outfiles/outfile01 >./test_files/invalid_permission -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -Test 86: ❌ ls >"./outfiles/outfile with spaces" -Only in ./bash_outfiles: outfile with spaces -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 87: ❌ ls >"./outfiles/outfile""1""2""3""4""5" -Only in ./bash_outfiles: outfile12345 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 88: ❌ ls >"./outfiles/outfile01" >./test_files/invalid_permission >"./outfiles/outfile02" -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -mini error = ( No such file or directory) -bash error = ( Permission denied) -Test 89: ✅ ls >./test_files/invalid_permission >"./outfiles/outfile01" >./test_files/invalid_permission -Test 90: ❌ cat <"./test_files/infile" >"./outfiles/outfile01" -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -hi -hello -world -42 -mini exit code = 1 -bash exit code = 0 -mini error = ( No such file or directory) -bash error = () -Test 91: ✅ echo hi >./outfiles/outfile01 | echo bye -Test 92: ❌ echo hi >./outfiles/outfile01 >./outfiles/outfile02 | echo bye -Only in ./bash_outfiles: outfile01 -mini outfiles: -hi -bash outfiles: -hi -Test 93: ✅ echo hi | echo >./outfiles/outfile01 bye -Test 94: ❌ echo hi | echo bye >./outfiles/outfile01 >./outfiles/outfile02 -Only in ./bash_outfiles: outfile01 -mini outfiles: -bye -bash outfiles: -bye -Test 95: ✅ echo hi >./outfiles/outfile01 | echo bye >./outfiles/outfile02 -Test 96: ❌ echo hi >./outfiles/outfile01 >./test_files/invalid_permission | echo bye -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -Test 97: ✅ echo hi >./test_files/invalid_permission | echo bye -Test 98: ❌ echo hi >./test_files/invalid_permission >./outfiles/outfile01 | echo bye -Only in ./mini_outfiles: outfile01 -mini outfiles: -hi -bash outfiles: -cat: ./bash_outfiles/*: No such file or directory -mini error = () -bash error = ( Permission denied) -Test 99: ✅ echo hi | echo bye >./test_files/invalid_permission -Test 100: ❌ echo hi | >./outfiles/outfile01 echo bye >./test_files/invalid_permission -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -mini exit code = 139 -bash exit code = 1 -mini error = () -bash error = ( Permission denied) - -update for this. - -Test 101: ❌ echo hi | echo bye >./test_files/invalid_permission >./outfiles/outfile01 -Only in ./mini_outfiles: outfile01 -mini outfiles: -bye -bash outfiles: -cat: ./bash_outfiles/*: No such file or directory -mini exit code = 0 -bash exit code = 1 -mini error = () -bash error = ( Permission denied) -Test 102: ✅⚠️ cat <"./test_files/infile" >./test_files/invalid_permission -mini error = ( No such file or directory) -bash error = ( Permission denied) -Test 103: ✅⚠️ cat >./test_files/invalid_permission <"./test_files/infile" -mini error = ( No such file or directory) -bash error = ( Permission denied) -Test 104: ✅ cat <missing >./outfiles/outfile01 -Test 105: ❌ cat >./outfiles/outfile01 <missing -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -Test 106: ✅ cat <missing >./test_files/invalid_permission -Test 107: ✅⚠️ cat >./test_files/invalid_permission <missing -mini error = ( No such file or directory) -bash error = ( Permission denied) -Test 108: ❌ cat >./outfiles/outfile01 <missing >./test_files/invalid_permission -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -Test 109: ✅ ls >>./outfiles/outfile01 -Test 110: ✅ ls >> ./outfiles/outfile01 -Test 111: ✅ ls >>./outfiles/outfile01 >./outfiles/outfile01 -Test 112: ✅ ls >./outfiles/outfile01 >>./outfiles/outfile01 -Test 113: ❌ ls >./outfiles/outfile01 >>./outfiles/outfile01 >./outfiles/outfile02 -Only in ./bash_outfiles: outfile01 -mini outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -bash outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -Test 114: ❌ ls >>./outfiles/outfile01 >>./outfiles/outfile02 -Only in ./bash_outfiles: outfile01 -mini outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -bash outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -Test 115: ✅ ls >>./test_files/invalid_permission -Test 116: ❌ ls >>./test_files/invalid_permission >>./outfiles/outfile01 -Only in ./mini_outfiles: outfile01 -mini outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -bash outfiles: -cat: ./bash_outfiles/*: No such file or directory -mini exit code = 0 -bash exit code = 1 -mini error = () -bash error = ( Permission denied) -Test 117: ❌ ls >>./outfiles/outfile01 >>./test_files/invalid_permission -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -Test 118: ❌ ls >./outfiles/outfile01 >>./test_files/invalid_permission >>./outfiles/outfile02 -Only in ./bash_outfiles: outfile01 -Only in ./mini_outfiles: outfile02 -mini outfiles: -README.md -bash.supp -bash_outfiles -bonus -bonus_bonus -builtins -extras -local.supp -loop.out -manual_tests -mini_outfiles -os_specific -outfiles -pipes -redirects -syntax -test_files -tester -wildcards -bash outfiles: -mini exit code = 0 -bash exit code = 1 -mini error = () -bash error = ( Permission denied) -Test 119: ✅ ls <missing >>./test_files/invalid_permission >>./outfiles/outfile02 -Test 120: ✅⚠️ ls >>./test_files/invalid_permission >>./outfiles/outfile02 <missing -mini error = ( No such file or directory) -bash error = ( Permission denied) -Test 121: ✅ echo hi >>./outfiles/outfile01 | echo bye -Test 122: ❌ echo hi >>./outfiles/outfile01 >>./outfiles/outfile02 | echo bye -Only in ./bash_outfiles: outfile01 -mini outfiles: -hi -bash outfiles: -hi -Test 123: ✅ echo hi | echo >>./outfiles/outfile01 bye -Test 124: ❌ echo hi | echo bye >>./outfiles/outfile01 >>./outfiles/outfile02 -Only in ./bash_outfiles: outfile01 -mini outfiles: -bye -bash outfiles: -bye -Test 125: ✅ echo hi >>./outfiles/outfile01 | echo bye >>./outfiles/outfile02 -Test 126: ✅ echo hi >>./test_files/invalid_permission | echo bye -Test 127: ❌ echo hi >>./test_files/invalid_permission >./outfiles/outfile01 | echo bye -Only in ./mini_outfiles: outfile01 -mini outfiles: -hi -bash outfiles: -cat: ./bash_outfiles/*: No such file or directory -mini error = () -bash error = ( Permission denied) -Test 128: ✅ echo hi | echo bye >>./test_files/invalid_permission -Test 129: ❌ echo hi | echo >>./outfiles/outfile01 bye >./test_files/invalid_permission -Only in ./bash_outfiles: outfile01 -mini outfiles: -cat: ./mini_outfiles/*: No such file or directory -bash outfiles: -Test 130: ✅ cat <minishell.h>./outfiles/outfile -Test 131: ✅ cat <minishell.h|ls -———————————— extras -Test 132: ✅ - -udpate this -Test 133: ❌ $PWD -mini exit code = 1 -bash exit code = 126 -mini error = ( Permission denied) -bash error = ( is a directory) -Test 134: ❌ $EMPTY -mini exit code = 1 -bash exit code = 0 -mini error = ( Permission denied) -bash error = () -Test 135: ❌ $EMPTY echo hi -mini output = () -bash output = (hi) -mini exit code = 1 -bash exit code = 0 -mini error = ( Permission denied) -bash error = () -Test 136: ❌ ./test_files/invalid_permission -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 126 -mini error = () -bash error = ( Permission denied) -Test 137: ❌ ./missing.out -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( No such file or directory) -Test 138: ❌ missing.out -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found) -Test 139: ❌ "aaa" -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found) -Test 140: ❌ test_files -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found) -Test 141: ❌ ./test_files -mini exit code = 1 -bash exit code = 126 -mini error = ( Permission denied) -bash error = ( is a directory) -Test 142: ❌ /test_files -mini exit code = 1 -bash exit code = 127 -Test 143: ❌ minishell.h -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found) -Test 144: ❌ $ -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found) -Test 145: ❌ $? -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found) -Test 146: ❌ README.md -mini output = (command not found) -bash output = () -mini exit code = 1 -bash exit code = 127 -mini error = () -bash error = ( command not found)
\ No newline at end of file |
