test_parser.c

Unit tests for the 42sh parser module.

Defines

BUFSIZE

Functions

static void test_simple_command(void)
static void test_command_args(void)
static void test_pipe(void)
static void test_and(void)
static void test_or(void)
static void test_sequence(void)
static void test_subshell_pipe(void)
static void test_subshell_redir(void)
static void test_redirection(void)
static void test_complex_redir(void)
static void test_multiple_redirs(void)
static void test_background_separator(void)
static void test_multiple_background_chain(void)
static void test_trailing_background(void)
static void test_pipe_newline(void)
static void test_and_newline(void)
static void test_only_pipe(void)
static void test_only_and(void)
static void test_only_or_and(void)
static void test_unclose_parenthesis(void)
static void test_unopen_parenthesis(void)
static void test_redirs_in_a_row(void)
static t_ast *write_to_pipe(char *content, char *cmd)
static void test_heredoc_basic(void)
static void test_heredoc_stripped_basic(void)
static void test_heredoc_multiline(void)
static void test_heredoc_stripped_multiline(void)
static void test_heredoc_quoted_no_expand(void)
static void test_heredoc_stripped_quoted_no_expand(void)
static void test_heredoc_pipe(void)
static void test_heredoc_stripped_pipe(void)
static void test_heredoc_with_redir(void)
static void test_heredoc_stripped_with_redir(void)
static void test_heredoc_unterminated(void)
static void test_heredoc_stripped_unterminated(void)
static void test_heredoc_group(void)
static void test_heredoc_stripped_group(void)
static void test_heredoc_empty(void)
static void test_heredoc_stripped_empty(void)
static void test_no_heredoc(void)
static void test_assignment(void)
static void test_multiple_assignments(void)
static void test_assignment_only(void)
static void test_assignment_after_command(void)
static void test_assignment_and_args(void)
static void test_assignment_with_redir(void)
static void test_assignment_in_pipeline(void)
static void test_invalid_assignment_digit(void)
static void test_empty_value_assignment(void)
static void test_plus_equals_not_assignment(void)
static void test_assignment_before_subshell(void)
static int assert_command_node(t_ast *ast)
static int assert_argv_at(t_ast *ast, int i, const char *expected, const char *func_name)
static int assert_assignment_at(t_list *a, int i, const char *expected, const char *func_name)
static void test_assignment_underscore_name(void)
static void test_assignment_underscore_inside_name(void)
static void test_assignment_alnum_value(void)
static void test_assignment_value_with_extra_equals(void)
static void test_assignment_double_quoted(void)
static void test_assignment_single_quoted(void)
static void test_assignment_double_quoted_with_space(void)
static void test_assignment_double_quoted_empty(void)
static void test_assignment_double_quoted_with_hash_and_equals(void)
static void test_assignment_dollar_value(void)
static void test_assignment_double_quoted_dollar(void)
static void test_assignment_mixed_quoted_and_bare(void)
static void test_assignment_many_bare_then_args(void)
static void test_assignment_after_argv_is_arg(void)
static void test_assignment_only_empty_value(void)
static void test_assignment_only_multiple(void)
static void test_assignment_leading_equals_falls_to_argv(void)
static void test_assignment_dash_in_name_falls_to_argv(void)
static void test_assignment_pipeline_quoted_both_sides(void)
static void test_assignment_with_two_redirs(void)
void test_parser_suite(void)