pipeline parse: reject hanging pipe at end

This rejects commands such as

echo hello | cat -e |

I also updated the doc this time
This commit is contained in:
Khaïs COLIN 2025-02-24 17:27:14 +01:00
parent 8606774781
commit 4b403c4bf3
Signed by: logistic-bot
SSH key fingerprint: SHA256:RlpiqKeXpcPFZZ4y9Ou4xi2M8OhRJovIwDlbCaMsuAo
2 changed files with 28 additions and 9 deletions

View file

@ -6,7 +6,7 @@
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/21 13:13:58 by khais #+# #+# */
/* Updated: 2025/02/24 15:19:39 by khais ### ########.fr */
/* Updated: 2025/02/24 17:22:54 by khais ### ########.fr */
/* */
/* ************************************************************************** */
@ -117,6 +117,13 @@ static void test_parse_pipeline_pipe_at_start_rejected(void)
assert(ft_errno_get() == FT_EUNEXPECTED_PIPE);
}
static void test_parse_pipeline_pipe_at_end_rejected(void)
{
ft_errno(FT_ESUCCESS);
assert(parse_pipeline("echo hello | tee output.txt |") == NULL);
assert(ft_errno_get() == FT_EUNEXPECTED_PIPE);
}
int main(void)
{
test_parse_empty_pipeline();
@ -127,5 +134,6 @@ int main(void)
test_parse_pipeline_double_pipe_rejected();
test_parse_pipeline_triple_pipe_rejected();
test_parse_pipeline_pipe_at_start_rejected();
test_parse_pipeline_pipe_at_end_rejected();
return (0);
}