user: Converte this assembly snippet into its equivalent C code:

```asm
<all_tests>:
  endbr64
  sub    $0x8,%rsp
  xor    %eax,%eax
  call   <canonical@plt>
  xor    %eax,%eax
  call   <test_append_selected_files@plt>
  xor    %eax,%eax
  call   <test_expand_macros@plt>
  xor    %eax,%eax
  call   <path_starts_with_tests@plt>
  xor    %eax,%eax
  call   <comments_tests@plt>
  xor    %eax,%eax
  call   <format_edit_selection_cmd_tests@plt>
  xor    %eax,%eax
  call   <test_reserved_commands@plt>
  xor    %eax,%eax
  call   <test_cmdline_completion@plt>
  xor    %eax,%eax
  call   <test_dispatch_line@plt>
  xor    %eax,%eax
  call   <test_command_separation@plt>
  xor    %eax,%eax
  call   <friendly_size@plt>
  xor    %eax,%eax
  call   <rel_symlinks_tests@plt>
  xor    %eax,%eax
  call   <fname_modif_tests@plt>
  xor    %eax,%eax
  call   <gen_clone_name_tests@plt>
  xor    %eax,%eax
  call   <rename_tests@plt>
  xor    %eax,%eax
  call   <sort_tests@plt>
  xor    %eax,%eax
  call   <filtering_tests@plt>
  xor    %eax,%eax
  call   <bookmarks_tests@plt>
  xor    %eax,%eax
  call   <leave_invalid_dir_tests@plt>
  xor    %eax,%eax
  call   <remove_last_path_component_tests@plt>
  xor    %eax,%eax
  call   <substitute_tests@plt>
  xor    %eax,%eax
  call   <cut_extension_tests@plt>
  xor    %eax,%eax
  call   <get_command_name_tests@plt>
  xor    %eax,%eax
  call   <format_mount_command_tests@plt>
  xor    %eax,%eax
  call   <trim_right_tests@plt>
  xor    %eax,%eax
  call   <echo_tests@plt>
  xor    %eax,%eax
  call   <format_str_tests@plt>
  xor    %eax,%eax
  call   <utf8_tests@plt>
  xor    %eax,%eax
  call   <read_line_tests@plt>
  xor    %eax,%eax
  call   <history_tests@plt>
  xor    %eax,%eax
  call   <extract_part_tests@plt>
  xor    %eax,%eax
  call   <strchar2str_tests@plt>
  xor    %eax,%eax
  call   <get_last_path_component_tests@plt>
  xor    %eax,%eax
  call   <get_line_tests@plt>
  xor    %eax,%eax
  call   <expand_custom_macros_tests@plt>
  xor    %eax,%eax
  call   <expand_envvars_tests@plt>
  xor    %eax,%eax
  call   <external_command_exists_tests@plt>
  xor    %eax,%eax
  call   <read_file_lines_tests@plt>
  xor    %eax,%eax
  call   <if_else_tests@plt>
  xor    %eax,%eax
  call   <split_ext_tests@plt>
  xor    %eax,%eax
  call   <parse_spec_tests@plt>
  xor    %eax,%eax
  call   <minmax_tests@plt>
  xor    %eax,%eax
  call   <ui_view_schedule_tests@plt>
  xor    %eax,%eax
  call   <string_escape_tests@plt>
  xor    %eax,%eax
  call   <split_and_get_tests@plt>
  xor    %eax,%eax
  call   <functional_tests@plt>
  xor    %eax,%eax
  call   <cmdline_emark_tests@plt>
  xor    %eax,%eax
  add    $0x8,%rsp
  jmp    2580 <is_dir_tests@plt>
```

assistant: ```c
void all_tests(void) {
  canonical();
  test_append_selected_files();
  test_expand_macros();
  path_starts_with_tests();
  comments_tests();
  format_edit_selection_cmd_tests();
  test_reserved_commands();
  test_cmdline_completion();
  test_dispatch_line();
  test_command_separation();
  friendly_size();
  rel_symlinks_tests();
  fname_modif_tests();
  gen_clone_name_tests();
  rename_tests();
  sort_tests();
  filtering_tests();
  bookmarks_tests();
  leave_invalid_dir_tests();
  remove_last_path_component_tests();
  substitute_tests();
  cut_extension_tests();
  get_command_name_tests();
  format_mount_command_tests();
  trim_right_tests();
  echo_tests();
  format_str_tests();
  utf8_tests();
  read_line_tests();
  history_tests();
  extract_part_tests();
  strchar2str_tests();
  get_last_path_component_tests();
  get_line_tests();
  expand_custom_macros_tests();
  expand_envvars_tests();
  external_command_exists_tests();
  read_file_lines_tests();
  if_else_tests();
  split_ext_tests();
  parse_spec_tests();
  minmax_tests();
  ui_view_schedule_tests();
  string_escape_tests();
  split_and_get_tests();
  functional_tests();
  cmdline_emark_tests();
  is_dir_tests();
}
```