2025-03-11 15:20:19 +01:00
|
|
|
/* ************************************************************************** */
|
|
|
|
|
/* */
|
|
|
|
|
/* ::: :::::::: */
|
|
|
|
|
/* test_cmdgroup_parsing.c :+: :+: :+: */
|
|
|
|
|
/* +:+ +:+ +:+ */
|
|
|
|
|
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
|
|
|
|
|
/* +#+#+#+#+#+ +#+ */
|
2025-03-18 11:48:03 +01:00
|
|
|
/* Created: 2025/03/18 11:49/19 by khais #+# #+# */
|
|
|
|
|
/* Updated: 2025/03/18 11:49:19 by khais ### ########.fr */
|
2025-03-11 15:20:19 +01:00
|
|
|
/* */
|
|
|
|
|
/* ************************************************************************** */
|
|
|
|
|
|
|
|
|
|
#include "testutil.h"
|
|
|
|
|
#include <assert.h>
|
|
|
|
|
#include "libft.h"
|
|
|
|
|
#include "../src/parser/cmdgroup/cmdgroup.h"
|
2025-03-11 16:41:38 +01:00
|
|
|
#include "../src/parser/cmdgroup/cmdgroup_item.h"
|
2025-03-11 15:20:19 +01:00
|
|
|
|
|
|
|
|
static void test_cmdgroup_parsing_empty(void)
|
|
|
|
|
{
|
|
|
|
|
t_cmdgroup *cmd;
|
|
|
|
|
|
|
|
|
|
// arange
|
|
|
|
|
ft_dprintf(STDERR_FILENO, "==> %s <==\n", __FUNCTION__);
|
|
|
|
|
cmd = parse_cmdgroup("");
|
|
|
|
|
// assert
|
|
|
|
|
assert(NULL == cmd);
|
|
|
|
|
// cleanup
|
|
|
|
|
cmdgroup_destroy(cmd);
|
|
|
|
|
do_leak_check();
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-11 16:41:38 +01:00
|
|
|
static void test_cmdgroup_parsing_single_cmdlist(void)
|
|
|
|
|
{
|
|
|
|
|
t_cmdgroup *cmd;
|
|
|
|
|
|
|
|
|
|
// arange
|
|
|
|
|
ft_dprintf(STDERR_FILENO, "==> %s <==\n", __FUNCTION__);
|
|
|
|
|
cmd = parse_cmdgroup("echo this | cat -e && echo works | wc -c");
|
|
|
|
|
// assert
|
|
|
|
|
assert(NULL != cmd);
|
2025-03-18 11:48:03 +01:00
|
|
|
// TODO
|
2025-03-11 16:41:38 +01:00
|
|
|
// cleanup
|
|
|
|
|
cmdgroup_destroy(cmd);
|
|
|
|
|
do_leak_check();
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-13 17:20:26 +01:00
|
|
|
static void test_cmdgroup_parsing_two_cmdlist(void)
|
|
|
|
|
{
|
|
|
|
|
t_cmdgroup *cmd;
|
|
|
|
|
|
|
|
|
|
// arange
|
|
|
|
|
ft_dprintf(STDERR_FILENO, "==> %s <==\n", __FUNCTION__);
|
|
|
|
|
cmd = parse_cmdgroup("echo this | cat -e && echo works | wc -c");
|
|
|
|
|
// assert
|
2025-03-18 11:48:03 +01:00
|
|
|
// TODO
|
2025-03-13 17:20:26 +01:00
|
|
|
assert(NULL != cmd);
|
|
|
|
|
assert_cmdgroup_itemlistequal("echo this | cat -e && echo works | wc -c", cmd, 0);
|
|
|
|
|
// cleanup
|
|
|
|
|
cmdgroup_destroy(cmd);
|
|
|
|
|
do_leak_check();
|
|
|
|
|
}
|
|
|
|
|
|
2025-03-11 15:20:19 +01:00
|
|
|
int main(void)
|
|
|
|
|
{
|
|
|
|
|
test_cmdgroup_parsing_empty();
|
2025-03-11 16:41:38 +01:00
|
|
|
test_cmdgroup_parsing_single_cmdlist();
|
2025-03-13 17:20:26 +01:00
|
|
|
test_cmdgroup_parsing_two_cmdlist();
|
2025-03-11 16:41:38 +01:00
|
|
|
// redirections
|
2025-03-11 15:20:19 +01:00
|
|
|
return (0);
|
|
|
|
|
}
|