|
|
f1b2e1e22d
|
cd: handle empty argument
|
2025-03-31 17:07:46 +02:00 |
|
|
|
8f3c15f096
|
cd: when going to $HOME, show error message if it is unset
|
2025-03-31 16:58:21 +02:00 |
|
|
|
e046d151a2
|
inttests: add ability to manipulate environment for a single test
|
2025-03-31 16:57:40 +02:00 |
|
|
|
d66ca10a0c
|
cd: with no arg, go to $HOME
|
2025-03-31 16:40:22 +02:00 |
|
|
|
e93e6efb93
|
builtins: cd: implement cd to absolute paths
|
2025-03-31 16:34:48 +02:00 |
|
|
|
5ce4a2b85f
|
builtin: implement pwd
|
2025-03-31 14:54:40 +02:00 |
|
|
|
66ea1328aa
|
simple_cmd executing: print error message on command not found
|
2025-03-28 16:58:13 +01:00 |
|
|
|
befe219436
|
simple_cmd executing: works with arguments and env
Does not handle redirections at all, no special facilities are in place to allow
nofork or builtin execution.
|
2025-03-28 14:50:37 +01:00 |
|
|
|
db1834a620
|
inttests: run each test in a clean directory
|
2025-03-28 14:50:37 +01:00 |
|
|
|
d8bc528c5a
|
minishell: only parse simple commands
|
2025-03-28 14:50:37 +01:00 |
|
|
|
f07a80c762
|
postprocessing: do quote removal
|
2025-03-28 14:50:37 +01:00 |
|
|
|
8b67ccc813
|
inttests: add a way to mark a test as TODO
|
2025-03-28 14:50:37 +01:00 |
|
|
|
0fbfee7d78
|
cmdgroup parsing: parse cmdlist surrounded by parentheses
|
2025-03-28 14:50:37 +01:00 |
|
|
|
bed8c9d507
|
inttests: exit with number of failed test as exit code
|
2025-03-28 14:50:37 +01:00 |
|
|
|
dff5de66da
|
fix redirection parsing sometimes skipping over redirections
This happens when multiple redirections are following each others, such as in
echo hi > out < in
which would be parsed as
╰─ t_cmdgroup
├─ t_cmdlist
│ ├─ num_cmds = 1
│ ╰─ cmd[0]
│ ├─ t_cmdlist_item
│ │ ╰─ t_pipeline
│ │ ├─ num_cmd = 1
│ │ ╰─ cmd[0]
│ │ ╰─ t_simple_cmd
│ │ ├─ words = [echo][hi][<][in]
│ │ ╰─ t_redir_list
│ │ ╰─ redirection[0]
│ │ ╰─ t_redirection
│ │ ├─ t_redir_type = REDIR_OUTPUT
│ │ ╰─ marker = [out]
│ ╰─ t_operator = END
╰─ (no redirections)
when the correct parsing is
╰─ t_cmdgroup
├─ t_cmdlist
│ ├─ num_cmds = 1
│ ╰─ cmd[0]
│ ├─ t_cmdlist_item
│ │ ╰─ t_pipeline
│ │ ├─ num_cmd = 1
│ │ ╰─ cmd[0]
│ │ ╰─ t_simple_cmd
│ │ ├─ words = [echo][hi]
│ │ ╰─ t_redir_list
│ │ ├─ redirection[0]
│ │ │ ╰─ t_redirection
│ │ │ ├─ t_redir_type = REDIR_OUTPUT
│ │ │ ╰─ marker = [out]
│ │ ╰─ redirection[1]
│ │ ╰─ t_redirection
│ │ ├─ t_redir_type = REDIR_INPUT
│ │ ╰─ marker = [in]
│ ╰─ t_operator = END
╰─ (no redirections)
|
2025-03-28 14:50:37 +01:00 |
|
|
|
448458b37f
|
redirection parsing: parse redirections for cmdgroup
|
2025-03-28 14:50:37 +01:00 |
|
|
|
36c1b72eff
|
tests: implement a better integration test framework than shellspec
(for our usecase at least)
|
2025-03-28 14:50:37 +01:00 |
|