From 3b387d81e63893ed3fe3b45e3721fbcfb1c5dde0 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 19 Oct 2022 10:29:05 -0400 Subject: tests: Split test cases into separate files --- docs/BUILDING.md | 15 +- docs/HACKING.md | 20 +- docs/USAGE.md | 14 +- tests/bfs/D_all.out | 19 + tests/bfs/D_all.sh | 1 + tests/bfs/D_multi.out | 19 + tests/bfs/D_multi.sh | 1 + tests/bfs/L_capable.out | 2 + tests/bfs/L_capable.sh | 12 + tests/bfs/L_unique.out | 1 + tests/bfs/L_unique.sh | 1 + tests/bfs/L_unique_depth.out | 3 + tests/bfs/L_unique_depth.sh | 1 + tests/bfs/L_unique_loops.out | 3 + tests/bfs/L_unique_loops.sh | 1 + tests/bfs/O0.out | 19 + tests/bfs/O0.sh | 1 + tests/bfs/O1.out | 19 + tests/bfs/O1.sh | 1 + tests/bfs/O2.out | 19 + tests/bfs/O2.sh | 1 + tests/bfs/O3.out | 19 + tests/bfs/O3.sh | 1 + tests/bfs/Ofast.out | 19 + tests/bfs/Ofast.sh | 1 + tests/bfs/S_bfs.out | 19 + tests/bfs/S_bfs.sh | 2 + tests/bfs/S_dfs.out | 19 + tests/bfs/S_dfs.sh | 2 + tests/bfs/S_ids.out | 19 + tests/bfs/S_ids.sh | 2 + tests/bfs/and_incomplete.sh | 1 + tests/bfs/capable.out | 1 + tests/bfs/capable.sh | 12 + tests/bfs/color.out | 20 + tests/bfs/color.sh | 1 + tests/bfs/color_L.out | 20 + tests/bfs/color_L.sh | 1 + tests/bfs/color_L_ln_target.out | 20 + tests/bfs/color_L_ln_target.sh | 1 + tests/bfs/color_L_no_stat.out | 20 + tests/bfs/color_L_no_stat.sh | 1 + tests/bfs/color_escapes.out | 20 + tests/bfs/color_escapes.sh | 1 + tests/bfs/color_ext.out | 20 + tests/bfs/color_ext.sh | 1 + tests/bfs/color_ext0.out | 20 + tests/bfs/color_ext0.sh | 1 + tests/bfs/color_ext_override.out | 20 + tests/bfs/color_ext_override.sh | 1 + tests/bfs/color_ext_underride.out | 20 + tests/bfs/color_ext_underride.sh | 1 + tests/bfs/color_ln_target.out | 20 + tests/bfs/color_ln_target.sh | 1 + tests/bfs/color_ls.out | 12 + tests/bfs/color_ls.sh | 15 + tests/bfs/color_mh.out | 20 + tests/bfs/color_mh.sh | 1 + tests/bfs/color_mh0.out | 20 + tests/bfs/color_mh0.sh | 1 + tests/bfs/color_mi.out | 20 + tests/bfs/color_mi.sh | 1 + tests/bfs/color_missing_colon.out | 20 + tests/bfs/color_missing_colon.sh | 1 + tests/bfs/color_no_stat.out | 20 + tests/bfs/color_no_stat.sh | 1 + tests/bfs/color_nul.out | Bin 0 -> 20 bytes tests/bfs/color_nul.sh | 2 + tests/bfs/color_or.out | 20 + tests/bfs/color_or.sh | 1 + tests/bfs/color_or0_mi.out | 20 + tests/bfs/color_or0_mi.sh | 1 + tests/bfs/color_or0_mi0.out | 20 + tests/bfs/color_or0_mi0.sh | 1 + tests/bfs/color_or_mi.out | 20 + tests/bfs/color_or_mi.sh | 1 + tests/bfs/color_or_mi0.out | 20 + tests/bfs/color_or_mi0.sh | 1 + tests/bfs/color_rs_lc_rc_ec.out | 20 + tests/bfs/color_rs_lc_rc_ec.sh | 1 + tests/bfs/color_st0_tw0_ow.out | 20 + tests/bfs/color_st0_tw0_ow.sh | 1 + tests/bfs/color_st0_tw0_ow0.out | 20 + tests/bfs/color_st0_tw0_ow0.sh | 1 + tests/bfs/color_st0_tw_ow.out | 20 + tests/bfs/color_st0_tw_ow.sh | 1 + tests/bfs/color_st0_tw_ow0.out | 20 + tests/bfs/color_st0_tw_ow0.sh | 1 + tests/bfs/color_st_tw0_ow.out | 20 + tests/bfs/color_st_tw0_ow.sh | 1 + tests/bfs/color_st_tw0_ow0.out | 20 + tests/bfs/color_st_tw0_ow0.sh | 1 + tests/bfs/color_st_tw_ow0.out | 20 + tests/bfs/color_st_tw_ow0.sh | 1 + tests/bfs/color_star.out | 20 + tests/bfs/color_star.sh | 2 + tests/bfs/color_su0_sg.out | 20 + tests/bfs/color_su0_sg.sh | 1 + tests/bfs/color_su0_sg0.out | 20 + tests/bfs/color_su0_sg0.sh | 1 + tests/bfs/color_su_sg0.out | 20 + tests/bfs/color_su_sg0.sh | 1 + tests/bfs/comma_incomplete.sh | 1 + tests/bfs/data_flow_hidden.out | 19 + tests/bfs/data_flow_hidden.sh | 1 + tests/bfs/deep_strict.out | 16 + tests/bfs/deep_strict.sh | 5 + tests/bfs/exclude_depth.out | 13 + tests/bfs/exclude_depth.sh | 1 + tests/bfs/exclude_exclude.sh | 1 + tests/bfs/exclude_mindepth.out | 0 tests/bfs/exclude_mindepth.sh | 1 + tests/bfs/exclude_name.out | 13 + tests/bfs/exclude_name.sh | 1 + tests/bfs/exclude_print.sh | 1 + tests/bfs/exec_flush_fprint.out | 1 + tests/bfs/exec_flush_fprint.sh | 3 + tests/bfs/exec_flush_fprint_fail.sh | 2 + tests/bfs/execdir_plus.out | 11 + tests/bfs/execdir_plus.sh | 7 + tests/bfs/execdir_plus_nonexistent.out | 19 + tests/bfs/execdir_plus_nonexistent.sh | 5 + tests/bfs/expr_flag_path.out | 2 + tests/bfs/expr_flag_path.sh | 1 + tests/bfs/expr_path_flag.out | 2 + tests/bfs/expr_path_flag.sh | 1 + tests/bfs/flag_expr_path.out | 2 + tests/bfs/flag_expr_path.sh | 1 + tests/bfs/fprint_duplicate_stdout.out | 38 + tests/bfs/fprint_duplicate_stdout.sh | 3 + tests/bfs/fprint_error_stderr.sh | 2 + tests/bfs/fprint_error_stdout.sh | 2 + tests/bfs/help.sh | 6 + tests/bfs/hidden.out | 1 + tests/bfs/hidden.sh | 1 + tests/bfs/hidden_root.out | 5 + tests/bfs/hidden_root.sh | 2 + tests/bfs/links_empty.sh | 1 + tests/bfs/links_invalid.sh | 1 + tests/bfs/links_negative.sh | 1 + tests/bfs/links_noarg.sh | 1 + tests/bfs/newerma_nonexistent.sh | 1 + tests/bfs/newermq.sh | 1 + tests/bfs/newermt_invalid.sh | 1 + tests/bfs/newerqm.sh | 1 + tests/bfs/nohidden.out | 21 + tests/bfs/nohidden.sh | 1 + tests/bfs/nohidden_depth.out | 21 + tests/bfs/nohidden_depth.sh | 1 + tests/bfs/nowarn.sh | 2 + tests/bfs/ok_plus_semicolon.out | 19 + tests/bfs/ok_plus_semicolon.sh | 8 + tests/bfs/okdir_plus_semicolon.out | 19 + tests/bfs/okdir_plus_semicolon.sh | 1 + tests/bfs/or_incomplete.sh | 1 + tests/bfs/path_expr_flag.out | 2 + tests/bfs/path_expr_flag.sh | 1 + tests/bfs/path_flag_expr.out | 2 + tests/bfs/path_flag_expr.sh | 1 + tests/bfs/perm_leading_plus_symbolic.out | 0 tests/bfs/perm_leading_plus_symbolic.sh | 1 + tests/bfs/perm_symbolic_double_comma.sh | 1 + tests/bfs/perm_symbolic_missing_action.sh | 1 + tests/bfs/perm_symbolic_trailing_comma.sh | 1 + tests/bfs/printf_color.out | 20 + tests/bfs/printf_color.sh | 1 + tests/bfs/printf_duplicate_flag.sh | 1 + tests/bfs/printf_everything.sh | 9 + tests/bfs/printf_incomplete_escape.sh | 1 + tests/bfs/printf_incomplete_format.sh | 1 + tests/bfs/printf_invalid_escape.sh | 1 + tests/bfs/printf_invalid_format.sh | 1 + tests/bfs/printf_must_be_numeric.sh | 1 + tests/bfs/printf_w.out | 0 tests/bfs/printf_w.sh | 2 + tests/bfs/stderr_fails_loudly.sh | 2 + tests/bfs/stderr_fails_silently.out | 19 + tests/bfs/stderr_fails_silently.sh | 2 + tests/bfs/type_multi.out | 7 + tests/bfs/type_multi.sh | 1 + tests/bfs/typo.sh | 1 + tests/bfs/unexpected_operator.sh | 1 + tests/bfs/unique.out | 2 + tests/bfs/unique.sh | 1 + tests/bfs/unique_depth.out | 19 + tests/bfs/unique_depth.sh | 1 + tests/bfs/version.sh | 1 + tests/bfs/warn.sh | 2 + tests/bfs/xtype_depth.sh | 2 + tests/bfs/xtype_multi.out | 10 + tests/bfs/xtype_multi.sh | 1 + tests/bfs/xtype_reorder.out | 0 tests/bfs/xtype_reorder.sh | 4 + tests/bsd/E.out | 1 + tests/bsd/E.sh | 2 + tests/bsd/H_mnewer.out | 4 + tests/bsd/H_mnewer.sh | 1 + tests/bsd/L_acl.out | 2 + tests/bsd/L_acl.sh | 9 + tests/bsd/L_xattr.out | 3 + tests/bsd/L_xattr.sh | 3 + tests/bsd/L_xattrname.out | 2 + tests/bsd/L_xattrname.sh | 11 + tests/bsd/X.out | 19 + tests/bsd/X.sh | 2 + tests/bsd/acl.out | 1 + tests/bsd/acl.sh | 9 + tests/bsd/asince.out | 3 + tests/bsd/asince.sh | 1 + tests/bsd/d_path.out | 19 + tests/bsd/d_path.sh | 1 + tests/bsd/data_flow_depth.out | 8 + tests/bsd/data_flow_depth.sh | 1 + tests/bsd/data_flow_sparse.out | 19 + tests/bsd/data_flow_sparse.sh | 1 + tests/bsd/depth_depth_n.out | 6 + tests/bsd/depth_depth_n.sh | 1 + tests/bsd/depth_depth_n_minus.out | 10 + tests/bsd/depth_depth_n_minus.sh | 1 + tests/bsd/depth_depth_n_plus.out | 3 + tests/bsd/depth_depth_n_plus.sh | 1 + tests/bsd/depth_n.out | 6 + tests/bsd/depth_n.sh | 1 + tests/bsd/depth_n_minus.out | 10 + tests/bsd/depth_n_minus.sh | 1 + tests/bsd/depth_n_plus.out | 3 + tests/bsd/depth_n_plus.sh | 1 + tests/bsd/depth_overflow.out | 19 + tests/bsd/depth_overflow.sh | 1 + tests/bsd/exit.out | 1 + tests/bsd/exit.sh | 11 + tests/bsd/exit_no_implicit_print.out | 0 tests/bsd/exit_no_implicit_print.sh | 1 + tests/bsd/f.out | 4 + tests/bsd/f.sh | 2 + tests/bsd/flags.out | 1 + tests/bsd/flags.sh | 8 + tests/bsd/gid_name.out | 19 + tests/bsd/gid_name.sh | 1 + tests/bsd/mnewer.out | 4 + tests/bsd/mnewer.sh | 1 + tests/bsd/msince.out | 3 + tests/bsd/msince.sh | 1 + tests/bsd/mtime_units.out | 5 + tests/bsd/mtime_units.sh | 1 + tests/bsd/okdir_stdin.out | 19 + tests/bsd/okdir_stdin.sh | 2 + tests/bsd/perm_000_plus.out | 8 + tests/bsd/perm_000_plus.sh | 1 + tests/bsd/perm_222_plus.out | 5 + tests/bsd/perm_222_plus.sh | 1 + tests/bsd/perm_644_plus.out | 7 + tests/bsd/perm_644_plus.sh | 1 + tests/bsd/printx.out | 23 + tests/bsd/printx.sh | 1 + tests/bsd/quit_implicit_print.out | 1 + tests/bsd/quit_implicit_print.sh | 1 + tests/bsd/rm.out | 1 + tests/bsd/rm.sh | 6 + tests/bsd/s.out | 12 + tests/bsd/s.sh | 2 + tests/bsd/size_T.out | 1 + tests/bsd/size_T.sh | 1 + tests/bsd/uid_name.out | 19 + tests/bsd/uid_name.sh | 1 + tests/bsd/xattr.out | 3 + tests/bsd/xattr.sh | 3 + tests/bsd/xattrname.out | 2 + tests/bsd/xattrname.sh | 11 + tests/common/H_newer.out | 4 + tests/common/H_newer.sh | 1 + tests/common/H_samefile_broken.out | 1 + tests/common/H_samefile_broken.sh | 1 + tests/common/H_samefile_notdir.out | 1 + tests/common/H_samefile_notdir.sh | 1 + tests/common/H_samefile_symlink.out | 2 + tests/common/H_samefile_symlink.sh | 1 + tests/common/L_ilname.out | 0 tests/common/L_ilname.sh | 2 + tests/common/L_lname.out | 0 tests/common/L_lname.sh | 1 + tests/common/L_ls.sh | 1 + tests/common/L_mount.out | 5 + tests/common/L_mount.sh | 15 + tests/common/L_samefile_broken.out | 1 + tests/common/L_samefile_broken.sh | 1 + tests/common/L_samefile_notdir.out | 1 + tests/common/L_samefile_notdir.sh | 1 + tests/common/L_samefile_symlink.out | 3 + tests/common/L_samefile_symlink.sh | 1 + tests/common/P.out | 1 + tests/common/P.sh | 1 + tests/common/P_slash.out | 1 + tests/common/P_slash.sh | 1 + tests/common/anewer.out | 4 + tests/common/anewer.sh | 1 + tests/common/delete.out | 1 + tests/common/delete.sh | 7 + tests/common/delete_many.out | 1 + tests/common/delete_many.sh | 8 + tests/common/depth_maxdepth_1.out | 10 + tests/common/depth_maxdepth_1.sh | 1 + tests/common/depth_maxdepth_2.out | 16 + tests/common/depth_maxdepth_2.sh | 1 + tests/common/depth_mindepth_1.out | 18 + tests/common/depth_mindepth_1.sh | 1 + tests/common/depth_mindepth_2.out | 9 + tests/common/depth_mindepth_2.sh | 1 + tests/common/double_dash.out | 7 + tests/common/double_dash.sh | 2 + tests/common/exec_substring.out | 19 + tests/common/exec_substring.sh | 1 + tests/common/execdir_nonexistent.out | 19 + tests/common/execdir_nonexistent.sh | 5 + tests/common/execdir_pwd.out | 19 + tests/common/execdir_pwd.sh | 3 + tests/common/execdir_slash.out | 1 + tests/common/execdir_slash.sh | 2 + tests/common/execdir_slash_pwd.out | 1 + tests/common/execdir_slash_pwd.sh | 1 + tests/common/execdir_slashes.out | 1 + tests/common/execdir_slashes.sh | 1 + tests/common/execdir_ulimit.out | 40 + tests/common/execdir_ulimit.sh | 7 + tests/common/flag_double_dash.out | 7 + tests/common/flag_double_dash.sh | 2 + tests/common/follow.out | 17 + tests/common/follow.sh | 1 + tests/common/ilname.out | 0 tests/common/ilname.sh | 2 + tests/common/iname.out | 4 + tests/common/iname.sh | 2 + tests/common/inum.out | 1 + tests/common/inum.sh | 1 + tests/common/inum_bind_mount.out | 2 + tests/common/inum_bind_mount.sh | 12 + tests/common/inum_mount.out | 1 + tests/common/inum_mount.sh | 12 + tests/common/ipath.out | 7 + tests/common/ipath.sh | 2 + tests/common/iregex.out | 3 + tests/common/iregex.sh | 1 + tests/common/lname.out | 0 tests/common/lname.sh | 1 + tests/common/ls.sh | 1 + tests/common/maxdepth.out | 10 + tests/common/maxdepth.sh | 1 + tests/common/mindepth.out | 18 + tests/common/mindepth.sh | 1 + tests/common/mount.out | 4 + tests/common/mount.sh | 13 + tests/common/name_slash.out | 1 + tests/common/name_slash.sh | 1 + tests/common/name_slashes.out | 1 + tests/common/name_slashes.sh | 1 + tests/common/newerma.out | 4 + tests/common/newerma.sh | 1 + tests/common/newermt.out | 3 + tests/common/newermt.sh | 1 + tests/common/newermt_epoch_minus_one.out | 5 + tests/common/newermt_epoch_minus_one.sh | 1 + tests/common/ok_closed_stdin.out | 0 tests/common/ok_closed_stdin.sh | 1 + tests/common/okdir_closed_stdin.out | 0 tests/common/okdir_closed_stdin.sh | 1 + tests/common/quit.out | 1 + tests/common/quit.sh | 1 + tests/common/quit_after_print.out | 1 + tests/common/quit_after_print.sh | 1 + tests/common/quit_before_print.out | 0 tests/common/quit_before_print.sh | 1 + tests/common/quit_child.out | 2 + tests/common/quit_child.sh | 1 + tests/common/quit_depth.out | 2 + tests/common/quit_depth.sh | 1 + tests/common/quit_depth_child.out | 1 + tests/common/quit_depth_child.sh | 1 + tests/common/regex.out | 3 + tests/common/regex.sh | 1 + tests/common/regex_parens.out | 1 + tests/common/regex_parens.sh | 2 + tests/common/samefile.out | 2 + tests/common/samefile.sh | 1 + tests/common/samefile_broken.out | 1 + tests/common/samefile_broken.sh | 1 + tests/common/samefile_notdir.out | 1 + tests/common/samefile_notdir.sh | 1 + tests/common/samefile_symlink.out | 1 + tests/common/samefile_symlink.sh | 1 + tests/common/size_big.out | 0 tests/common/size_big.sh | 1 + tests/gnu/L_delete.out | 2 + tests/gnu/L_delete.sh | 9 + tests/gnu/L_loops_continue.out | 11 + tests/gnu/L_loops_continue.sh | 2 + tests/gnu/L_xtype_f.out | 4 + tests/gnu/L_xtype_f.sh | 1 + tests/gnu/L_xtype_l.out | 8 + tests/gnu/L_xtype_l.sh | 1 + tests/gnu/and.out | 2 + tests/gnu/and.sh | 1 + tests/gnu/and_false_or_true.out | 1 + tests/gnu/and_false_or_true.sh | 3 + tests/gnu/and_purity.out | 0 tests/gnu/and_purity.sh | 2 + tests/gnu/comma.out | 23 + tests/gnu/comma.sh | 1 + tests/gnu/comma_reachability.out | 1 + tests/gnu/comma_reachability.sh | 1 + tests/gnu/comma_redundant_false.out | 1 + tests/gnu/comma_redundant_false.sh | 2 + tests/gnu/comma_redundant_true.out | 1 + tests/gnu/comma_redundant_true.sh | 2 + tests/gnu/daystart.out | 19 + tests/gnu/daystart.sh | 1 + tests/gnu/daystart_twice.out | 19 + tests/gnu/daystart_twice.sh | 1 + tests/gnu/empty.out | 8 + tests/gnu/empty.sh | 1 + tests/gnu/empty_special.out | 14 + tests/gnu/empty_special.sh | 1 + tests/gnu/exec_flush.out | 19 + tests/gnu/exec_flush.sh | 4 + tests/gnu/exec_flush_fail.sh | 3 + tests/gnu/exec_nothing.sh | 2 + tests/gnu/exec_plus_flush.out | Bin 0 -> 22 bytes tests/gnu/exec_plus_flush.sh | 2 + tests/gnu/exec_plus_flush_fail.sh | 2 + tests/gnu/execdir.out | 19 + tests/gnu/execdir.sh | 1 + tests/gnu/execdir_plus_semicolon.out | 19 + tests/gnu/execdir_plus_semicolon.sh | 1 + tests/gnu/execdir_substring.out | 19 + tests/gnu/execdir_substring.sh | 1 + tests/gnu/executable.out | 4 + tests/gnu/executable.sh | 1 + tests/gnu/false.out | 0 tests/gnu/false.sh | 1 + tests/gnu/files0_from_empty.sh | 1 + tests/gnu/files0_from_file.out | 33 + tests/gnu/files0_from_file.sh | 3 + tests/gnu/files0_from_none.sh | 1 + tests/gnu/files0_from_nothing.sh | 1 + tests/gnu/files0_from_nowhere.sh | 1 + tests/gnu/files0_from_ok.sh | 1 + tests/gnu/files0_from_stdin.out | 33 + tests/gnu/files0_from_stdin.sh | 2 + tests/gnu/fls.sh | 1 + tests/gnu/follow_comma.out | 23 + tests/gnu/follow_comma.sh | 3 + tests/gnu/fprint.out | 19 + tests/gnu/fprint.sh | 3 + tests/gnu/fprint0.out | Bin 0 -> 16 bytes tests/gnu/fprint0.sh | 2 + tests/gnu/fprint_duplicate.out | 57 + tests/gnu/fprint_duplicate.sh | 7 + tests/gnu/fprint_error.sh | 2 + tests/gnu/fprint_noarg.sh | 1 + tests/gnu/fprint_noerror.sh | 3 + tests/gnu/fprint_nonexistent.sh | 1 + tests/gnu/fprint_truncate.out | 1 + tests/gnu/fprint_truncate.sh | 5 + tests/gnu/fprintf.out | 19 + tests/gnu/fprintf.sh | 3 + tests/gnu/fprintf_nofile.sh | 1 + tests/gnu/fprintf_noformat.sh | 1 + tests/gnu/fstype.out | 19 + tests/gnu/fstype.sh | 2 + tests/gnu/gid.out | 19 + tests/gnu/gid.sh | 1 + tests/gnu/gid_minus.out | 19 + tests/gnu/gid_minus.sh | 1 + tests/gnu/gid_minus_plus.out | 19 + tests/gnu/gid_minus_plus.sh | 1 + tests/gnu/gid_plus.out | 19 + tests/gnu/gid_plus.sh | 2 + tests/gnu/gid_plus_plus.out | 19 + tests/gnu/gid_plus_plus.sh | 2 + tests/gnu/ignore_readdir_race.sh | 5 + tests/gnu/ignore_readdir_race_notdir.sh | 5 + tests/gnu/ignore_readdir_race_root.sh | 2 + tests/gnu/inum_automount.out | 1 + tests/gnu/inum_automount.sh | 17 + tests/gnu/iwholename.out | 7 + tests/gnu/iwholename.sh | 2 + tests/gnu/not.out | 16 + tests/gnu/not.sh | 1 + tests/gnu/not_reachability.out | 1 + tests/gnu/not_reachability.sh | 1 + tests/gnu/ok_nothing.sh | 2 + tests/gnu/or.out | 13 + tests/gnu/or.sh | 1 + tests/gnu/path_d.out | 19 + tests/gnu/path_d.sh | 1 + tests/gnu/perm_000_slash.out | 8 + tests/gnu/perm_000_slash.sh | 1 + tests/gnu/perm_222_slash.out | 5 + tests/gnu/perm_222_slash.sh | 1 + tests/gnu/perm_644_slash.out | 7 + tests/gnu/perm_644_slash.sh | 1 + tests/gnu/perm_leading_plus_symbolic_slash.out | 7 + tests/gnu/perm_leading_plus_symbolic_slash.sh | 1 + tests/gnu/perm_symbolic_slash.out | 7 + tests/gnu/perm_symbolic_slash.sh | 1 + tests/gnu/precedence.out | 4 + tests/gnu/precedence.sh | 1 + tests/gnu/print0.out | Bin 0 -> 16 bytes tests/gnu/print0.sh | 2 + tests/gnu/print_error.sh | 2 + tests/gnu/printf.out | 19 + tests/gnu/printf.sh | 1 + tests/gnu/printf_H.out | 32 + tests/gnu/printf_H.sh | 1 + tests/gnu/printf_Y_error.out | 3 + tests/gnu/printf_Y_error.sh | 12 + tests/gnu/printf_empty.out | 0 tests/gnu/printf_empty.sh | 1 + tests/gnu/printf_escapes.out | 1 + tests/gnu/printf_escapes.sh | 1 + tests/gnu/printf_flags.out | 19 + tests/gnu/printf_flags.sh | 1 + tests/gnu/printf_l_nonlink.out | 13 + tests/gnu/printf_l_nonlink.sh | 1 + tests/gnu/printf_leak.out | 1 + tests/gnu/printf_leak.sh | 2 + tests/gnu/printf_nul.out | Bin 0 -> 16 bytes tests/gnu/printf_nul.sh | 3 + tests/gnu/printf_slash.out | 1 + tests/gnu/printf_slash.sh | 1 + tests/gnu/printf_slashes.out | 1 + tests/gnu/printf_slashes.sh | 1 + tests/gnu/printf_times.out | 3 + tests/gnu/printf_times.sh | 1 + tests/gnu/printf_trailing_slash.out | 19 + tests/gnu/printf_trailing_slash.sh | 1 + tests/gnu/printf_trailing_slashes.out | 19 + tests/gnu/printf_trailing_slashes.sh | 1 + tests/gnu/printf_types.out | 11 + tests/gnu/printf_types.sh | 1 + tests/gnu/printf_u_g_ulimit.sh | 3 + tests/gnu/readable.out | 5 + tests/gnu/readable.sh | 1 + tests/gnu/regex_error.sh | 1 + tests/gnu/regex_invalid_utf8.out | 1 + tests/gnu/regex_invalid_utf8.sh | 8 + tests/gnu/regextype_ed.out | 1 + tests/gnu/regextype_ed.sh | 2 + tests/gnu/regextype_emacs.out | 6 + tests/gnu/regextype_emacs.sh | 3 + tests/gnu/regextype_grep.out | 4 + tests/gnu/regextype_grep.sh | 3 + tests/gnu/regextype_posix_basic.out | 1 + tests/gnu/regextype_posix_basic.sh | 2 + tests/gnu/regextype_posix_extended.out | 1 + tests/gnu/regextype_posix_extended.sh | 2 + tests/gnu/regextype_sed.out | 1 + tests/gnu/regextype_sed.sh | 2 + tests/gnu/true.out | 19 + tests/gnu/true.sh | 1 + tests/gnu/uid.out | 19 + tests/gnu/uid.sh | 1 + tests/gnu/uid_minus.out | 19 + tests/gnu/uid_minus.sh | 1 + tests/gnu/uid_minus_plus.out | 19 + tests/gnu/uid_minus_plus.sh | 1 + tests/gnu/uid_plus.out | 19 + tests/gnu/uid_plus.sh | 2 + tests/gnu/uid_plus_plus.out | 19 + tests/gnu/uid_plus_plus.sh | 2 + tests/gnu/wholename.out | 7 + tests/gnu/wholename.sh | 1 + tests/gnu/writable.out | 5 + tests/gnu/writable.sh | 1 + tests/gnu/xtype_bind_mount.out | 2 + tests/gnu/xtype_bind_mount.sh | 13 + tests/gnu/xtype_f.out | 5 + tests/gnu/xtype_f.sh | 1 + tests/gnu/xtype_l.out | 3 + tests/gnu/xtype_l.sh | 1 + tests/posix/H.out | 1 + tests/posix/H.sh | 1 + tests/posix/H_broken.out | 1 + tests/posix/H_broken.sh | 1 + tests/posix/H_loops.out | 4 + tests/posix/H_loops.sh | 1 + tests/posix/H_notdir.out | 1 + tests/posix/H_notdir.sh | 1 + tests/posix/H_slash.out | 1 + tests/posix/H_slash.sh | 1 + tests/posix/H_type_l.out | 2 + tests/posix/H_type_l.sh | 1 + tests/posix/L.out | 17 + tests/posix/L.sh | 1 + tests/posix/L_broken.out | 1 + tests/posix/L_broken.sh | 1 + tests/posix/L_depth.out | 17 + tests/posix/L_depth.sh | 1 + tests/posix/L_loops.sh | 4 + tests/posix/L_notdir.out | 1 + tests/posix/L_notdir.sh | 1 + tests/posix/L_type_l.out | 1 + tests/posix/L_type_l.sh | 1 + tests/posix/L_xdev.out | 5 + tests/posix/L_xdev.sh | 15 + tests/posix/a.out | 2 + tests/posix/a.sh | 1 + tests/posix/bang.out | 16 + tests/posix/bang.sh | 1 + tests/posix/basic.out | 19 + tests/posix/basic.sh | 1 + tests/posix/closed_stderr.sh | 1 + tests/posix/closed_stdin.out | 19 + tests/posix/closed_stdin.sh | 1 + tests/posix/closed_stdout.sh | 1 + tests/posix/data_flow_and_swap.out | 12 + tests/posix/data_flow_and_swap.sh | 1 + tests/posix/data_flow_group.out | 19 + tests/posix/data_flow_group.sh | 1 + tests/posix/data_flow_or_swap.out | 12 + tests/posix/data_flow_or_swap.sh | 1 + tests/posix/data_flow_type.out | 0 tests/posix/data_flow_type.sh | 1 + tests/posix/data_flow_user.out | 19 + tests/posix/data_flow_user.sh | 1 + tests/posix/de_morgan_and.out | 10 + tests/posix/de_morgan_and.sh | 1 + tests/posix/de_morgan_not.out | 6 + tests/posix/de_morgan_not.sh | 1 + tests/posix/de_morgan_or.out | 18 + tests/posix/de_morgan_or.sh | 1 + tests/posix/deep.out | 16 + tests/posix/deep.sh | 4 + tests/posix/depth.out | 19 + tests/posix/depth.sh | 1 + tests/posix/depth_error.out | 2 + tests/posix/depth_error.sh | 11 + tests/posix/depth_slash.out | 19 + tests/posix/depth_slash.sh | 1 + tests/posix/double_negation.out | 3 + tests/posix/double_negation.sh | 1 + tests/posix/exec.out | 19 + tests/posix/exec.sh | 1 + tests/posix/exec_nonexistent.out | 19 + tests/posix/exec_nonexistent.sh | 8 + tests/posix/exec_nopath.out | 19 + tests/posix/exec_nopath.sh | 7 + tests/posix/exec_plus.out | 1 + tests/posix/exec_plus.sh | 1 + tests/posix/exec_plus_nonexistent.out | 19 + tests/posix/exec_plus_nonexistent.sh | 5 + tests/posix/exec_plus_semicolon.out | 19 + tests/posix/exec_plus_semicolon.sh | 5 + tests/posix/exec_plus_status.out | 19 + tests/posix/exec_plus_status.sh | 4 + tests/posix/extra_paren.sh | 1 + tests/posix/flag_comma.out | 2 + tests/posix/flag_comma.sh | 3 + tests/posix/flag_weird_names.out | 28 + tests/posix/flag_weird_names.sh | 2 + tests/posix/group_id.out | 19 + tests/posix/group_id.sh | 1 + tests/posix/group_name.out | 19 + tests/posix/group_name.sh | 1 + tests/posix/group_nogroup.out | 19 + tests/posix/group_nogroup.sh | 2 + tests/posix/implicit_and.out | 2 + tests/posix/implicit_and.sh | 1 + tests/posix/incomplete.sh | 1 + tests/posix/links.out | 2 + tests/posix/links.sh | 1 + tests/posix/links_minus.out | 1 + tests/posix/links_minus.sh | 1 + tests/posix/links_plus.out | 2 + tests/posix/links_plus.sh | 1 + tests/posix/missing_paren.sh | 1 + tests/posix/name.out | 4 + tests/posix/name.sh | 1 + tests/posix/name_backslash.out | 0 tests/posix/name_backslash.sh | 2 + tests/posix/name_bracket.out | 1 + tests/posix/name_bracket.sh | 5 + tests/posix/name_character_class.out | 3 + tests/posix/name_character_class.sh | 1 + tests/posix/name_double_backslash.out | 1 + tests/posix/name_double_backslash.sh | 2 + tests/posix/name_root.out | 1 + tests/posix/name_root.sh | 1 + tests/posix/name_root_depth.out | 1 + tests/posix/name_root_depth.sh | 1 + tests/posix/name_star_star.out | 4 + tests/posix/name_star_star.sh | 1 + tests/posix/name_trailing_slash.out | 1 + tests/posix/name_trailing_slash.sh | 1 + tests/posix/newer.out | 4 + tests/posix/newer.sh | 1 + tests/posix/newer_link.out | 1 + tests/posix/newer_link.sh | 1 + tests/posix/nogroup.out | 0 tests/posix/nogroup.sh | 1 + tests/posix/nogroup_ulimit.out | 0 tests/posix/nogroup_ulimit.sh | 3 + tests/posix/not_prune.out | 13 + tests/posix/not_prune.sh | 1 + tests/posix/nouser.out | 0 tests/posix/nouser.sh | 1 + tests/posix/nouser_ulimit.out | 0 tests/posix/nouser_ulimit.sh | 3 + tests/posix/o.out | 13 + tests/posix/o.sh | 1 + tests/posix/ok_stdin.out | 19 + tests/posix/ok_stdin.sh | 3 + tests/posix/or_purity.out | 0 tests/posix/or_purity.sh | 2 + tests/posix/parens.out | 4 + tests/posix/parens.sh | 1 + tests/posix/path.out | 7 + tests/posix/path.sh | 1 + tests/posix/perm_000.out | 1 + tests/posix/perm_000.sh | 1 + tests/posix/perm_000_minus.out | 8 + tests/posix/perm_000_minus.sh | 1 + tests/posix/perm_222.out | 1 + tests/posix/perm_222.sh | 1 + tests/posix/perm_222_minus.out | 1 + tests/posix/perm_222_minus.sh | 1 + tests/posix/perm_644.out | 1 + tests/posix/perm_644.sh | 1 + tests/posix/perm_644_minus.out | 3 + tests/posix/perm_644_minus.sh | 1 + tests/posix/perm_leading_plus_symbolic_minus.out | 0 tests/posix/perm_leading_plus_symbolic_minus.sh | 1 + tests/posix/perm_setid.out | 3 + tests/posix/perm_setid.sh | 1 + tests/posix/perm_sticky.out | 2 + tests/posix/perm_sticky.sh | 1 + tests/posix/perm_symbolic.out | 0 tests/posix/perm_symbolic.sh | 1 + tests/posix/perm_symbolic_minus.out | 3 + tests/posix/perm_symbolic_minus.sh | 1 + tests/posix/permcopy.out | 1 + tests/posix/permcopy.sh | 1 + tests/posix/prune.out | 3 + tests/posix/prune.sh | 1 + tests/posix/prune_file.out | 10 + tests/posix/prune_file.sh | 1 + tests/posix/prune_or_print.out | 13 + tests/posix/prune_or_print.sh | 1 + tests/posix/size.out | 6 + tests/posix/size.sh | 1 + tests/posix/size_bytes.out | 1 + tests/posix/size_bytes.sh | 1 + tests/posix/size_plus.out | 1 + tests/posix/size_plus.sh | 1 + tests/posix/type_bind_mount.out | 1 + tests/posix/type_bind_mount.sh | 12 + tests/posix/type_d.out | 12 + tests/posix/type_d.sh | 1 + tests/posix/type_f.out | 7 + tests/posix/type_f.sh | 1 + tests/posix/type_l.out | 1 + tests/posix/type_l.sh | 1 + tests/posix/user_id.out | 19 + tests/posix/user_id.sh | 1 + tests/posix/user_name.out | 19 + tests/posix/user_name.sh | 1 + tests/posix/user_nouser.out | 19 + tests/posix/user_nouser.sh | 2 + tests/posix/weird_names.out | 28 + tests/posix/weird_names.sh | 2 + tests/posix/xdev.out | 4 + tests/posix/xdev.sh | 13 + tests/test_D_all.out | 19 - tests/test_D_multi.out | 19 - tests/test_E.out | 1 - tests/test_H.out | 1 - tests/test_H_broken.out | 1 - tests/test_H_loops.out | 4 - tests/test_H_mnewer.out | 4 - tests/test_H_newer.out | 4 - tests/test_H_notdir.out | 1 - tests/test_H_samefile_broken.out | 1 - tests/test_H_samefile_notdir.out | 1 - tests/test_H_samefile_symlink.out | 2 - tests/test_H_slash.out | 1 - tests/test_H_type_l.out | 2 - tests/test_L.out | 17 - tests/test_L_acl.out | 2 - tests/test_L_broken.out | 1 - tests/test_L_capable.out | 2 - tests/test_L_delete.out | 2 - tests/test_L_depth.out | 17 - tests/test_L_ilname.out | 0 tests/test_L_lname.out | 0 tests/test_L_loops_continue.out | 11 - tests/test_L_mount.out | 5 - tests/test_L_notdir.out | 1 - tests/test_L_samefile_broken.out | 1 - tests/test_L_samefile_notdir.out | 1 - tests/test_L_samefile_symlink.out | 3 - tests/test_L_type_l.out | 1 - tests/test_L_unique.out | 1 - tests/test_L_unique_depth.out | 3 - tests/test_L_unique_loops.out | 3 - tests/test_L_xattr.out | 3 - tests/test_L_xattrname.out | 2 - tests/test_L_xdev.out | 5 - tests/test_L_xtype_f.out | 4 - tests/test_L_xtype_l.out | 8 - tests/test_O0.out | 19 - tests/test_O1.out | 19 - tests/test_O2.out | 19 - tests/test_O3.out | 19 - tests/test_Ofast.out | 19 - tests/test_P.out | 1 - tests/test_P_slash.out | 1 - tests/test_S_bfs.out | 19 - tests/test_S_dfs.out | 19 - tests/test_S_ids.out | 19 - tests/test_X.out | 19 - tests/test_a.out | 2 - tests/test_acl.out | 1 - tests/test_and.out | 2 - tests/test_and_false_or_true.out | 1 - tests/test_and_purity.out | 0 tests/test_anewer.out | 4 - tests/test_asince.out | 3 - tests/test_bang.out | 16 - tests/test_basic.out | 19 - tests/test_capable.out | 1 - tests/test_closed_stdin.out | 19 - tests/test_color.out | 20 - tests/test_color_L.out | 20 - tests/test_color_L_ln_target.out | 20 - tests/test_color_L_no_stat.out | 20 - tests/test_color_escapes.out | 20 - tests/test_color_ext.out | 20 - tests/test_color_ext0.out | 20 - tests/test_color_ext_override.out | 20 - tests/test_color_ext_underride.out | 20 - tests/test_color_ln_target.out | 20 - tests/test_color_ls.out | 12 - tests/test_color_mh.out | 20 - tests/test_color_mh0.out | 20 - tests/test_color_mi.out | 20 - tests/test_color_missing_colon.out | 20 - tests/test_color_no_stat.out | 20 - tests/test_color_nul.out | Bin 20 -> 0 bytes tests/test_color_or.out | 20 - tests/test_color_or0_mi.out | 20 - tests/test_color_or0_mi0.out | 20 - tests/test_color_or_mi.out | 20 - tests/test_color_or_mi0.out | 20 - tests/test_color_rs_lc_rc_ec.out | 20 - tests/test_color_st0_tw0_ow.out | 20 - tests/test_color_st0_tw0_ow0.out | 20 - tests/test_color_st0_tw_ow.out | 20 - tests/test_color_st0_tw_ow0.out | 20 - tests/test_color_st_tw0_ow.out | 20 - tests/test_color_st_tw0_ow0.out | 20 - tests/test_color_st_tw_ow0.out | 20 - tests/test_color_star.out | 20 - tests/test_color_su0_sg.out | 20 - tests/test_color_su0_sg0.out | 20 - tests/test_color_su_sg0.out | 20 - tests/test_comma.out | 23 - tests/test_comma_reachability.out | 1 - tests/test_comma_redundant_false.out | 1 - tests/test_comma_redundant_true.out | 1 - tests/test_d_path.out | 19 - tests/test_data_flow_and_swap.out | 12 - tests/test_data_flow_depth.out | 8 - tests/test_data_flow_group.out | 19 - tests/test_data_flow_hidden.out | 19 - tests/test_data_flow_or_swap.out | 12 - tests/test_data_flow_sparse.out | 19 - tests/test_data_flow_type.out | 0 tests/test_data_flow_user.out | 19 - tests/test_daystart.out | 19 - tests/test_daystart_twice.out | 19 - tests/test_de_morgan_and.out | 10 - tests/test_de_morgan_not.out | 6 - tests/test_de_morgan_or.out | 18 - tests/test_deep.out | 16 - tests/test_deep_strict.out | 16 - tests/test_delete.out | 1 - tests/test_delete_many.out | 1 - tests/test_depth.out | 19 - tests/test_depth_depth_n.out | 6 - tests/test_depth_depth_n_minus.out | 10 - tests/test_depth_depth_n_plus.out | 3 - tests/test_depth_error.out | 2 - tests/test_depth_maxdepth_1.out | 10 - tests/test_depth_maxdepth_2.out | 16 - tests/test_depth_mindepth_1.out | 18 - tests/test_depth_mindepth_2.out | 9 - tests/test_depth_n.out | 6 - tests/test_depth_n_minus.out | 10 - tests/test_depth_n_plus.out | 3 - tests/test_depth_overflow.out | 19 - tests/test_depth_slash.out | 19 - tests/test_double_dash.out | 7 - tests/test_double_negation.out | 3 - tests/test_empty.out | 8 - tests/test_empty_special.out | 14 - tests/test_exclude_depth.out | 13 - tests/test_exclude_mindepth.out | 0 tests/test_exclude_name.out | 13 - tests/test_exec.out | 19 - tests/test_exec_flush.out | 19 - tests/test_exec_flush_fprint.out | 1 - tests/test_exec_nonexistent.out | 19 - tests/test_exec_nopath.out | 19 - tests/test_exec_plus.out | 1 - tests/test_exec_plus_flush.out | Bin 22 -> 0 bytes tests/test_exec_plus_nonexistent.out | 19 - tests/test_exec_plus_semicolon.out | 19 - tests/test_exec_plus_status.out | 19 - tests/test_exec_substring.out | 19 - tests/test_execdir.out | 19 - tests/test_execdir_nonexistent.out | 19 - tests/test_execdir_plus.out | 11 - tests/test_execdir_plus_nonexistent.out | 19 - tests/test_execdir_plus_semicolon.out | 19 - tests/test_execdir_pwd.out | 19 - tests/test_execdir_slash.out | 1 - tests/test_execdir_slash_pwd.out | 1 - tests/test_execdir_slashes.out | 1 - tests/test_execdir_substring.out | 19 - tests/test_execdir_ulimit.out | 40 - tests/test_executable.out | 4 - tests/test_exit.out | 1 - tests/test_exit_no_implicit_print.out | 0 tests/test_expr_flag_path.out | 2 - tests/test_expr_path_flag.out | 2 - tests/test_f.out | 4 - tests/test_false.out | 0 tests/test_files0_from_file.out | 33 - tests/test_files0_from_stdin.out | 33 - tests/test_flag_comma.out | 2 - tests/test_flag_double_dash.out | 7 - tests/test_flag_expr_path.out | 2 - tests/test_flag_weird_names.out | 28 - tests/test_flags.out | 1 - tests/test_follow.out | 17 - tests/test_follow_comma.out | 23 - tests/test_fprint.out | 19 - tests/test_fprint0.out | Bin 16 -> 0 bytes tests/test_fprint_append.out | 38 - tests/test_fprint_duplicate.out | 57 - tests/test_fprint_duplicate_stdout.out | 38 - tests/test_fprint_truncate.out | 1 - tests/test_fprintf.out | 19 - tests/test_fstype.out | 19 - tests/test_gid.out | 19 - tests/test_gid_minus.out | 19 - tests/test_gid_minus_plus.out | 19 - tests/test_gid_name.out | 19 - tests/test_gid_plus.out | 19 - tests/test_gid_plus_plus.out | 19 - tests/test_group_id.out | 19 - tests/test_group_name.out | 19 - tests/test_group_nogroup.out | 19 - tests/test_hidden.out | 1 - tests/test_hidden_root.out | 5 - tests/test_ilname.out | 0 tests/test_implicit_and.out | 2 - tests/test_iname.out | 4 - tests/test_inum.out | 1 - tests/test_inum_automount.out | 1 - tests/test_inum_bind_mount.out | 2 - tests/test_inum_mount.out | 1 - tests/test_ipath.out | 7 - tests/test_iregex.out | 3 - tests/test_iwholename.out | 7 - tests/test_links.out | 2 - tests/test_links_minus.out | 1 - tests/test_links_plus.out | 2 - tests/test_lname.out | 0 tests/test_maxdepth.out | 10 - tests/test_mindepth.out | 18 - tests/test_mnewer.out | 4 - tests/test_mount.out | 4 - tests/test_msince.out | 3 - tests/test_mtime_units.out | 5 - tests/test_name.out | 4 - tests/test_name_backslash.out | 0 tests/test_name_bracket.out | 1 - tests/test_name_character_class.out | 3 - tests/test_name_double_backslash.out | 1 - tests/test_name_root.out | 1 - tests/test_name_root_depth.out | 1 - tests/test_name_slash.out | 1 - tests/test_name_slashes.out | 1 - tests/test_name_star_star.out | 4 - tests/test_name_trailing_slash.out | 1 - tests/test_newer.out | 4 - tests/test_newer_link.out | 1 - tests/test_newerma.out | 4 - tests/test_newermt.out | 3 - tests/test_newermt_epoch_minus_one.out | 5 - tests/test_nogroup.out | 0 tests/test_nogroup_ulimit.out | 0 tests/test_nohidden.out | 21 - tests/test_nohidden_depth.out | 21 - tests/test_not.out | 16 - tests/test_not_prune.out | 13 - tests/test_not_reachability.out | 1 - tests/test_nouser.out | 0 tests/test_nouser_ulimit.out | 0 tests/test_o.out | 13 - tests/test_ok_closed_stdin.out | 0 tests/test_ok_plus_semicolon.out | 19 - tests/test_ok_stdin.out | 19 - tests/test_okdir_closed_stdin.out | 0 tests/test_okdir_plus_semicolon.out | 19 - tests/test_okdir_stdin.out | 19 - tests/test_or.out | 13 - tests/test_or_purity.out | 0 tests/test_parens.out | 4 - tests/test_path.out | 7 - tests/test_path_d.out | 19 - tests/test_path_expr_flag.out | 2 - tests/test_path_flag_expr.out | 2 - tests/test_perm_000.out | 1 - tests/test_perm_000_minus.out | 8 - tests/test_perm_000_plus.out | 8 - tests/test_perm_000_slash.out | 8 - tests/test_perm_222.out | 1 - tests/test_perm_222_minus.out | 1 - tests/test_perm_222_plus.out | 5 - tests/test_perm_222_slash.out | 5 - tests/test_perm_644.out | 1 - tests/test_perm_644_minus.out | 3 - tests/test_perm_644_plus.out | 7 - tests/test_perm_644_slash.out | 7 - tests/test_perm_leading_plus_symbolic.out | 0 tests/test_perm_leading_plus_symbolic_minus.out | 0 tests/test_perm_leading_plus_symbolic_slash.out | 7 - tests/test_perm_setid.out | 3 - tests/test_perm_sticky.out | 2 - tests/test_perm_symbolic.out | 0 tests/test_perm_symbolic_minus.out | 3 - tests/test_perm_symbolic_slash.out | 7 - tests/test_permcopy.out | 1 - tests/test_precedence.out | 4 - tests/test_print0.out | Bin 16 -> 0 bytes tests/test_printf.out | 19 - tests/test_printf_H.out | 32 - tests/test_printf_Y_error.out | 3 - tests/test_printf_color.out | 20 - tests/test_printf_empty.out | 0 tests/test_printf_escapes.out | 1 - tests/test_printf_flags.out | 19 - tests/test_printf_l_nonlink.out | 13 - tests/test_printf_leak.out | 1 - tests/test_printf_nul.out | Bin 16 -> 0 bytes tests/test_printf_slash.out | 1 - tests/test_printf_slashes.out | 1 - tests/test_printf_times.out | 3 - tests/test_printf_trailing_slash.out | 19 - tests/test_printf_trailing_slashes.out | 19 - tests/test_printf_types.out | 11 - tests/test_printf_w.out | 0 tests/test_printx.out | 23 - tests/test_prune.out | 3 - tests/test_prune_file.out | 10 - tests/test_prune_or_print.out | 13 - tests/test_quit.out | 1 - tests/test_quit_after_print.out | 1 - tests/test_quit_before_print.out | 0 tests/test_quit_child.out | 2 - tests/test_quit_depth.out | 2 - tests/test_quit_depth_child.out | 1 - tests/test_quit_implicit_print.out | 1 - tests/test_readable.out | 5 - tests/test_regex.out | 3 - tests/test_regex_invalid_utf8.out | 1 - tests/test_regex_parens.out | 1 - tests/test_regextype_ed.out | 1 - tests/test_regextype_emacs.out | 6 - tests/test_regextype_grep.out | 4 - tests/test_regextype_posix_basic.out | 1 - tests/test_regextype_posix_extended.out | 1 - tests/test_regextype_sed.out | 1 - tests/test_rm.out | 1 - tests/test_s.out | 12 - tests/test_samefile.out | 2 - tests/test_samefile_broken.out | 1 - tests/test_samefile_notdir.out | 1 - tests/test_samefile_symlink.out | 1 - tests/test_size.out | 6 - tests/test_size_T.out | 1 - tests/test_size_big.out | 0 tests/test_size_bytes.out | 1 - tests/test_size_plus.out | 1 - tests/test_stderr_fails_silently.out | 19 - tests/test_true.out | 19 - tests/test_type_bind_mount.out | 1 - tests/test_type_d.out | 12 - tests/test_type_f.out | 7 - tests/test_type_l.out | 1 - tests/test_type_multi.out | 7 - tests/test_uid.out | 19 - tests/test_uid_minus.out | 19 - tests/test_uid_minus_plus.out | 19 - tests/test_uid_name.out | 19 - tests/test_uid_plus.out | 19 - tests/test_uid_plus_plus.out | 19 - tests/test_unique.out | 2 - tests/test_unique_depth.out | 19 - tests/test_user_id.out | 19 - tests/test_user_name.out | 19 - tests/test_user_nouser.out | 19 - tests/test_weird_names.out | 28 - tests/test_wholename.out | 7 - tests/test_writable.out | 5 - tests/test_xattr.out | 3 - tests/test_xattrname.out | 2 - tests/test_xdev.out | 4 - tests/test_xtype_bind_mount.out | 2 - tests/test_xtype_f.out | 5 - tests/test_xtype_l.out | 3 - tests/test_xtype_multi.out | 10 - tests/test_xtype_reorder.out | 0 tests/tests.sh | 2939 +--------------------- 1125 files changed, 4301 insertions(+), 6247 deletions(-) create mode 100644 tests/bfs/D_all.out create mode 100644 tests/bfs/D_all.sh create mode 100644 tests/bfs/D_multi.out create mode 100644 tests/bfs/D_multi.sh create mode 100644 tests/bfs/L_capable.out create mode 100644 tests/bfs/L_capable.sh create mode 100644 tests/bfs/L_unique.out create mode 100644 tests/bfs/L_unique.sh create mode 100644 tests/bfs/L_unique_depth.out create mode 100644 tests/bfs/L_unique_depth.sh create mode 100644 tests/bfs/L_unique_loops.out create mode 100644 tests/bfs/L_unique_loops.sh create mode 100644 tests/bfs/O0.out create mode 100644 tests/bfs/O0.sh create mode 100644 tests/bfs/O1.out create mode 100644 tests/bfs/O1.sh create mode 100644 tests/bfs/O2.out create mode 100644 tests/bfs/O2.sh create mode 100644 tests/bfs/O3.out create mode 100644 tests/bfs/O3.sh create mode 100644 tests/bfs/Ofast.out create mode 100644 tests/bfs/Ofast.sh create mode 100644 tests/bfs/S_bfs.out create mode 100644 tests/bfs/S_bfs.sh create mode 100644 tests/bfs/S_dfs.out create mode 100644 tests/bfs/S_dfs.sh create mode 100644 tests/bfs/S_ids.out create mode 100644 tests/bfs/S_ids.sh create mode 100644 tests/bfs/and_incomplete.sh create mode 100644 tests/bfs/capable.out create mode 100644 tests/bfs/capable.sh create mode 100644 tests/bfs/color.out create mode 100644 tests/bfs/color.sh create mode 100644 tests/bfs/color_L.out create mode 100644 tests/bfs/color_L.sh create mode 100644 tests/bfs/color_L_ln_target.out create mode 100644 tests/bfs/color_L_ln_target.sh create mode 100644 tests/bfs/color_L_no_stat.out create mode 100644 tests/bfs/color_L_no_stat.sh create mode 100644 tests/bfs/color_escapes.out create mode 100644 tests/bfs/color_escapes.sh create mode 100644 tests/bfs/color_ext.out create mode 100644 tests/bfs/color_ext.sh create mode 100644 tests/bfs/color_ext0.out create mode 100644 tests/bfs/color_ext0.sh create mode 100644 tests/bfs/color_ext_override.out create mode 100644 tests/bfs/color_ext_override.sh create mode 100644 tests/bfs/color_ext_underride.out create mode 100644 tests/bfs/color_ext_underride.sh create mode 100644 tests/bfs/color_ln_target.out create mode 100644 tests/bfs/color_ln_target.sh create mode 100644 tests/bfs/color_ls.out create mode 100644 tests/bfs/color_ls.sh create mode 100644 tests/bfs/color_mh.out create mode 100644 tests/bfs/color_mh.sh create mode 100644 tests/bfs/color_mh0.out create mode 100644 tests/bfs/color_mh0.sh create mode 100644 tests/bfs/color_mi.out create mode 100644 tests/bfs/color_mi.sh create mode 100644 tests/bfs/color_missing_colon.out create mode 100644 tests/bfs/color_missing_colon.sh create mode 100644 tests/bfs/color_no_stat.out create mode 100644 tests/bfs/color_no_stat.sh create mode 100644 tests/bfs/color_nul.out create mode 100644 tests/bfs/color_nul.sh create mode 100644 tests/bfs/color_or.out create mode 100644 tests/bfs/color_or.sh create mode 100644 tests/bfs/color_or0_mi.out create mode 100644 tests/bfs/color_or0_mi.sh create mode 100644 tests/bfs/color_or0_mi0.out create mode 100644 tests/bfs/color_or0_mi0.sh create mode 100644 tests/bfs/color_or_mi.out create mode 100644 tests/bfs/color_or_mi.sh create mode 100644 tests/bfs/color_or_mi0.out create mode 100644 tests/bfs/color_or_mi0.sh create mode 100644 tests/bfs/color_rs_lc_rc_ec.out create mode 100644 tests/bfs/color_rs_lc_rc_ec.sh create mode 100644 tests/bfs/color_st0_tw0_ow.out create mode 100644 tests/bfs/color_st0_tw0_ow.sh create mode 100644 tests/bfs/color_st0_tw0_ow0.out create mode 100644 tests/bfs/color_st0_tw0_ow0.sh create mode 100644 tests/bfs/color_st0_tw_ow.out create mode 100644 tests/bfs/color_st0_tw_ow.sh create mode 100644 tests/bfs/color_st0_tw_ow0.out create mode 100644 tests/bfs/color_st0_tw_ow0.sh create mode 100644 tests/bfs/color_st_tw0_ow.out create mode 100644 tests/bfs/color_st_tw0_ow.sh create mode 100644 tests/bfs/color_st_tw0_ow0.out create mode 100644 tests/bfs/color_st_tw0_ow0.sh create mode 100644 tests/bfs/color_st_tw_ow0.out create mode 100644 tests/bfs/color_st_tw_ow0.sh create mode 100644 tests/bfs/color_star.out create mode 100644 tests/bfs/color_star.sh create mode 100644 tests/bfs/color_su0_sg.out create mode 100644 tests/bfs/color_su0_sg.sh create mode 100644 tests/bfs/color_su0_sg0.out create mode 100644 tests/bfs/color_su0_sg0.sh create mode 100644 tests/bfs/color_su_sg0.out create mode 100644 tests/bfs/color_su_sg0.sh create mode 100644 tests/bfs/comma_incomplete.sh create mode 100644 tests/bfs/data_flow_hidden.out create mode 100644 tests/bfs/data_flow_hidden.sh create mode 100644 tests/bfs/deep_strict.out create mode 100644 tests/bfs/deep_strict.sh create mode 100644 tests/bfs/exclude_depth.out create mode 100644 tests/bfs/exclude_depth.sh create mode 100644 tests/bfs/exclude_exclude.sh create mode 100644 tests/bfs/exclude_mindepth.out create mode 100644 tests/bfs/exclude_mindepth.sh create mode 100644 tests/bfs/exclude_name.out create mode 100644 tests/bfs/exclude_name.sh create mode 100644 tests/bfs/exclude_print.sh create mode 100644 tests/bfs/exec_flush_fprint.out create mode 100644 tests/bfs/exec_flush_fprint.sh create mode 100644 tests/bfs/exec_flush_fprint_fail.sh create mode 100644 tests/bfs/execdir_plus.out create mode 100644 tests/bfs/execdir_plus.sh create mode 100644 tests/bfs/execdir_plus_nonexistent.out create mode 100644 tests/bfs/execdir_plus_nonexistent.sh create mode 100644 tests/bfs/expr_flag_path.out create mode 100644 tests/bfs/expr_flag_path.sh create mode 100644 tests/bfs/expr_path_flag.out create mode 100644 tests/bfs/expr_path_flag.sh create mode 100644 tests/bfs/flag_expr_path.out create mode 100644 tests/bfs/flag_expr_path.sh create mode 100644 tests/bfs/fprint_duplicate_stdout.out create mode 100644 tests/bfs/fprint_duplicate_stdout.sh create mode 100644 tests/bfs/fprint_error_stderr.sh create mode 100644 tests/bfs/fprint_error_stdout.sh create mode 100644 tests/bfs/help.sh create mode 100644 tests/bfs/hidden.out create mode 100644 tests/bfs/hidden.sh create mode 100644 tests/bfs/hidden_root.out create mode 100644 tests/bfs/hidden_root.sh create mode 100644 tests/bfs/links_empty.sh create mode 100644 tests/bfs/links_invalid.sh create mode 100644 tests/bfs/links_negative.sh create mode 100644 tests/bfs/links_noarg.sh create mode 100644 tests/bfs/newerma_nonexistent.sh create mode 100644 tests/bfs/newermq.sh create mode 100644 tests/bfs/newermt_invalid.sh create mode 100644 tests/bfs/newerqm.sh create mode 100644 tests/bfs/nohidden.out create mode 100644 tests/bfs/nohidden.sh create mode 100644 tests/bfs/nohidden_depth.out create mode 100644 tests/bfs/nohidden_depth.sh create mode 100644 tests/bfs/nowarn.sh create mode 100644 tests/bfs/ok_plus_semicolon.out create mode 100644 tests/bfs/ok_plus_semicolon.sh create mode 100644 tests/bfs/okdir_plus_semicolon.out create mode 100644 tests/bfs/okdir_plus_semicolon.sh create mode 100644 tests/bfs/or_incomplete.sh create mode 100644 tests/bfs/path_expr_flag.out create mode 100644 tests/bfs/path_expr_flag.sh create mode 100644 tests/bfs/path_flag_expr.out create mode 100644 tests/bfs/path_flag_expr.sh create mode 100644 tests/bfs/perm_leading_plus_symbolic.out create mode 100644 tests/bfs/perm_leading_plus_symbolic.sh create mode 100644 tests/bfs/perm_symbolic_double_comma.sh create mode 100644 tests/bfs/perm_symbolic_missing_action.sh create mode 100644 tests/bfs/perm_symbolic_trailing_comma.sh create mode 100644 tests/bfs/printf_color.out create mode 100644 tests/bfs/printf_color.sh create mode 100644 tests/bfs/printf_duplicate_flag.sh create mode 100644 tests/bfs/printf_everything.sh create mode 100644 tests/bfs/printf_incomplete_escape.sh create mode 100644 tests/bfs/printf_incomplete_format.sh create mode 100644 tests/bfs/printf_invalid_escape.sh create mode 100644 tests/bfs/printf_invalid_format.sh create mode 100644 tests/bfs/printf_must_be_numeric.sh create mode 100644 tests/bfs/printf_w.out create mode 100644 tests/bfs/printf_w.sh create mode 100644 tests/bfs/stderr_fails_loudly.sh create mode 100644 tests/bfs/stderr_fails_silently.out create mode 100644 tests/bfs/stderr_fails_silently.sh create mode 100644 tests/bfs/type_multi.out create mode 100644 tests/bfs/type_multi.sh create mode 100644 tests/bfs/typo.sh create mode 100644 tests/bfs/unexpected_operator.sh create mode 100644 tests/bfs/unique.out create mode 100644 tests/bfs/unique.sh create mode 100644 tests/bfs/unique_depth.out create mode 100644 tests/bfs/unique_depth.sh create mode 100644 tests/bfs/version.sh create mode 100644 tests/bfs/warn.sh create mode 100644 tests/bfs/xtype_depth.sh create mode 100644 tests/bfs/xtype_multi.out create mode 100644 tests/bfs/xtype_multi.sh create mode 100644 tests/bfs/xtype_reorder.out create mode 100644 tests/bfs/xtype_reorder.sh create mode 100644 tests/bsd/E.out create mode 100644 tests/bsd/E.sh create mode 100644 tests/bsd/H_mnewer.out create mode 100644 tests/bsd/H_mnewer.sh create mode 100644 tests/bsd/L_acl.out create mode 100644 tests/bsd/L_acl.sh create mode 100644 tests/bsd/L_xattr.out create mode 100644 tests/bsd/L_xattr.sh create mode 100644 tests/bsd/L_xattrname.out create mode 100644 tests/bsd/L_xattrname.sh create mode 100644 tests/bsd/X.out create mode 100644 tests/bsd/X.sh create mode 100644 tests/bsd/acl.out create mode 100644 tests/bsd/acl.sh create mode 100644 tests/bsd/asince.out create mode 100644 tests/bsd/asince.sh create mode 100644 tests/bsd/d_path.out create mode 100644 tests/bsd/d_path.sh create mode 100644 tests/bsd/data_flow_depth.out create mode 100644 tests/bsd/data_flow_depth.sh create mode 100644 tests/bsd/data_flow_sparse.out create mode 100644 tests/bsd/data_flow_sparse.sh create mode 100644 tests/bsd/depth_depth_n.out create mode 100644 tests/bsd/depth_depth_n.sh create mode 100644 tests/bsd/depth_depth_n_minus.out create mode 100644 tests/bsd/depth_depth_n_minus.sh create mode 100644 tests/bsd/depth_depth_n_plus.out create mode 100644 tests/bsd/depth_depth_n_plus.sh create mode 100644 tests/bsd/depth_n.out create mode 100644 tests/bsd/depth_n.sh create mode 100644 tests/bsd/depth_n_minus.out create mode 100644 tests/bsd/depth_n_minus.sh create mode 100644 tests/bsd/depth_n_plus.out create mode 100644 tests/bsd/depth_n_plus.sh create mode 100644 tests/bsd/depth_overflow.out create mode 100644 tests/bsd/depth_overflow.sh create mode 100644 tests/bsd/exit.out create mode 100644 tests/bsd/exit.sh create mode 100644 tests/bsd/exit_no_implicit_print.out create mode 100644 tests/bsd/exit_no_implicit_print.sh create mode 100644 tests/bsd/f.out create mode 100644 tests/bsd/f.sh create mode 100644 tests/bsd/flags.out create mode 100644 tests/bsd/flags.sh create mode 100644 tests/bsd/gid_name.out create mode 100644 tests/bsd/gid_name.sh create mode 100644 tests/bsd/mnewer.out create mode 100644 tests/bsd/mnewer.sh create mode 100644 tests/bsd/msince.out create mode 100644 tests/bsd/msince.sh create mode 100644 tests/bsd/mtime_units.out create mode 100644 tests/bsd/mtime_units.sh create mode 100644 tests/bsd/okdir_stdin.out create mode 100644 tests/bsd/okdir_stdin.sh create mode 100644 tests/bsd/perm_000_plus.out create mode 100644 tests/bsd/perm_000_plus.sh create mode 100644 tests/bsd/perm_222_plus.out create mode 100644 tests/bsd/perm_222_plus.sh create mode 100644 tests/bsd/perm_644_plus.out create mode 100644 tests/bsd/perm_644_plus.sh create mode 100644 tests/bsd/printx.out create mode 100644 tests/bsd/printx.sh create mode 100644 tests/bsd/quit_implicit_print.out create mode 100644 tests/bsd/quit_implicit_print.sh create mode 100644 tests/bsd/rm.out create mode 100644 tests/bsd/rm.sh create mode 100644 tests/bsd/s.out create mode 100644 tests/bsd/s.sh create mode 100644 tests/bsd/size_T.out create mode 100644 tests/bsd/size_T.sh create mode 100644 tests/bsd/uid_name.out create mode 100644 tests/bsd/uid_name.sh create mode 100644 tests/bsd/xattr.out create mode 100644 tests/bsd/xattr.sh create mode 100644 tests/bsd/xattrname.out create mode 100644 tests/bsd/xattrname.sh create mode 100644 tests/common/H_newer.out create mode 100644 tests/common/H_newer.sh create mode 100644 tests/common/H_samefile_broken.out create mode 100644 tests/common/H_samefile_broken.sh create mode 100644 tests/common/H_samefile_notdir.out create mode 100644 tests/common/H_samefile_notdir.sh create mode 100644 tests/common/H_samefile_symlink.out create mode 100644 tests/common/H_samefile_symlink.sh create mode 100644 tests/common/L_ilname.out create mode 100644 tests/common/L_ilname.sh create mode 100644 tests/common/L_lname.out create mode 100644 tests/common/L_lname.sh create mode 100644 tests/common/L_ls.sh create mode 100644 tests/common/L_mount.out create mode 100644 tests/common/L_mount.sh create mode 100644 tests/common/L_samefile_broken.out create mode 100644 tests/common/L_samefile_broken.sh create mode 100644 tests/common/L_samefile_notdir.out create mode 100644 tests/common/L_samefile_notdir.sh create mode 100644 tests/common/L_samefile_symlink.out create mode 100644 tests/common/L_samefile_symlink.sh create mode 100644 tests/common/P.out create mode 100644 tests/common/P.sh create mode 100644 tests/common/P_slash.out create mode 100644 tests/common/P_slash.sh create mode 100644 tests/common/anewer.out create mode 100644 tests/common/anewer.sh create mode 100644 tests/common/delete.out create mode 100644 tests/common/delete.sh create mode 100644 tests/common/delete_many.out create mode 100644 tests/common/delete_many.sh create mode 100644 tests/common/depth_maxdepth_1.out create mode 100644 tests/common/depth_maxdepth_1.sh create mode 100644 tests/common/depth_maxdepth_2.out create mode 100644 tests/common/depth_maxdepth_2.sh create mode 100644 tests/common/depth_mindepth_1.out create mode 100644 tests/common/depth_mindepth_1.sh create mode 100644 tests/common/depth_mindepth_2.out create mode 100644 tests/common/depth_mindepth_2.sh create mode 100644 tests/common/double_dash.out create mode 100644 tests/common/double_dash.sh create mode 100644 tests/common/exec_substring.out create mode 100644 tests/common/exec_substring.sh create mode 100644 tests/common/execdir_nonexistent.out create mode 100644 tests/common/execdir_nonexistent.sh create mode 100644 tests/common/execdir_pwd.out create mode 100644 tests/common/execdir_pwd.sh create mode 100644 tests/common/execdir_slash.out create mode 100644 tests/common/execdir_slash.sh create mode 100644 tests/common/execdir_slash_pwd.out create mode 100644 tests/common/execdir_slash_pwd.sh create mode 100644 tests/common/execdir_slashes.out create mode 100644 tests/common/execdir_slashes.sh create mode 100644 tests/common/execdir_ulimit.out create mode 100644 tests/common/execdir_ulimit.sh create mode 100644 tests/common/flag_double_dash.out create mode 100644 tests/common/flag_double_dash.sh create mode 100644 tests/common/follow.out create mode 100644 tests/common/follow.sh create mode 100644 tests/common/ilname.out create mode 100644 tests/common/ilname.sh create mode 100644 tests/common/iname.out create mode 100644 tests/common/iname.sh create mode 100644 tests/common/inum.out create mode 100644 tests/common/inum.sh create mode 100644 tests/common/inum_bind_mount.out create mode 100644 tests/common/inum_bind_mount.sh create mode 100644 tests/common/inum_mount.out create mode 100644 tests/common/inum_mount.sh create mode 100644 tests/common/ipath.out create mode 100644 tests/common/ipath.sh create mode 100644 tests/common/iregex.out create mode 100644 tests/common/iregex.sh create mode 100644 tests/common/lname.out create mode 100644 tests/common/lname.sh create mode 100644 tests/common/ls.sh create mode 100644 tests/common/maxdepth.out create mode 100644 tests/common/maxdepth.sh create mode 100644 tests/common/mindepth.out create mode 100644 tests/common/mindepth.sh create mode 100644 tests/common/mount.out create mode 100644 tests/common/mount.sh create mode 100644 tests/common/name_slash.out create mode 100644 tests/common/name_slash.sh create mode 100644 tests/common/name_slashes.out create mode 100644 tests/common/name_slashes.sh create mode 100644 tests/common/newerma.out create mode 100644 tests/common/newerma.sh create mode 100644 tests/common/newermt.out create mode 100644 tests/common/newermt.sh create mode 100644 tests/common/newermt_epoch_minus_one.out create mode 100644 tests/common/newermt_epoch_minus_one.sh create mode 100644 tests/common/ok_closed_stdin.out create mode 100644 tests/common/ok_closed_stdin.sh create mode 100644 tests/common/okdir_closed_stdin.out create mode 100644 tests/common/okdir_closed_stdin.sh create mode 100644 tests/common/quit.out create mode 100644 tests/common/quit.sh create mode 100644 tests/common/quit_after_print.out create mode 100644 tests/common/quit_after_print.sh create mode 100644 tests/common/quit_before_print.out create mode 100644 tests/common/quit_before_print.sh create mode 100644 tests/common/quit_child.out create mode 100644 tests/common/quit_child.sh create mode 100644 tests/common/quit_depth.out create mode 100644 tests/common/quit_depth.sh create mode 100644 tests/common/quit_depth_child.out create mode 100644 tests/common/quit_depth_child.sh create mode 100644 tests/common/regex.out create mode 100644 tests/common/regex.sh create mode 100644 tests/common/regex_parens.out create mode 100644 tests/common/regex_parens.sh create mode 100644 tests/common/samefile.out create mode 100644 tests/common/samefile.sh create mode 100644 tests/common/samefile_broken.out create mode 100644 tests/common/samefile_broken.sh create mode 100644 tests/common/samefile_notdir.out create mode 100644 tests/common/samefile_notdir.sh create mode 100644 tests/common/samefile_symlink.out create mode 100644 tests/common/samefile_symlink.sh create mode 100644 tests/common/size_big.out create mode 100644 tests/common/size_big.sh create mode 100644 tests/gnu/L_delete.out create mode 100644 tests/gnu/L_delete.sh create mode 100644 tests/gnu/L_loops_continue.out create mode 100644 tests/gnu/L_loops_continue.sh create mode 100644 tests/gnu/L_xtype_f.out create mode 100644 tests/gnu/L_xtype_f.sh create mode 100644 tests/gnu/L_xtype_l.out create mode 100644 tests/gnu/L_xtype_l.sh create mode 100644 tests/gnu/and.out create mode 100644 tests/gnu/and.sh create mode 100644 tests/gnu/and_false_or_true.out create mode 100644 tests/gnu/and_false_or_true.sh create mode 100644 tests/gnu/and_purity.out create mode 100644 tests/gnu/and_purity.sh create mode 100644 tests/gnu/comma.out create mode 100644 tests/gnu/comma.sh create mode 100644 tests/gnu/comma_reachability.out create mode 100644 tests/gnu/comma_reachability.sh create mode 100644 tests/gnu/comma_redundant_false.out create mode 100644 tests/gnu/comma_redundant_false.sh create mode 100644 tests/gnu/comma_redundant_true.out create mode 100644 tests/gnu/comma_redundant_true.sh create mode 100644 tests/gnu/daystart.out create mode 100644 tests/gnu/daystart.sh create mode 100644 tests/gnu/daystart_twice.out create mode 100644 tests/gnu/daystart_twice.sh create mode 100644 tests/gnu/empty.out create mode 100644 tests/gnu/empty.sh create mode 100644 tests/gnu/empty_special.out create mode 100644 tests/gnu/empty_special.sh create mode 100644 tests/gnu/exec_flush.out create mode 100644 tests/gnu/exec_flush.sh create mode 100644 tests/gnu/exec_flush_fail.sh create mode 100644 tests/gnu/exec_nothing.sh create mode 100644 tests/gnu/exec_plus_flush.out create mode 100644 tests/gnu/exec_plus_flush.sh create mode 100644 tests/gnu/exec_plus_flush_fail.sh create mode 100644 tests/gnu/execdir.out create mode 100644 tests/gnu/execdir.sh create mode 100644 tests/gnu/execdir_plus_semicolon.out create mode 100644 tests/gnu/execdir_plus_semicolon.sh create mode 100644 tests/gnu/execdir_substring.out create mode 100644 tests/gnu/execdir_substring.sh create mode 100644 tests/gnu/executable.out create mode 100644 tests/gnu/executable.sh create mode 100644 tests/gnu/false.out create mode 100644 tests/gnu/false.sh create mode 100644 tests/gnu/files0_from_empty.sh create mode 100644 tests/gnu/files0_from_file.out create mode 100644 tests/gnu/files0_from_file.sh create mode 100644 tests/gnu/files0_from_none.sh create mode 100644 tests/gnu/files0_from_nothing.sh create mode 100644 tests/gnu/files0_from_nowhere.sh create mode 100644 tests/gnu/files0_from_ok.sh create mode 100644 tests/gnu/files0_from_stdin.out create mode 100644 tests/gnu/files0_from_stdin.sh create mode 100644 tests/gnu/fls.sh create mode 100644 tests/gnu/follow_comma.out create mode 100644 tests/gnu/follow_comma.sh create mode 100644 tests/gnu/fprint.out create mode 100644 tests/gnu/fprint.sh create mode 100644 tests/gnu/fprint0.out create mode 100644 tests/gnu/fprint0.sh create mode 100644 tests/gnu/fprint_duplicate.out create mode 100644 tests/gnu/fprint_duplicate.sh create mode 100644 tests/gnu/fprint_error.sh create mode 100644 tests/gnu/fprint_noarg.sh create mode 100644 tests/gnu/fprint_noerror.sh create mode 100644 tests/gnu/fprint_nonexistent.sh create mode 100644 tests/gnu/fprint_truncate.out create mode 100644 tests/gnu/fprint_truncate.sh create mode 100644 tests/gnu/fprintf.out create mode 100644 tests/gnu/fprintf.sh create mode 100644 tests/gnu/fprintf_nofile.sh create mode 100644 tests/gnu/fprintf_noformat.sh create mode 100644 tests/gnu/fstype.out create mode 100644 tests/gnu/fstype.sh create mode 100644 tests/gnu/gid.out create mode 100644 tests/gnu/gid.sh create mode 100644 tests/gnu/gid_minus.out create mode 100644 tests/gnu/gid_minus.sh create mode 100644 tests/gnu/gid_minus_plus.out create mode 100644 tests/gnu/gid_minus_plus.sh create mode 100644 tests/gnu/gid_plus.out create mode 100644 tests/gnu/gid_plus.sh create mode 100644 tests/gnu/gid_plus_plus.out create mode 100644 tests/gnu/gid_plus_plus.sh create mode 100644 tests/gnu/ignore_readdir_race.sh create mode 100644 tests/gnu/ignore_readdir_race_notdir.sh create mode 100644 tests/gnu/ignore_readdir_race_root.sh create mode 100644 tests/gnu/inum_automount.out create mode 100644 tests/gnu/inum_automount.sh create mode 100644 tests/gnu/iwholename.out create mode 100644 tests/gnu/iwholename.sh create mode 100644 tests/gnu/not.out create mode 100644 tests/gnu/not.sh create mode 100644 tests/gnu/not_reachability.out create mode 100644 tests/gnu/not_reachability.sh create mode 100644 tests/gnu/ok_nothing.sh create mode 100644 tests/gnu/or.out create mode 100644 tests/gnu/or.sh create mode 100644 tests/gnu/path_d.out create mode 100644 tests/gnu/path_d.sh create mode 100644 tests/gnu/perm_000_slash.out create mode 100644 tests/gnu/perm_000_slash.sh create mode 100644 tests/gnu/perm_222_slash.out create mode 100644 tests/gnu/perm_222_slash.sh create mode 100644 tests/gnu/perm_644_slash.out create mode 100644 tests/gnu/perm_644_slash.sh create mode 100644 tests/gnu/perm_leading_plus_symbolic_slash.out create mode 100644 tests/gnu/perm_leading_plus_symbolic_slash.sh create mode 100644 tests/gnu/perm_symbolic_slash.out create mode 100644 tests/gnu/perm_symbolic_slash.sh create mode 100644 tests/gnu/precedence.out create mode 100644 tests/gnu/precedence.sh create mode 100644 tests/gnu/print0.out create mode 100644 tests/gnu/print0.sh create mode 100644 tests/gnu/print_error.sh create mode 100644 tests/gnu/printf.out create mode 100644 tests/gnu/printf.sh create mode 100644 tests/gnu/printf_H.out create mode 100644 tests/gnu/printf_H.sh create mode 100644 tests/gnu/printf_Y_error.out create mode 100644 tests/gnu/printf_Y_error.sh create mode 100644 tests/gnu/printf_empty.out create mode 100644 tests/gnu/printf_empty.sh create mode 100644 tests/gnu/printf_escapes.out create mode 100644 tests/gnu/printf_escapes.sh create mode 100644 tests/gnu/printf_flags.out create mode 100644 tests/gnu/printf_flags.sh create mode 100644 tests/gnu/printf_l_nonlink.out create mode 100644 tests/gnu/printf_l_nonlink.sh create mode 100644 tests/gnu/printf_leak.out create mode 100644 tests/gnu/printf_leak.sh create mode 100644 tests/gnu/printf_nul.out create mode 100644 tests/gnu/printf_nul.sh create mode 100644 tests/gnu/printf_slash.out create mode 100644 tests/gnu/printf_slash.sh create mode 100644 tests/gnu/printf_slashes.out create mode 100644 tests/gnu/printf_slashes.sh create mode 100644 tests/gnu/printf_times.out create mode 100644 tests/gnu/printf_times.sh create mode 100644 tests/gnu/printf_trailing_slash.out create mode 100644 tests/gnu/printf_trailing_slash.sh create mode 100644 tests/gnu/printf_trailing_slashes.out create mode 100644 tests/gnu/printf_trailing_slashes.sh create mode 100644 tests/gnu/printf_types.out create mode 100644 tests/gnu/printf_types.sh create mode 100644 tests/gnu/printf_u_g_ulimit.sh create mode 100644 tests/gnu/readable.out create mode 100644 tests/gnu/readable.sh create mode 100644 tests/gnu/regex_error.sh create mode 100644 tests/gnu/regex_invalid_utf8.out create mode 100644 tests/gnu/regex_invalid_utf8.sh create mode 100644 tests/gnu/regextype_ed.out create mode 100644 tests/gnu/regextype_ed.sh create mode 100644 tests/gnu/regextype_emacs.out create mode 100644 tests/gnu/regextype_emacs.sh create mode 100644 tests/gnu/regextype_grep.out create mode 100644 tests/gnu/regextype_grep.sh create mode 100644 tests/gnu/regextype_posix_basic.out create mode 100644 tests/gnu/regextype_posix_basic.sh create mode 100644 tests/gnu/regextype_posix_extended.out create mode 100644 tests/gnu/regextype_posix_extended.sh create mode 100644 tests/gnu/regextype_sed.out create mode 100644 tests/gnu/regextype_sed.sh create mode 100644 tests/gnu/true.out create mode 100644 tests/gnu/true.sh create mode 100644 tests/gnu/uid.out create mode 100644 tests/gnu/uid.sh create mode 100644 tests/gnu/uid_minus.out create mode 100644 tests/gnu/uid_minus.sh create mode 100644 tests/gnu/uid_minus_plus.out create mode 100644 tests/gnu/uid_minus_plus.sh create mode 100644 tests/gnu/uid_plus.out create mode 100644 tests/gnu/uid_plus.sh create mode 100644 tests/gnu/uid_plus_plus.out create mode 100644 tests/gnu/uid_plus_plus.sh create mode 100644 tests/gnu/wholename.out create mode 100644 tests/gnu/wholename.sh create mode 100644 tests/gnu/writable.out create mode 100644 tests/gnu/writable.sh create mode 100644 tests/gnu/xtype_bind_mount.out create mode 100644 tests/gnu/xtype_bind_mount.sh create mode 100644 tests/gnu/xtype_f.out create mode 100644 tests/gnu/xtype_f.sh create mode 100644 tests/gnu/xtype_l.out create mode 100644 tests/gnu/xtype_l.sh create mode 100644 tests/posix/H.out create mode 100644 tests/posix/H.sh create mode 100644 tests/posix/H_broken.out create mode 100644 tests/posix/H_broken.sh create mode 100644 tests/posix/H_loops.out create mode 100644 tests/posix/H_loops.sh create mode 100644 tests/posix/H_notdir.out create mode 100644 tests/posix/H_notdir.sh create mode 100644 tests/posix/H_slash.out create mode 100644 tests/posix/H_slash.sh create mode 100644 tests/posix/H_type_l.out create mode 100644 tests/posix/H_type_l.sh create mode 100644 tests/posix/L.out create mode 100644 tests/posix/L.sh create mode 100644 tests/posix/L_broken.out create mode 100644 tests/posix/L_broken.sh create mode 100644 tests/posix/L_depth.out create mode 100644 tests/posix/L_depth.sh create mode 100644 tests/posix/L_loops.sh create mode 100644 tests/posix/L_notdir.out create mode 100644 tests/posix/L_notdir.sh create mode 100644 tests/posix/L_type_l.out create mode 100644 tests/posix/L_type_l.sh create mode 100644 tests/posix/L_xdev.out create mode 100644 tests/posix/L_xdev.sh create mode 100644 tests/posix/a.out create mode 100644 tests/posix/a.sh create mode 100644 tests/posix/bang.out create mode 100644 tests/posix/bang.sh create mode 100644 tests/posix/basic.out create mode 100644 tests/posix/basic.sh create mode 100644 tests/posix/closed_stderr.sh create mode 100644 tests/posix/closed_stdin.out create mode 100644 tests/posix/closed_stdin.sh create mode 100644 tests/posix/closed_stdout.sh create mode 100644 tests/posix/data_flow_and_swap.out create mode 100644 tests/posix/data_flow_and_swap.sh create mode 100644 tests/posix/data_flow_group.out create mode 100644 tests/posix/data_flow_group.sh create mode 100644 tests/posix/data_flow_or_swap.out create mode 100644 tests/posix/data_flow_or_swap.sh create mode 100644 tests/posix/data_flow_type.out create mode 100644 tests/posix/data_flow_type.sh create mode 100644 tests/posix/data_flow_user.out create mode 100644 tests/posix/data_flow_user.sh create mode 100644 tests/posix/de_morgan_and.out create mode 100644 tests/posix/de_morgan_and.sh create mode 100644 tests/posix/de_morgan_not.out create mode 100644 tests/posix/de_morgan_not.sh create mode 100644 tests/posix/de_morgan_or.out create mode 100644 tests/posix/de_morgan_or.sh create mode 100644 tests/posix/deep.out create mode 100644 tests/posix/deep.sh create mode 100644 tests/posix/depth.out create mode 100644 tests/posix/depth.sh create mode 100644 tests/posix/depth_error.out create mode 100644 tests/posix/depth_error.sh create mode 100644 tests/posix/depth_slash.out create mode 100644 tests/posix/depth_slash.sh create mode 100644 tests/posix/double_negation.out create mode 100644 tests/posix/double_negation.sh create mode 100644 tests/posix/exec.out create mode 100644 tests/posix/exec.sh create mode 100644 tests/posix/exec_nonexistent.out create mode 100644 tests/posix/exec_nonexistent.sh create mode 100644 tests/posix/exec_nopath.out create mode 100644 tests/posix/exec_nopath.sh create mode 100644 tests/posix/exec_plus.out create mode 100644 tests/posix/exec_plus.sh create mode 100644 tests/posix/exec_plus_nonexistent.out create mode 100644 tests/posix/exec_plus_nonexistent.sh create mode 100644 tests/posix/exec_plus_semicolon.out create mode 100644 tests/posix/exec_plus_semicolon.sh create mode 100644 tests/posix/exec_plus_status.out create mode 100644 tests/posix/exec_plus_status.sh create mode 100644 tests/posix/extra_paren.sh create mode 100644 tests/posix/flag_comma.out create mode 100644 tests/posix/flag_comma.sh create mode 100644 tests/posix/flag_weird_names.out create mode 100644 tests/posix/flag_weird_names.sh create mode 100644 tests/posix/group_id.out create mode 100644 tests/posix/group_id.sh create mode 100644 tests/posix/group_name.out create mode 100644 tests/posix/group_name.sh create mode 100644 tests/posix/group_nogroup.out create mode 100644 tests/posix/group_nogroup.sh create mode 100644 tests/posix/implicit_and.out create mode 100644 tests/posix/implicit_and.sh create mode 100644 tests/posix/incomplete.sh create mode 100644 tests/posix/links.out create mode 100644 tests/posix/links.sh create mode 100644 tests/posix/links_minus.out create mode 100644 tests/posix/links_minus.sh create mode 100644 tests/posix/links_plus.out create mode 100644 tests/posix/links_plus.sh create mode 100644 tests/posix/missing_paren.sh create mode 100644 tests/posix/name.out create mode 100644 tests/posix/name.sh create mode 100644 tests/posix/name_backslash.out create mode 100644 tests/posix/name_backslash.sh create mode 100644 tests/posix/name_bracket.out create mode 100644 tests/posix/name_bracket.sh create mode 100644 tests/posix/name_character_class.out create mode 100644 tests/posix/name_character_class.sh create mode 100644 tests/posix/name_double_backslash.out create mode 100644 tests/posix/name_double_backslash.sh create mode 100644 tests/posix/name_root.out create mode 100644 tests/posix/name_root.sh create mode 100644 tests/posix/name_root_depth.out create mode 100644 tests/posix/name_root_depth.sh create mode 100644 tests/posix/name_star_star.out create mode 100644 tests/posix/name_star_star.sh create mode 100644 tests/posix/name_trailing_slash.out create mode 100644 tests/posix/name_trailing_slash.sh create mode 100644 tests/posix/newer.out create mode 100644 tests/posix/newer.sh create mode 100644 tests/posix/newer_link.out create mode 100644 tests/posix/newer_link.sh create mode 100644 tests/posix/nogroup.out create mode 100644 tests/posix/nogroup.sh create mode 100644 tests/posix/nogroup_ulimit.out create mode 100644 tests/posix/nogroup_ulimit.sh create mode 100644 tests/posix/not_prune.out create mode 100644 tests/posix/not_prune.sh create mode 100644 tests/posix/nouser.out create mode 100644 tests/posix/nouser.sh create mode 100644 tests/posix/nouser_ulimit.out create mode 100644 tests/posix/nouser_ulimit.sh create mode 100644 tests/posix/o.out create mode 100644 tests/posix/o.sh create mode 100644 tests/posix/ok_stdin.out create mode 100644 tests/posix/ok_stdin.sh create mode 100644 tests/posix/or_purity.out create mode 100644 tests/posix/or_purity.sh create mode 100644 tests/posix/parens.out create mode 100644 tests/posix/parens.sh create mode 100644 tests/posix/path.out create mode 100644 tests/posix/path.sh create mode 100644 tests/posix/perm_000.out create mode 100644 tests/posix/perm_000.sh create mode 100644 tests/posix/perm_000_minus.out create mode 100644 tests/posix/perm_000_minus.sh create mode 100644 tests/posix/perm_222.out create mode 100644 tests/posix/perm_222.sh create mode 100644 tests/posix/perm_222_minus.out create mode 100644 tests/posix/perm_222_minus.sh create mode 100644 tests/posix/perm_644.out create mode 100644 tests/posix/perm_644.sh create mode 100644 tests/posix/perm_644_minus.out create mode 100644 tests/posix/perm_644_minus.sh create mode 100644 tests/posix/perm_leading_plus_symbolic_minus.out create mode 100644 tests/posix/perm_leading_plus_symbolic_minus.sh create mode 100644 tests/posix/perm_setid.out create mode 100644 tests/posix/perm_setid.sh create mode 100644 tests/posix/perm_sticky.out create mode 100644 tests/posix/perm_sticky.sh create mode 100644 tests/posix/perm_symbolic.out create mode 100644 tests/posix/perm_symbolic.sh create mode 100644 tests/posix/perm_symbolic_minus.out create mode 100644 tests/posix/perm_symbolic_minus.sh create mode 100644 tests/posix/permcopy.out create mode 100644 tests/posix/permcopy.sh create mode 100644 tests/posix/prune.out create mode 100644 tests/posix/prune.sh create mode 100644 tests/posix/prune_file.out create mode 100644 tests/posix/prune_file.sh create mode 100644 tests/posix/prune_or_print.out create mode 100644 tests/posix/prune_or_print.sh create mode 100644 tests/posix/size.out create mode 100644 tests/posix/size.sh create mode 100644 tests/posix/size_bytes.out create mode 100644 tests/posix/size_bytes.sh create mode 100644 tests/posix/size_plus.out create mode 100644 tests/posix/size_plus.sh create mode 100644 tests/posix/type_bind_mount.out create mode 100644 tests/posix/type_bind_mount.sh create mode 100644 tests/posix/type_d.out create mode 100644 tests/posix/type_d.sh create mode 100644 tests/posix/type_f.out create mode 100644 tests/posix/type_f.sh create mode 100644 tests/posix/type_l.out create mode 100644 tests/posix/type_l.sh create mode 100644 tests/posix/user_id.out create mode 100644 tests/posix/user_id.sh create mode 100644 tests/posix/user_name.out create mode 100644 tests/posix/user_name.sh create mode 100644 tests/posix/user_nouser.out create mode 100644 tests/posix/user_nouser.sh create mode 100644 tests/posix/weird_names.out create mode 100644 tests/posix/weird_names.sh create mode 100644 tests/posix/xdev.out create mode 100644 tests/posix/xdev.sh delete mode 100644 tests/test_D_all.out delete mode 100644 tests/test_D_multi.out delete mode 100644 tests/test_E.out delete mode 100644 tests/test_H.out delete mode 100644 tests/test_H_broken.out delete mode 100644 tests/test_H_loops.out delete mode 100644 tests/test_H_mnewer.out delete mode 100644 tests/test_H_newer.out delete mode 100644 tests/test_H_notdir.out delete mode 100644 tests/test_H_samefile_broken.out delete mode 100644 tests/test_H_samefile_notdir.out delete mode 100644 tests/test_H_samefile_symlink.out delete mode 100644 tests/test_H_slash.out delete mode 100644 tests/test_H_type_l.out delete mode 100644 tests/test_L.out delete mode 100644 tests/test_L_acl.out delete mode 100644 tests/test_L_broken.out delete mode 100644 tests/test_L_capable.out delete mode 100644 tests/test_L_delete.out delete mode 100644 tests/test_L_depth.out delete mode 100644 tests/test_L_ilname.out delete mode 100644 tests/test_L_lname.out delete mode 100644 tests/test_L_loops_continue.out delete mode 100644 tests/test_L_mount.out delete mode 100644 tests/test_L_notdir.out delete mode 100644 tests/test_L_samefile_broken.out delete mode 100644 tests/test_L_samefile_notdir.out delete mode 100644 tests/test_L_samefile_symlink.out delete mode 100644 tests/test_L_type_l.out delete mode 100644 tests/test_L_unique.out delete mode 100644 tests/test_L_unique_depth.out delete mode 100644 tests/test_L_unique_loops.out delete mode 100644 tests/test_L_xattr.out delete mode 100644 tests/test_L_xattrname.out delete mode 100644 tests/test_L_xdev.out delete mode 100644 tests/test_L_xtype_f.out delete mode 100644 tests/test_L_xtype_l.out delete mode 100644 tests/test_O0.out delete mode 100644 tests/test_O1.out delete mode 100644 tests/test_O2.out delete mode 100644 tests/test_O3.out delete mode 100644 tests/test_Ofast.out delete mode 100644 tests/test_P.out delete mode 100644 tests/test_P_slash.out delete mode 100644 tests/test_S_bfs.out delete mode 100644 tests/test_S_dfs.out delete mode 100644 tests/test_S_ids.out delete mode 100644 tests/test_X.out delete mode 100644 tests/test_a.out delete mode 100644 tests/test_acl.out delete mode 100644 tests/test_and.out delete mode 100644 tests/test_and_false_or_true.out delete mode 100644 tests/test_and_purity.out delete mode 100644 tests/test_anewer.out delete mode 100644 tests/test_asince.out delete mode 100644 tests/test_bang.out delete mode 100644 tests/test_basic.out delete mode 100644 tests/test_capable.out delete mode 100644 tests/test_closed_stdin.out delete mode 100644 tests/test_color.out delete mode 100644 tests/test_color_L.out delete mode 100644 tests/test_color_L_ln_target.out delete mode 100644 tests/test_color_L_no_stat.out delete mode 100644 tests/test_color_escapes.out delete mode 100644 tests/test_color_ext.out delete mode 100644 tests/test_color_ext0.out delete mode 100644 tests/test_color_ext_override.out delete mode 100644 tests/test_color_ext_underride.out delete mode 100644 tests/test_color_ln_target.out delete mode 100644 tests/test_color_ls.out delete mode 100644 tests/test_color_mh.out delete mode 100644 tests/test_color_mh0.out delete mode 100644 tests/test_color_mi.out delete mode 100644 tests/test_color_missing_colon.out delete mode 100644 tests/test_color_no_stat.out delete mode 100644 tests/test_color_nul.out delete mode 100644 tests/test_color_or.out delete mode 100644 tests/test_color_or0_mi.out delete mode 100644 tests/test_color_or0_mi0.out delete mode 100644 tests/test_color_or_mi.out delete mode 100644 tests/test_color_or_mi0.out delete mode 100644 tests/test_color_rs_lc_rc_ec.out delete mode 100644 tests/test_color_st0_tw0_ow.out delete mode 100644 tests/test_color_st0_tw0_ow0.out delete mode 100644 tests/test_color_st0_tw_ow.out delete mode 100644 tests/test_color_st0_tw_ow0.out delete mode 100644 tests/test_color_st_tw0_ow.out delete mode 100644 tests/test_color_st_tw0_ow0.out delete mode 100644 tests/test_color_st_tw_ow0.out delete mode 100644 tests/test_color_star.out delete mode 100644 tests/test_color_su0_sg.out delete mode 100644 tests/test_color_su0_sg0.out delete mode 100644 tests/test_color_su_sg0.out delete mode 100644 tests/test_comma.out delete mode 100644 tests/test_comma_reachability.out delete mode 100644 tests/test_comma_redundant_false.out delete mode 100644 tests/test_comma_redundant_true.out delete mode 100644 tests/test_d_path.out delete mode 100644 tests/test_data_flow_and_swap.out delete mode 100644 tests/test_data_flow_depth.out delete mode 100644 tests/test_data_flow_group.out delete mode 100644 tests/test_data_flow_hidden.out delete mode 100644 tests/test_data_flow_or_swap.out delete mode 100644 tests/test_data_flow_sparse.out delete mode 100644 tests/test_data_flow_type.out delete mode 100644 tests/test_data_flow_user.out delete mode 100644 tests/test_daystart.out delete mode 100644 tests/test_daystart_twice.out delete mode 100644 tests/test_de_morgan_and.out delete mode 100644 tests/test_de_morgan_not.out delete mode 100644 tests/test_de_morgan_or.out delete mode 100644 tests/test_deep.out delete mode 100644 tests/test_deep_strict.out delete mode 100644 tests/test_delete.out delete mode 100644 tests/test_delete_many.out delete mode 100644 tests/test_depth.out delete mode 100644 tests/test_depth_depth_n.out delete mode 100644 tests/test_depth_depth_n_minus.out delete mode 100644 tests/test_depth_depth_n_plus.out delete mode 100644 tests/test_depth_error.out delete mode 100644 tests/test_depth_maxdepth_1.out delete mode 100644 tests/test_depth_maxdepth_2.out delete mode 100644 tests/test_depth_mindepth_1.out delete mode 100644 tests/test_depth_mindepth_2.out delete mode 100644 tests/test_depth_n.out delete mode 100644 tests/test_depth_n_minus.out delete mode 100644 tests/test_depth_n_plus.out delete mode 100644 tests/test_depth_overflow.out delete mode 100644 tests/test_depth_slash.out delete mode 100644 tests/test_double_dash.out delete mode 100644 tests/test_double_negation.out delete mode 100644 tests/test_empty.out delete mode 100644 tests/test_empty_special.out delete mode 100644 tests/test_exclude_depth.out delete mode 100644 tests/test_exclude_mindepth.out delete mode 100644 tests/test_exclude_name.out delete mode 100644 tests/test_exec.out delete mode 100644 tests/test_exec_flush.out delete mode 100644 tests/test_exec_flush_fprint.out delete mode 100644 tests/test_exec_nonexistent.out delete mode 100644 tests/test_exec_nopath.out delete mode 100644 tests/test_exec_plus.out delete mode 100644 tests/test_exec_plus_flush.out delete mode 100644 tests/test_exec_plus_nonexistent.out delete mode 100644 tests/test_exec_plus_semicolon.out delete mode 100644 tests/test_exec_plus_status.out delete mode 100644 tests/test_exec_substring.out delete mode 100644 tests/test_execdir.out delete mode 100644 tests/test_execdir_nonexistent.out delete mode 100644 tests/test_execdir_plus.out delete mode 100644 tests/test_execdir_plus_nonexistent.out delete mode 100644 tests/test_execdir_plus_semicolon.out delete mode 100644 tests/test_execdir_pwd.out delete mode 100644 tests/test_execdir_slash.out delete mode 100644 tests/test_execdir_slash_pwd.out delete mode 100644 tests/test_execdir_slashes.out delete mode 100644 tests/test_execdir_substring.out delete mode 100644 tests/test_execdir_ulimit.out delete mode 100644 tests/test_executable.out delete mode 100644 tests/test_exit.out delete mode 100644 tests/test_exit_no_implicit_print.out delete mode 100644 tests/test_expr_flag_path.out delete mode 100644 tests/test_expr_path_flag.out delete mode 100644 tests/test_f.out delete mode 100644 tests/test_false.out delete mode 100644 tests/test_files0_from_file.out delete mode 100644 tests/test_files0_from_stdin.out delete mode 100644 tests/test_flag_comma.out delete mode 100644 tests/test_flag_double_dash.out delete mode 100644 tests/test_flag_expr_path.out delete mode 100644 tests/test_flag_weird_names.out delete mode 100644 tests/test_flags.out delete mode 100644 tests/test_follow.out delete mode 100644 tests/test_follow_comma.out delete mode 100644 tests/test_fprint.out delete mode 100644 tests/test_fprint0.out delete mode 100644 tests/test_fprint_append.out delete mode 100644 tests/test_fprint_duplicate.out delete mode 100644 tests/test_fprint_duplicate_stdout.out delete mode 100644 tests/test_fprint_truncate.out delete mode 100644 tests/test_fprintf.out delete mode 100644 tests/test_fstype.out delete mode 100644 tests/test_gid.out delete mode 100644 tests/test_gid_minus.out delete mode 100644 tests/test_gid_minus_plus.out delete mode 100644 tests/test_gid_name.out delete mode 100644 tests/test_gid_plus.out delete mode 100644 tests/test_gid_plus_plus.out delete mode 100644 tests/test_group_id.out delete mode 100644 tests/test_group_name.out delete mode 100644 tests/test_group_nogroup.out delete mode 100644 tests/test_hidden.out delete mode 100644 tests/test_hidden_root.out delete mode 100644 tests/test_ilname.out delete mode 100644 tests/test_implicit_and.out delete mode 100644 tests/test_iname.out delete mode 100644 tests/test_inum.out delete mode 100644 tests/test_inum_automount.out delete mode 100644 tests/test_inum_bind_mount.out delete mode 100644 tests/test_inum_mount.out delete mode 100644 tests/test_ipath.out delete mode 100644 tests/test_iregex.out delete mode 100644 tests/test_iwholename.out delete mode 100644 tests/test_links.out delete mode 100644 tests/test_links_minus.out delete mode 100644 tests/test_links_plus.out delete mode 100644 tests/test_lname.out delete mode 100644 tests/test_maxdepth.out delete mode 100644 tests/test_mindepth.out delete mode 100644 tests/test_mnewer.out delete mode 100644 tests/test_mount.out delete mode 100644 tests/test_msince.out delete mode 100644 tests/test_mtime_units.out delete mode 100644 tests/test_name.out delete mode 100644 tests/test_name_backslash.out delete mode 100644 tests/test_name_bracket.out delete mode 100644 tests/test_name_character_class.out delete mode 100644 tests/test_name_double_backslash.out delete mode 100644 tests/test_name_root.out delete mode 100644 tests/test_name_root_depth.out delete mode 100644 tests/test_name_slash.out delete mode 100644 tests/test_name_slashes.out delete mode 100644 tests/test_name_star_star.out delete mode 100644 tests/test_name_trailing_slash.out delete mode 100644 tests/test_newer.out delete mode 100644 tests/test_newer_link.out delete mode 100644 tests/test_newerma.out delete mode 100644 tests/test_newermt.out delete mode 100644 tests/test_newermt_epoch_minus_one.out delete mode 100644 tests/test_nogroup.out delete mode 100644 tests/test_nogroup_ulimit.out delete mode 100644 tests/test_nohidden.out delete mode 100644 tests/test_nohidden_depth.out delete mode 100644 tests/test_not.out delete mode 100644 tests/test_not_prune.out delete mode 100644 tests/test_not_reachability.out delete mode 100644 tests/test_nouser.out delete mode 100644 tests/test_nouser_ulimit.out delete mode 100644 tests/test_o.out delete mode 100644 tests/test_ok_closed_stdin.out delete mode 100644 tests/test_ok_plus_semicolon.out delete mode 100644 tests/test_ok_stdin.out delete mode 100644 tests/test_okdir_closed_stdin.out delete mode 100644 tests/test_okdir_plus_semicolon.out delete mode 100644 tests/test_okdir_stdin.out delete mode 100644 tests/test_or.out delete mode 100644 tests/test_or_purity.out delete mode 100644 tests/test_parens.out delete mode 100644 tests/test_path.out delete mode 100644 tests/test_path_d.out delete mode 100644 tests/test_path_expr_flag.out delete mode 100644 tests/test_path_flag_expr.out delete mode 100644 tests/test_perm_000.out delete mode 100644 tests/test_perm_000_minus.out delete mode 100644 tests/test_perm_000_plus.out delete mode 100644 tests/test_perm_000_slash.out delete mode 100644 tests/test_perm_222.out delete mode 100644 tests/test_perm_222_minus.out delete mode 100644 tests/test_perm_222_plus.out delete mode 100644 tests/test_perm_222_slash.out delete mode 100644 tests/test_perm_644.out delete mode 100644 tests/test_perm_644_minus.out delete mode 100644 tests/test_perm_644_plus.out delete mode 100644 tests/test_perm_644_slash.out delete mode 100644 tests/test_perm_leading_plus_symbolic.out delete mode 100644 tests/test_perm_leading_plus_symbolic_minus.out delete mode 100644 tests/test_perm_leading_plus_symbolic_slash.out delete mode 100644 tests/test_perm_setid.out delete mode 100644 tests/test_perm_sticky.out delete mode 100644 tests/test_perm_symbolic.out delete mode 100644 tests/test_perm_symbolic_minus.out delete mode 100644 tests/test_perm_symbolic_slash.out delete mode 100644 tests/test_permcopy.out delete mode 100644 tests/test_precedence.out delete mode 100644 tests/test_print0.out delete mode 100644 tests/test_printf.out delete mode 100644 tests/test_printf_H.out delete mode 100644 tests/test_printf_Y_error.out delete mode 100644 tests/test_printf_color.out delete mode 100644 tests/test_printf_empty.out delete mode 100644 tests/test_printf_escapes.out delete mode 100644 tests/test_printf_flags.out delete mode 100644 tests/test_printf_l_nonlink.out delete mode 100644 tests/test_printf_leak.out delete mode 100644 tests/test_printf_nul.out delete mode 100644 tests/test_printf_slash.out delete mode 100644 tests/test_printf_slashes.out delete mode 100644 tests/test_printf_times.out delete mode 100644 tests/test_printf_trailing_slash.out delete mode 100644 tests/test_printf_trailing_slashes.out delete mode 100644 tests/test_printf_types.out delete mode 100644 tests/test_printf_w.out delete mode 100644 tests/test_printx.out delete mode 100644 tests/test_prune.out delete mode 100644 tests/test_prune_file.out delete mode 100644 tests/test_prune_or_print.out delete mode 100644 tests/test_quit.out delete mode 100644 tests/test_quit_after_print.out delete mode 100644 tests/test_quit_before_print.out delete mode 100644 tests/test_quit_child.out delete mode 100644 tests/test_quit_depth.out delete mode 100644 tests/test_quit_depth_child.out delete mode 100644 tests/test_quit_implicit_print.out delete mode 100644 tests/test_readable.out delete mode 100644 tests/test_regex.out delete mode 100644 tests/test_regex_invalid_utf8.out delete mode 100644 tests/test_regex_parens.out delete mode 100644 tests/test_regextype_ed.out delete mode 100644 tests/test_regextype_emacs.out delete mode 100644 tests/test_regextype_grep.out delete mode 100644 tests/test_regextype_posix_basic.out delete mode 100644 tests/test_regextype_posix_extended.out delete mode 100644 tests/test_regextype_sed.out delete mode 100644 tests/test_rm.out delete mode 100644 tests/test_s.out delete mode 100644 tests/test_samefile.out delete mode 100644 tests/test_samefile_broken.out delete mode 100644 tests/test_samefile_notdir.out delete mode 100644 tests/test_samefile_symlink.out delete mode 100644 tests/test_size.out delete mode 100644 tests/test_size_T.out delete mode 100644 tests/test_size_big.out delete mode 100644 tests/test_size_bytes.out delete mode 100644 tests/test_size_plus.out delete mode 100644 tests/test_stderr_fails_silently.out delete mode 100644 tests/test_true.out delete mode 100644 tests/test_type_bind_mount.out delete mode 100644 tests/test_type_d.out delete mode 100644 tests/test_type_f.out delete mode 100644 tests/test_type_l.out delete mode 100644 tests/test_type_multi.out delete mode 100644 tests/test_uid.out delete mode 100644 tests/test_uid_minus.out delete mode 100644 tests/test_uid_minus_plus.out delete mode 100644 tests/test_uid_name.out delete mode 100644 tests/test_uid_plus.out delete mode 100644 tests/test_uid_plus_plus.out delete mode 100644 tests/test_unique.out delete mode 100644 tests/test_unique_depth.out delete mode 100644 tests/test_user_id.out delete mode 100644 tests/test_user_name.out delete mode 100644 tests/test_user_nouser.out delete mode 100644 tests/test_weird_names.out delete mode 100644 tests/test_wholename.out delete mode 100644 tests/test_writable.out delete mode 100644 tests/test_xattr.out delete mode 100644 tests/test_xattrname.out delete mode 100644 tests/test_xdev.out delete mode 100644 tests/test_xtype_bind_mount.out delete mode 100644 tests/test_xtype_f.out delete mode 100644 tests/test_xtype_l.out delete mode 100644 tests/test_xtype_multi.out delete mode 100644 tests/test_xtype_reorder.out diff --git a/docs/BUILDING.md b/docs/BUILDING.md index 932845b..5219160 100644 --- a/docs/BUILDING.md +++ b/docs/BUILDING.md @@ -107,27 +107,28 @@ Testing $ make check -Most of the testsuite is implemented in the file [`tests.sh`](/tests.sh). -This script contains hundreds of separate test cases. -Most of them are *snapshot tests* which compare `bfs`'s output to a known-good copy saved under [`tests`](/tests). +The test harness is implemented in the file [`tests/tests.sh`](/tests/tests.sh). +Individual test cases are found in `tests/*/*.sh`. +Most of them are *snapshot tests* which compare `bfs`'s output to a known-good copy saved under the matching `tests/*/*.out`. You can pass the name of a particular test case (or a few) to run just those tests. For example: - $ ./tests/tests.sh test_basic + $ ./tests/tests.sh posix/basic If you need to update the reference snapshot, pass `--update`. It can be handy to generate the snapshot with a different `find` implementation to ensure the output is correct, for example: - $ ./tests/tests.sh test_basic --bfs=find --update + $ ./tests/tests.sh posix/basic --bfs=find --update But keep in mind, other `find` implementations may not be correct. To my knowledge, no other implementation passes even the POSIX-compatible subset of the tests: $ ./tests/tests.sh --bfs=find --posix ... - tests passed: 89 - tests failed: 5 + tests passed: 90 + tests skipped: 3 + tests failed: 6 Run diff --git a/docs/HACKING.md b/docs/HACKING.md index 08ddac2..c9bbe14 100644 --- a/docs/HACKING.md +++ b/docs/HACKING.md @@ -30,18 +30,26 @@ Tests `bfs` includes an extensive test suite. See the [build documentation](BUILDING.md#testing) for details on running the tests. +Test cases are grouped by the standard or `find` implementation that supports the tested feature(s): + +| Group | Description | +|---------------------------------|---------------------------------------| +| [`tests/posix`](/tests/posix) | POSIX compatibility tests | +| [`tests/bsd`](/tests/bsd) | BSD `find` features | +| [`tests/gnu`](/tests/gnu) | GNU `find` features | +| [`tests/common`](/tests/common) | Features common to BSD and GNU `find` | +| [`tests/bfs`](/tests/bfs) | `bfs`-specific tests | + Both new features and bug fixes should have associated tests. -To add a test, create a new function in `tests.sh` called `test_`. +To add a test, create a new `*.sh` file in the appropriate group. Snapshot tests use the `bfs_diff` function to automatically compare the generated and expected outputs. For example, ```bash -function test_something() { - bfs_diff basic -name something -} +# posix/something.sh +bfs_diff basic -name something ``` `basic` is one of the directory trees generated for test cases; others include `links`, `loops`, `deep`, and `rainbow`. -Run `./tests/tests.sh test_something --update` to generate the reference snapshot (and don't forget to `git add` it). -Finally, add the test case to one of the arrays `posix_tests`, `bsd_tests`, `gnu_tests`, or `bfs_tests`, depending on which `find` implementations it should be compatible with. +Run `./tests/tests.sh posix/something --update` to generate the reference snapshot (and don't forget to `git add` it). diff --git a/docs/USAGE.md b/docs/USAGE.md index e2cff44..4f5db98 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -78,17 +78,17 @@ $ bfs -name '*.md' -and -name '*ING'` There are other operators like `-or`: ```console -$ bfs -name '*.md' -or -name '*.sh' +$ bfs -name '*.md' -or -name 'bfs.*' ./README.md -./tests/find-color.sh -./tests/ls-color.sh -./tests/remove-sibling.sh -./tests/sort-args.sh -./tests/tests.sh +./completions/bfs.bash +./completions/bfs.fish +./completions/bfs.zsh +./docs/BUILDING.md ./docs/CHANGELOG.md ./docs/HACKING.md -./docs/BUILDING.md ./docs/USAGE.md +./docs/bfs.1 +./src/bfs.h ``` and `-not`: diff --git a/tests/bfs/D_all.out b/tests/bfs/D_all.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/D_all.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/D_all.sh b/tests/bfs/D_all.sh new file mode 100644 index 0000000..170698a --- /dev/null +++ b/tests/bfs/D_all.sh @@ -0,0 +1 @@ +bfs_diff -D all basic diff --git a/tests/bfs/D_multi.out b/tests/bfs/D_multi.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/D_multi.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/D_multi.sh b/tests/bfs/D_multi.sh new file mode 100644 index 0000000..08a8ca6 --- /dev/null +++ b/tests/bfs/D_multi.sh @@ -0,0 +1 @@ +bfs_diff -D opt,tree,unknown basic diff --git a/tests/bfs/L_capable.out b/tests/bfs/L_capable.out new file mode 100644 index 0000000..e5ba3c7 --- /dev/null +++ b/tests/bfs/L_capable.out @@ -0,0 +1,2 @@ +scratch/capable +scratch/link diff --git a/tests/bfs/L_capable.sh b/tests/bfs/L_capable.sh new file mode 100644 index 0000000..e1806b7 --- /dev/null +++ b/tests/bfs/L_capable.sh @@ -0,0 +1,12 @@ +skip_unless test "$SUDO" +skip_unless test "$UNAME" = "Linux" + +rm -rf scratch/* + +skip_unless invoke_bfs scratch -quit -capable + +$TOUCH scratch/{normal,capable} +sudo setcap all+ep scratch/capable +ln -s capable scratch/link + +bfs_diff -L scratch -capable diff --git a/tests/bfs/L_unique.out b/tests/bfs/L_unique.out new file mode 100644 index 0000000..c94c48e --- /dev/null +++ b/tests/bfs/L_unique.out @@ -0,0 +1 @@ +links/file diff --git a/tests/bfs/L_unique.sh b/tests/bfs/L_unique.sh new file mode 100644 index 0000000..c804526 --- /dev/null +++ b/tests/bfs/L_unique.sh @@ -0,0 +1 @@ +bfs_diff -L links/{file,symlink,hardlink} -unique diff --git a/tests/bfs/L_unique_depth.out b/tests/bfs/L_unique_depth.out new file mode 100644 index 0000000..dad0a98 --- /dev/null +++ b/tests/bfs/L_unique_depth.out @@ -0,0 +1,3 @@ +loops/deeply/nested +loops/deeply/nested/dir +loops/deeply/nested/loop diff --git a/tests/bfs/L_unique_depth.sh b/tests/bfs/L_unique_depth.sh new file mode 100644 index 0000000..fb9aca1 --- /dev/null +++ b/tests/bfs/L_unique_depth.sh @@ -0,0 +1 @@ +bfs_diff -L loops/deeply/nested -unique -depth diff --git a/tests/bfs/L_unique_loops.out b/tests/bfs/L_unique_loops.out new file mode 100644 index 0000000..dad0a98 --- /dev/null +++ b/tests/bfs/L_unique_loops.out @@ -0,0 +1,3 @@ +loops/deeply/nested +loops/deeply/nested/dir +loops/deeply/nested/loop diff --git a/tests/bfs/L_unique_loops.sh b/tests/bfs/L_unique_loops.sh new file mode 100644 index 0000000..2bdd94e --- /dev/null +++ b/tests/bfs/L_unique_loops.sh @@ -0,0 +1 @@ +bfs_diff -L loops/deeply/nested -unique diff --git a/tests/bfs/O0.out b/tests/bfs/O0.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/O0.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/O0.sh b/tests/bfs/O0.sh new file mode 100644 index 0000000..0f92d71 --- /dev/null +++ b/tests/bfs/O0.sh @@ -0,0 +1 @@ +bfs_diff -O0 basic -not \( -type f -not -type f \) diff --git a/tests/bfs/O1.out b/tests/bfs/O1.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/O1.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/O1.sh b/tests/bfs/O1.sh new file mode 100644 index 0000000..924b410 --- /dev/null +++ b/tests/bfs/O1.sh @@ -0,0 +1 @@ +bfs_diff -O1 basic -not \( -type f -not -type f \) diff --git a/tests/bfs/O2.out b/tests/bfs/O2.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/O2.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/O2.sh b/tests/bfs/O2.sh new file mode 100644 index 0000000..9382456 --- /dev/null +++ b/tests/bfs/O2.sh @@ -0,0 +1 @@ +bfs_diff -O2 basic -not \( -type f -not -type f \) diff --git a/tests/bfs/O3.out b/tests/bfs/O3.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/O3.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/O3.sh b/tests/bfs/O3.sh new file mode 100644 index 0000000..5bdf2bc --- /dev/null +++ b/tests/bfs/O3.sh @@ -0,0 +1 @@ +bfs_diff -O3 basic -not \( -type f -not -type f \) diff --git a/tests/bfs/Ofast.out b/tests/bfs/Ofast.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/Ofast.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/Ofast.sh b/tests/bfs/Ofast.sh new file mode 100644 index 0000000..87c1d8d --- /dev/null +++ b/tests/bfs/Ofast.sh @@ -0,0 +1 @@ +bfs_diff -Ofast basic -not \( -xtype f -not -xtype f \) diff --git a/tests/bfs/S_bfs.out b/tests/bfs/S_bfs.out new file mode 100644 index 0000000..bb3cd8d --- /dev/null +++ b/tests/bfs/S_bfs.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l +basic/c/d +basic/e/f +basic/g/h +basic/j/foo +basic/k/foo +basic/l/foo +basic/k/foo/bar +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/S_bfs.sh b/tests/bfs/S_bfs.sh new file mode 100644 index 0000000..76976de --- /dev/null +++ b/tests/bfs/S_bfs.sh @@ -0,0 +1,2 @@ +invoke_bfs -S bfs -s basic >"$OUT" +diff_output diff --git a/tests/bfs/S_dfs.out b/tests/bfs/S_dfs.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/S_dfs.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/S_dfs.sh b/tests/bfs/S_dfs.sh new file mode 100644 index 0000000..7dd7a46 --- /dev/null +++ b/tests/bfs/S_dfs.sh @@ -0,0 +1,2 @@ +invoke_bfs -S dfs -s basic >"$OUT" +diff_output diff --git a/tests/bfs/S_ids.out b/tests/bfs/S_ids.out new file mode 100644 index 0000000..bb3cd8d --- /dev/null +++ b/tests/bfs/S_ids.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l +basic/c/d +basic/e/f +basic/g/h +basic/j/foo +basic/k/foo +basic/l/foo +basic/k/foo/bar +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/S_ids.sh b/tests/bfs/S_ids.sh new file mode 100644 index 0000000..3995cf0 --- /dev/null +++ b/tests/bfs/S_ids.sh @@ -0,0 +1,2 @@ +invoke_bfs -S ids -s basic >"$OUT" +diff_output diff --git a/tests/bfs/and_incomplete.sh b/tests/bfs/and_incomplete.sh new file mode 100644 index 0000000..f7bc2c3 --- /dev/null +++ b/tests/bfs/and_incomplete.sh @@ -0,0 +1 @@ +fail invoke_bfs -print -a diff --git a/tests/bfs/capable.out b/tests/bfs/capable.out new file mode 100644 index 0000000..78b5bd9 --- /dev/null +++ b/tests/bfs/capable.out @@ -0,0 +1 @@ +scratch/capable diff --git a/tests/bfs/capable.sh b/tests/bfs/capable.sh new file mode 100644 index 0000000..964f37f --- /dev/null +++ b/tests/bfs/capable.sh @@ -0,0 +1,12 @@ +skip_unless test "$SUDO" +skip_unless test "$UNAME" = "Linux" + +rm -rf scratch/* + +skip_unless invoke_bfs scratch -quit -capable + +$TOUCH scratch/{normal,capable} +sudo setcap all+ep scratch/capable +ln -s capable scratch/link + +bfs_diff scratch -capable diff --git a/tests/bfs/color.out b/tests/bfs/color.out new file mode 100644 index 0000000..77fc8a8 --- /dev/null +++ b/tests/bfs/color.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color.sh b/tests/bfs/color.sh new file mode 100644 index 0000000..23f05a3 --- /dev/null +++ b/tests/bfs/color.sh @@ -0,0 +1 @@ +bfs_diff rainbow -color diff --git a/tests/bfs/color_L.out b/tests/bfs/color_L.out new file mode 100644 index 0000000..b60dd4a --- /dev/null +++ b/tests/bfs/color_L.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/chardev_link +rainbow/socket +rainbow/broken +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/link.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_L.sh b/tests/bfs/color_L.sh new file mode 100644 index 0000000..823db62 --- /dev/null +++ b/tests/bfs/color_L.sh @@ -0,0 +1 @@ +bfs_diff -L rainbow -color diff --git a/tests/bfs/color_L_ln_target.out b/tests/bfs/color_L_ln_target.out new file mode 100644 index 0000000..cd4ec5e --- /dev/null +++ b/tests/bfs/color_L_ln_target.out @@ -0,0 +1,20 @@ +rainbow +rainbow/broken +rainbow/exec.sh +rainbow/chardev_link +rainbow/socket +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/link.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_L_ln_target.sh b/tests/bfs/color_L_ln_target.sh new file mode 100644 index 0000000..cc5991d --- /dev/null +++ b/tests/bfs/color_L_ln_target.sh @@ -0,0 +1 @@ +LS_COLORS="ln=target:or=01;31:mi=01;33:" bfs_diff -L rainbow -color diff --git a/tests/bfs/color_L_no_stat.out b/tests/bfs/color_L_no_stat.out new file mode 100644 index 0000000..c0bb1be --- /dev/null +++ b/tests/bfs/color_L_no_stat.out @@ -0,0 +1,20 @@ +rainbow +rainbow/chardev_link +rainbow/ow +rainbow/sticky +rainbow/sticky_ow +rainbow/socket +rainbow/broken +rainbow/file.txt +rainbow/link.txt +rainbow/pipe +rainbow/exec.sh +rainbow/file.dat +rainbow/mh1 +rainbow/mh2 +rainbow/sgid +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz +rainbow/sugid +rainbow/suid diff --git a/tests/bfs/color_L_no_stat.sh b/tests/bfs/color_L_no_stat.sh new file mode 100644 index 0000000..0a2caf0 --- /dev/null +++ b/tests/bfs/color_L_no_stat.sh @@ -0,0 +1 @@ +LS_COLORS="mh=0:ex=0:sg=0:su=0:st=0:ow=0:tw=0:*.txt=01:" bfs_diff -L rainbow -color diff --git a/tests/bfs/color_escapes.out b/tests/bfs/color_escapes.out new file mode 100644 index 0000000..b71e138 --- /dev/null +++ b/tests/bfs/color_escapes.out @@ -0,0 +1,20 @@ +:rainbow +:rainbow/:exec.sh +:rainbow/:socket +:rainbow/:broken +:rainbow/:chardev_link +:rainbow/:link.txt +:rainbow/:sticky_ow +:rainbow/:sgid +:rainbow/:pipe +:rainbow/:ow +:rainbow/:sugid +:rainbow/:suid +:rainbow/:sticky +:rainbow/file.dat +:rainbow/file.txt +:rainbow/mh1 +:rainbow/mh2 +:rainbow/star.gz +:rainbow/star.tar +:rainbow/star.tar.gz diff --git a/tests/bfs/color_escapes.sh b/tests/bfs/color_escapes.sh new file mode 100644 index 0000000..eb5817f --- /dev/null +++ b/tests/bfs/color_escapes.sh @@ -0,0 +1 @@ +LS_COLORS="lc=\e[:rc=\155\::ec=^[\x5B\x6d:" bfs_diff rainbow -color diff --git a/tests/bfs/color_ext.out b/tests/bfs/color_ext.out new file mode 100644 index 0000000..cf26e73 --- /dev/null +++ b/tests/bfs/color_ext.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/file.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_ext.sh b/tests/bfs/color_ext.sh new file mode 100644 index 0000000..c9f6d46 --- /dev/null +++ b/tests/bfs/color_ext.sh @@ -0,0 +1 @@ +LS_COLORS="*.txt=01:" bfs_diff rainbow -color diff --git a/tests/bfs/color_ext0.out b/tests/bfs/color_ext0.out new file mode 100644 index 0000000..e764a6b --- /dev/null +++ b/tests/bfs/color_ext0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/file.txt +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_ext0.sh b/tests/bfs/color_ext0.sh new file mode 100644 index 0000000..371a9c5 --- /dev/null +++ b/tests/bfs/color_ext0.sh @@ -0,0 +1 @@ +LS_COLORS="*.txt=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_ext_override.out b/tests/bfs/color_ext_override.out new file mode 100644 index 0000000..1377b65 --- /dev/null +++ b/tests/bfs/color_ext_override.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/star.tar +rainbow/star.gz +rainbow/star.tar.gz +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 diff --git a/tests/bfs/color_ext_override.sh b/tests/bfs/color_ext_override.sh new file mode 100644 index 0000000..ac4c7fb --- /dev/null +++ b/tests/bfs/color_ext_override.sh @@ -0,0 +1 @@ +LS_COLORS="*.tar.gz=01;31:*.TAR=01;32:*.gz=01;33:" bfs_diff rainbow -color diff --git a/tests/bfs/color_ext_underride.out b/tests/bfs/color_ext_underride.out new file mode 100644 index 0000000..787248a --- /dev/null +++ b/tests/bfs/color_ext_underride.out @@ -0,0 +1,20 @@ +rainbow +rainbow/star.tar.gz +rainbow/exec.sh +rainbow/star.tar +rainbow/star.gz +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 diff --git a/tests/bfs/color_ext_underride.sh b/tests/bfs/color_ext_underride.sh new file mode 100644 index 0000000..fb12e01 --- /dev/null +++ b/tests/bfs/color_ext_underride.sh @@ -0,0 +1 @@ +LS_COLORS="*.gz=01;33:*.TAR=01;32:*.tar.gz=01;31:" bfs_diff rainbow -color diff --git a/tests/bfs/color_ln_target.out b/tests/bfs/color_ln_target.out new file mode 100644 index 0000000..cd4ec5e --- /dev/null +++ b/tests/bfs/color_ln_target.out @@ -0,0 +1,20 @@ +rainbow +rainbow/broken +rainbow/exec.sh +rainbow/chardev_link +rainbow/socket +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/link.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_ln_target.sh b/tests/bfs/color_ln_target.sh new file mode 100644 index 0000000..707d25e --- /dev/null +++ b/tests/bfs/color_ln_target.sh @@ -0,0 +1 @@ +LS_COLORS="ln=target:or=01;31:mi=01;33:" bfs_diff rainbow -color diff --git a/tests/bfs/color_ls.out b/tests/bfs/color_ls.out new file mode 100644 index 0000000..b08d894 --- /dev/null +++ b/tests/bfs/color_ls.out @@ -0,0 +1,12 @@ +scratch/foo/bar +scratch/foo/bar +/__bfs__/nowhere +/__bfs__/nowhere +foo/bar/baz/qux +foo/bar/baz/qux +foo/bar/nowhere +foo/bar/nowhere +foo/bar/nowhere/nothing +foo/bar/nowhere/nothing +foo/bar/baz +foo/bar/baz diff --git a/tests/bfs/color_ls.sh b/tests/bfs/color_ls.sh new file mode 100644 index 0000000..79e1db2 --- /dev/null +++ b/tests/bfs/color_ls.sh @@ -0,0 +1,15 @@ +rm -rf scratch/* +touchp scratch/foo/bar/baz +ln -s foo/bar/baz scratch/link +ln -s foo/bar/nowhere scratch/broken +ln -s foo/bar/nowhere/nothing scratch/nested +ln -s foo/bar/baz/qux scratch/notdir +ln -s scratch/foo/bar scratch/relative +mkdir scratch/__bfs__ +ln -s /__bfs__/nowhere scratch/absolute + +LS_COLORS="or=01;31:" invoke_bfs scratch/{,link,broken,nested,notdir,relative,absolute} -color -type l -ls \ + | sed 's/.* -> //' \ + | sort >"$OUT" + +diff_output diff --git a/tests/bfs/color_mh.out b/tests/bfs/color_mh.out new file mode 100644 index 0000000..757a6a1 --- /dev/null +++ b/tests/bfs/color_mh.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/mh1 +rainbow/mh2 +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_mh.sh b/tests/bfs/color_mh.sh new file mode 100644 index 0000000..aff1845 --- /dev/null +++ b/tests/bfs/color_mh.sh @@ -0,0 +1 @@ +LS_COLORS="mh=01:" bfs_diff rainbow -color diff --git a/tests/bfs/color_mh0.out b/tests/bfs/color_mh0.out new file mode 100644 index 0000000..77fc8a8 --- /dev/null +++ b/tests/bfs/color_mh0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_mh0.sh b/tests/bfs/color_mh0.sh new file mode 100644 index 0000000..7de880d --- /dev/null +++ b/tests/bfs/color_mh0.sh @@ -0,0 +1 @@ +LS_COLORS="mh=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_mi.out b/tests/bfs/color_mi.out new file mode 100644 index 0000000..77fc8a8 --- /dev/null +++ b/tests/bfs/color_mi.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_mi.sh b/tests/bfs/color_mi.sh new file mode 100644 index 0000000..06dd8c6 --- /dev/null +++ b/tests/bfs/color_mi.sh @@ -0,0 +1 @@ +LS_COLORS="mi=01:" bfs_diff rainbow -color diff --git a/tests/bfs/color_missing_colon.out b/tests/bfs/color_missing_colon.out new file mode 100644 index 0000000..cf26e73 --- /dev/null +++ b/tests/bfs/color_missing_colon.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/file.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_missing_colon.sh b/tests/bfs/color_missing_colon.sh new file mode 100644 index 0000000..afa3763 --- /dev/null +++ b/tests/bfs/color_missing_colon.sh @@ -0,0 +1 @@ +LS_COLORS="*.txt=01" bfs_diff rainbow -color diff --git a/tests/bfs/color_no_stat.out b/tests/bfs/color_no_stat.out new file mode 100644 index 0000000..1fc5324 --- /dev/null +++ b/tests/bfs/color_no_stat.out @@ -0,0 +1,20 @@ +rainbow +rainbow/ow +rainbow/sticky +rainbow/sticky_ow +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/file.txt +rainbow/pipe +rainbow/exec.sh +rainbow/file.dat +rainbow/mh1 +rainbow/mh2 +rainbow/sgid +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz +rainbow/sugid +rainbow/suid diff --git a/tests/bfs/color_no_stat.sh b/tests/bfs/color_no_stat.sh new file mode 100644 index 0000000..0bc2520 --- /dev/null +++ b/tests/bfs/color_no_stat.sh @@ -0,0 +1 @@ +LS_COLORS="mh=0:ex=0:sg=0:su=0:st=0:ow=0:tw=0:*.txt=01:" bfs_diff rainbow -color diff --git a/tests/bfs/color_nul.out b/tests/bfs/color_nul.out new file mode 100644 index 0000000..c328f82 Binary files /dev/null and b/tests/bfs/color_nul.out differ diff --git a/tests/bfs/color_nul.sh b/tests/bfs/color_nul.sh new file mode 100644 index 0000000..4979569 --- /dev/null +++ b/tests/bfs/color_nul.sh @@ -0,0 +1,2 @@ +LS_COLORS="ec=\33[m\0:" invoke_bfs rainbow -color -maxdepth 0 >"$OUT" +diff_output diff --git a/tests/bfs/color_or.out b/tests/bfs/color_or.out new file mode 100644 index 0000000..9e1fe5c --- /dev/null +++ b/tests/bfs/color_or.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/chardev_link +rainbow/link.txt +rainbow/broken +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_or.sh b/tests/bfs/color_or.sh new file mode 100644 index 0000000..bccb400 --- /dev/null +++ b/tests/bfs/color_or.sh @@ -0,0 +1 @@ +LS_COLORS="or=01:" bfs_diff rainbow -color diff --git a/tests/bfs/color_or0_mi.out b/tests/bfs/color_or0_mi.out new file mode 100644 index 0000000..77fc8a8 --- /dev/null +++ b/tests/bfs/color_or0_mi.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_or0_mi.sh b/tests/bfs/color_or0_mi.sh new file mode 100644 index 0000000..a362cf1 --- /dev/null +++ b/tests/bfs/color_or0_mi.sh @@ -0,0 +1 @@ +LS_COLORS="or=00:mi=01;33:" bfs_diff rainbow -color diff --git a/tests/bfs/color_or0_mi0.out b/tests/bfs/color_or0_mi0.out new file mode 100644 index 0000000..77fc8a8 --- /dev/null +++ b/tests/bfs/color_or0_mi0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_or0_mi0.sh b/tests/bfs/color_or0_mi0.sh new file mode 100644 index 0000000..d7c00f6 --- /dev/null +++ b/tests/bfs/color_or0_mi0.sh @@ -0,0 +1 @@ +LS_COLORS="or=00:mi=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_or_mi.out b/tests/bfs/color_or_mi.out new file mode 100644 index 0000000..5667f56 --- /dev/null +++ b/tests/bfs/color_or_mi.out @@ -0,0 +1,20 @@ +rainbow +rainbow/broken +rainbow/exec.sh +rainbow/socket +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_or_mi.sh b/tests/bfs/color_or_mi.sh new file mode 100644 index 0000000..467ce6b --- /dev/null +++ b/tests/bfs/color_or_mi.sh @@ -0,0 +1 @@ +LS_COLORS="or=01;31:mi=01;33:" bfs_diff rainbow -color diff --git a/tests/bfs/color_or_mi0.out b/tests/bfs/color_or_mi0.out new file mode 100644 index 0000000..5667f56 --- /dev/null +++ b/tests/bfs/color_or_mi0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/broken +rainbow/exec.sh +rainbow/socket +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_or_mi0.sh b/tests/bfs/color_or_mi0.sh new file mode 100644 index 0000000..a9c36bf --- /dev/null +++ b/tests/bfs/color_or_mi0.sh @@ -0,0 +1 @@ +LS_COLORS="or=01;31:mi=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_rs_lc_rc_ec.out b/tests/bfs/color_rs_lc_rc_ec.out new file mode 100644 index 0000000..d39bbe7 --- /dev/null +++ b/tests/bfs/color_rs_lc_rc_ec.out @@ -0,0 +1,20 @@ +LC01;34RCrainbow/ECLC01;32RCexec.shEC +LC01;34RCrainbow/ECLC01;35RCsocketEC +LC01;34RCrainbow/ECLC01;36RCbrokenEC +LC01;34RCrainbow/ECLC01;36RCchardev_linkEC +LC01;34RCrainbow/ECLC01;36RClink.txtEC +LC01;34RCrainbow/ECLC30;42RCsticky_owEC +LC01;34RCrainbow/ECLC30;43RCsgidEC +LC01;34RCrainbow/ECLC33RCpipeEC +LC01;34RCrainbow/ECLC34;42RCowEC +LC01;34RCrainbow/ECLC37;41RCsugidEC +LC01;34RCrainbow/ECLC37;41RCsuidEC +LC01;34RCrainbow/ECLC37;44RCstickyEC +LC01;34RCrainbow/ECfile.dat +LC01;34RCrainbow/ECfile.txt +LC01;34RCrainbow/ECmh1 +LC01;34RCrainbow/ECmh2 +LC01;34RCrainbow/ECstar.gz +LC01;34RCrainbow/ECstar.tar +LC01;34RCrainbow/ECstar.tar.gz +LC01;34RCrainbowEC diff --git a/tests/bfs/color_rs_lc_rc_ec.sh b/tests/bfs/color_rs_lc_rc_ec.sh new file mode 100644 index 0000000..467b2da --- /dev/null +++ b/tests/bfs/color_rs_lc_rc_ec.sh @@ -0,0 +1 @@ +LS_COLORS="rs=RS:lc=LC:rc=RC:ec=EC:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st0_tw0_ow.out b/tests/bfs/color_st0_tw0_ow.out new file mode 100644 index 0000000..9a47ef2 --- /dev/null +++ b/tests/bfs/color_st0_tw0_ow.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/sticky +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sticky_ow +rainbow/sugid +rainbow/suid +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st0_tw0_ow.sh b/tests/bfs/color_st0_tw0_ow.sh new file mode 100644 index 0000000..8e2b8e3 --- /dev/null +++ b/tests/bfs/color_st0_tw0_ow.sh @@ -0,0 +1 @@ +LS_COLORS="st=00:tw=00:ow=34;42:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st0_tw0_ow0.out b/tests/bfs/color_st0_tw0_ow0.out new file mode 100644 index 0000000..2b86fe4 --- /dev/null +++ b/tests/bfs/color_st0_tw0_ow0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/ow +rainbow/sticky +rainbow/sticky_ow +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/sugid +rainbow/suid +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st0_tw0_ow0.sh b/tests/bfs/color_st0_tw0_ow0.sh new file mode 100644 index 0000000..c5d5fe7 --- /dev/null +++ b/tests/bfs/color_st0_tw0_ow0.sh @@ -0,0 +1 @@ +LS_COLORS="st=00:tw=00:ow=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st0_tw_ow.out b/tests/bfs/color_st0_tw_ow.out new file mode 100644 index 0000000..42549a1 --- /dev/null +++ b/tests/bfs/color_st0_tw_ow.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/sticky +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky_ow +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st0_tw_ow.sh b/tests/bfs/color_st0_tw_ow.sh new file mode 100644 index 0000000..8fd9605 --- /dev/null +++ b/tests/bfs/color_st0_tw_ow.sh @@ -0,0 +1 @@ +LS_COLORS="st=00:tw=40;32:ow=34;42:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st0_tw_ow0.out b/tests/bfs/color_st0_tw_ow0.out new file mode 100644 index 0000000..535b8ae --- /dev/null +++ b/tests/bfs/color_st0_tw_ow0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/ow +rainbow/sticky +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/sugid +rainbow/suid +rainbow/sticky_ow +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st0_tw_ow0.sh b/tests/bfs/color_st0_tw_ow0.sh new file mode 100644 index 0000000..68c63dc --- /dev/null +++ b/tests/bfs/color_st0_tw_ow0.sh @@ -0,0 +1 @@ +LS_COLORS="st=00:tw=40;32:ow=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st_tw0_ow.out b/tests/bfs/color_st_tw0_ow.out new file mode 100644 index 0000000..c9a86f4 --- /dev/null +++ b/tests/bfs/color_st_tw0_ow.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sticky_ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st_tw0_ow.sh b/tests/bfs/color_st_tw0_ow.sh new file mode 100644 index 0000000..be16251 --- /dev/null +++ b/tests/bfs/color_st_tw0_ow.sh @@ -0,0 +1 @@ +LS_COLORS="st=37;44:tw=00:ow=34;42:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st_tw0_ow0.out b/tests/bfs/color_st_tw0_ow0.out new file mode 100644 index 0000000..2d94f3a --- /dev/null +++ b/tests/bfs/color_st_tw0_ow0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/ow +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/sticky_ow +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st_tw0_ow0.sh b/tests/bfs/color_st_tw0_ow0.sh new file mode 100644 index 0000000..f869e7c --- /dev/null +++ b/tests/bfs/color_st_tw0_ow0.sh @@ -0,0 +1 @@ +LS_COLORS="st=37;44:tw=00:ow=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_st_tw_ow0.out b/tests/bfs/color_st_tw_ow0.out new file mode 100644 index 0000000..317ef90 --- /dev/null +++ b/tests/bfs/color_st_tw_ow0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/ow +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sgid +rainbow/pipe +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/sticky_ow +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_st_tw_ow0.sh b/tests/bfs/color_st_tw_ow0.sh new file mode 100644 index 0000000..99a17a6 --- /dev/null +++ b/tests/bfs/color_st_tw_ow0.sh @@ -0,0 +1 @@ +LS_COLORS="st=37;44:tw=40;32:ow=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_star.out b/tests/bfs/color_star.out new file mode 100644 index 0000000..77fc8a8 --- /dev/null +++ b/tests/bfs/color_star.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_star.sh b/tests/bfs/color_star.sh new file mode 100644 index 0000000..3ada4fd --- /dev/null +++ b/tests/bfs/color_star.sh @@ -0,0 +1,2 @@ +# Regression test: don't segfault on LS_COLORS="*" +LS_COLORS="*" bfs_diff rainbow -color diff --git a/tests/bfs/color_su0_sg.out b/tests/bfs/color_su0_sg.out new file mode 100644 index 0000000..8b8c8b8 --- /dev/null +++ b/tests/bfs/color_su0_sg.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/sgid +rainbow/sugid +rainbow/pipe +rainbow/ow +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz +rainbow/suid diff --git a/tests/bfs/color_su0_sg.sh b/tests/bfs/color_su0_sg.sh new file mode 100644 index 0000000..f5f57b4 --- /dev/null +++ b/tests/bfs/color_su0_sg.sh @@ -0,0 +1 @@ +LS_COLORS="su=00:sg=30;43:" bfs_diff rainbow -color diff --git a/tests/bfs/color_su0_sg0.out b/tests/bfs/color_su0_sg0.out new file mode 100644 index 0000000..0cd5f9a --- /dev/null +++ b/tests/bfs/color_su0_sg0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/pipe +rainbow/ow +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/sgid +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz +rainbow/sugid +rainbow/suid diff --git a/tests/bfs/color_su0_sg0.sh b/tests/bfs/color_su0_sg0.sh new file mode 100644 index 0000000..0198383 --- /dev/null +++ b/tests/bfs/color_su0_sg0.sh @@ -0,0 +1 @@ +LS_COLORS="su=00:sg=00:" bfs_diff rainbow -color diff --git a/tests/bfs/color_su_sg0.out b/tests/bfs/color_su_sg0.out new file mode 100644 index 0000000..a9e8c5d --- /dev/null +++ b/tests/bfs/color_su_sg0.out @@ -0,0 +1,20 @@ +rainbow +rainbow/exec.sh +rainbow/socket +rainbow/broken +rainbow/chardev_link +rainbow/link.txt +rainbow/sticky_ow +rainbow/pipe +rainbow/ow +rainbow/sugid +rainbow/suid +rainbow/sticky +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/sgid +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz diff --git a/tests/bfs/color_su_sg0.sh b/tests/bfs/color_su_sg0.sh new file mode 100644 index 0000000..8dc6984 --- /dev/null +++ b/tests/bfs/color_su_sg0.sh @@ -0,0 +1 @@ +LS_COLORS="su=37;41:sg=00:" bfs_diff rainbow -color diff --git a/tests/bfs/comma_incomplete.sh b/tests/bfs/comma_incomplete.sh new file mode 100644 index 0000000..07cf505 --- /dev/null +++ b/tests/bfs/comma_incomplete.sh @@ -0,0 +1 @@ +fail invoke_bfs -print , diff --git a/tests/bfs/data_flow_hidden.out b/tests/bfs/data_flow_hidden.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/data_flow_hidden.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/data_flow_hidden.sh b/tests/bfs/data_flow_hidden.sh new file mode 100644 index 0000000..6afaab2 --- /dev/null +++ b/tests/bfs/data_flow_hidden.sh @@ -0,0 +1 @@ +bfs_diff basic \( -hidden -not -hidden \) -o \( -hidden -o -not -hidden \) diff --git a/tests/bfs/deep_strict.out b/tests/bfs/deep_strict.out new file mode 100644 index 0000000..c385fce --- /dev/null +++ b/tests/bfs/deep_strict.out @@ -0,0 +1,16 @@ +deep/0/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/1/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/2/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/3/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/4/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/5/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/6/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/7/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/8/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/9/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/A/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/B/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/C/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/D/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/E/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/F/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) diff --git a/tests/bfs/deep_strict.sh b/tests/bfs/deep_strict.sh new file mode 100644 index 0000000..e057310 --- /dev/null +++ b/tests/bfs/deep_strict.sh @@ -0,0 +1,5 @@ +closefrom 4 + +# Not even enough fds to keep the root open +ulimit -n 7 +bfs_diff deep -type f -exec bash -c 'echo "${1:0:6}/.../${1##*/} (${#1})"' bash {} \; diff --git a/tests/bfs/exclude_depth.out b/tests/bfs/exclude_depth.out new file mode 100644 index 0000000..59e3c42 --- /dev/null +++ b/tests/bfs/exclude_depth.out @@ -0,0 +1,13 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/l diff --git a/tests/bfs/exclude_depth.sh b/tests/bfs/exclude_depth.sh new file mode 100644 index 0000000..437b4dd --- /dev/null +++ b/tests/bfs/exclude_depth.sh @@ -0,0 +1 @@ +bfs_diff basic -depth -exclude -name foo diff --git a/tests/bfs/exclude_exclude.sh b/tests/bfs/exclude_exclude.sh new file mode 100644 index 0000000..c687623 --- /dev/null +++ b/tests/bfs/exclude_exclude.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -exclude -exclude -name foo diff --git a/tests/bfs/exclude_mindepth.out b/tests/bfs/exclude_mindepth.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/bfs/exclude_mindepth.sh b/tests/bfs/exclude_mindepth.sh new file mode 100644 index 0000000..c8f70f9 --- /dev/null +++ b/tests/bfs/exclude_mindepth.sh @@ -0,0 +1 @@ +bfs_diff basic -mindepth 3 -exclude -name foo diff --git a/tests/bfs/exclude_name.out b/tests/bfs/exclude_name.out new file mode 100644 index 0000000..59e3c42 --- /dev/null +++ b/tests/bfs/exclude_name.out @@ -0,0 +1,13 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/l diff --git a/tests/bfs/exclude_name.sh b/tests/bfs/exclude_name.sh new file mode 100644 index 0000000..7cf9f33 --- /dev/null +++ b/tests/bfs/exclude_name.sh @@ -0,0 +1 @@ +bfs_diff basic -exclude -name foo diff --git a/tests/bfs/exclude_print.sh b/tests/bfs/exclude_print.sh new file mode 100644 index 0000000..52ff0fd --- /dev/null +++ b/tests/bfs/exclude_print.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -exclude -print diff --git a/tests/bfs/exec_flush_fprint.out b/tests/bfs/exec_flush_fprint.out new file mode 100644 index 0000000..511198f --- /dev/null +++ b/tests/bfs/exec_flush_fprint.out @@ -0,0 +1 @@ +basic/a diff --git a/tests/bfs/exec_flush_fprint.sh b/tests/bfs/exec_flush_fprint.sh new file mode 100644 index 0000000..9756b6a --- /dev/null +++ b/tests/bfs/exec_flush_fprint.sh @@ -0,0 +1,3 @@ +# Even non-stdstreams should be flushed +rm -rf scratch/* +bfs_diff basic/a -fprint scratch/foo -exec cat scratch/foo \; diff --git a/tests/bfs/exec_flush_fprint_fail.sh b/tests/bfs/exec_flush_fprint_fail.sh new file mode 100644 index 0000000..5da944a --- /dev/null +++ b/tests/bfs/exec_flush_fprint_fail.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs basic/a -fprint /dev/full -exec true \; diff --git a/tests/bfs/execdir_plus.out b/tests/bfs/execdir_plus.out new file mode 100644 index 0000000..8866a8f --- /dev/null +++ b/tests/bfs/execdir_plus.out @@ -0,0 +1,11 @@ +./a ./b ./c ./e ./g ./i ./j ./k ./l +./bar +./bar +./basic +./baz +./d +./f +./foo +./foo +./foo +./h diff --git a/tests/bfs/execdir_plus.sh b/tests/bfs/execdir_plus.sh new file mode 100644 index 0000000..9ae7764 --- /dev/null +++ b/tests/bfs/execdir_plus.sh @@ -0,0 +1,7 @@ +tree=$(invoke_bfs -D tree 2>&1 -quit) + +if [[ "$tree" == *"-S dfs"* ]]; then + skip +fi + +bfs_diff basic -execdir "$TESTS/sort-args.sh" {} + diff --git a/tests/bfs/execdir_plus_nonexistent.out b/tests/bfs/execdir_plus_nonexistent.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/execdir_plus_nonexistent.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/execdir_plus_nonexistent.sh b/tests/bfs/execdir_plus_nonexistent.sh new file mode 100644 index 0000000..8436953 --- /dev/null +++ b/tests/bfs/execdir_plus_nonexistent.sh @@ -0,0 +1,5 @@ +stderr=$(invoke_bfs basic -execdir "$TESTS/nonexistent" {} + 2>&1 >/dev/null) +[ -n "$stderr" ] || return 1 + +bfs_diff basic -execdir "$TESTS/nonexistent" {} + -print +(($? == EX_BFS)) diff --git a/tests/bfs/expr_flag_path.out b/tests/bfs/expr_flag_path.out new file mode 100644 index 0000000..e67f10b --- /dev/null +++ b/tests/bfs/expr_flag_path.out @@ -0,0 +1,2 @@ +links/skip/broken +links/skip/link diff --git a/tests/bfs/expr_flag_path.sh b/tests/bfs/expr_flag_path.sh new file mode 100644 index 0000000..bb89d92 --- /dev/null +++ b/tests/bfs/expr_flag_path.sh @@ -0,0 +1 @@ +bfs_diff -type l -H links/skip diff --git a/tests/bfs/expr_path_flag.out b/tests/bfs/expr_path_flag.out new file mode 100644 index 0000000..e67f10b --- /dev/null +++ b/tests/bfs/expr_path_flag.out @@ -0,0 +1,2 @@ +links/skip/broken +links/skip/link diff --git a/tests/bfs/expr_path_flag.sh b/tests/bfs/expr_path_flag.sh new file mode 100644 index 0000000..818e5d1 --- /dev/null +++ b/tests/bfs/expr_path_flag.sh @@ -0,0 +1 @@ +bfs_diff -type l links/skip -H diff --git a/tests/bfs/flag_expr_path.out b/tests/bfs/flag_expr_path.out new file mode 100644 index 0000000..e67f10b --- /dev/null +++ b/tests/bfs/flag_expr_path.out @@ -0,0 +1,2 @@ +links/skip/broken +links/skip/link diff --git a/tests/bfs/flag_expr_path.sh b/tests/bfs/flag_expr_path.sh new file mode 100644 index 0000000..a414e10 --- /dev/null +++ b/tests/bfs/flag_expr_path.sh @@ -0,0 +1 @@ +bfs_diff -H -type l links/skip diff --git a/tests/bfs/fprint_duplicate_stdout.out b/tests/bfs/fprint_duplicate_stdout.out new file mode 100644 index 0000000..6c21751 --- /dev/null +++ b/tests/bfs/fprint_duplicate_stdout.out @@ -0,0 +1,38 @@ +basic +basic +basic/a +basic/a +basic/b +basic/b +basic/c +basic/c +basic/c/d +basic/c/d +basic/e +basic/e +basic/e/f +basic/e/f +basic/g +basic/g +basic/g/h +basic/g/h +basic/i +basic/i +basic/j +basic/j +basic/j/foo +basic/j/foo +basic/k +basic/k +basic/k/foo +basic/k/foo +basic/k/foo/bar +basic/k/foo/bar +basic/l +basic/l +basic/l/foo +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar +basic/l/foo/bar/baz +basic/l/foo/bar/baz diff --git a/tests/bfs/fprint_duplicate_stdout.sh b/tests/bfs/fprint_duplicate_stdout.sh new file mode 100644 index 0000000..4e95e30 --- /dev/null +++ b/tests/bfs/fprint_duplicate_stdout.sh @@ -0,0 +1,3 @@ +invoke_bfs basic -fprint "$OUT" -print >"$OUT" +sort_output +diff_output diff --git a/tests/bfs/fprint_error_stderr.sh b/tests/bfs/fprint_error_stderr.sh new file mode 100644 index 0000000..427808f --- /dev/null +++ b/tests/bfs/fprint_error_stderr.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs basic -maxdepth 0 -fprint /dev/full 2>/dev/full diff --git a/tests/bfs/fprint_error_stdout.sh b/tests/bfs/fprint_error_stdout.sh new file mode 100644 index 0000000..fbdc1d0 --- /dev/null +++ b/tests/bfs/fprint_error_stdout.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs basic -maxdepth 0 -fprint /dev/full >/dev/full diff --git a/tests/bfs/help.sh b/tests/bfs/help.sh new file mode 100644 index 0000000..5e5c684 --- /dev/null +++ b/tests/bfs/help.sh @@ -0,0 +1,6 @@ +invoke_bfs -help | grep -E '\{...?\}' && return 1 +invoke_bfs -D help | grep -E '\{...?\}' && return 1 +invoke_bfs -S help | grep -E '\{...?\}' && return 1 +invoke_bfs -regextype help | grep -E '\{...?\}' && return 1 + +return 0 diff --git a/tests/bfs/hidden.out b/tests/bfs/hidden.out new file mode 100644 index 0000000..e65ede9 --- /dev/null +++ b/tests/bfs/hidden.out @@ -0,0 +1 @@ +weirdnames/... diff --git a/tests/bfs/hidden.sh b/tests/bfs/hidden.sh new file mode 100644 index 0000000..b0413c5 --- /dev/null +++ b/tests/bfs/hidden.sh @@ -0,0 +1 @@ +bfs_diff weirdnames -hidden diff --git a/tests/bfs/hidden_root.out b/tests/bfs/hidden_root.out new file mode 100644 index 0000000..8c1371b --- /dev/null +++ b/tests/bfs/hidden_root.out @@ -0,0 +1,5 @@ +... +.../../... +./... +./... +././... diff --git a/tests/bfs/hidden_root.sh b/tests/bfs/hidden_root.sh new file mode 100644 index 0000000..905c5b5 --- /dev/null +++ b/tests/bfs/hidden_root.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff . ./. ... ./... .../.. -hidden diff --git a/tests/bfs/links_empty.sh b/tests/bfs/links_empty.sh new file mode 100644 index 0000000..34c7c25 --- /dev/null +++ b/tests/bfs/links_empty.sh @@ -0,0 +1 @@ +fail invoke_bfs links -links '' diff --git a/tests/bfs/links_invalid.sh b/tests/bfs/links_invalid.sh new file mode 100644 index 0000000..ff69fa6 --- /dev/null +++ b/tests/bfs/links_invalid.sh @@ -0,0 +1 @@ +fail invoke_bfs links -links ASDF diff --git a/tests/bfs/links_negative.sh b/tests/bfs/links_negative.sh new file mode 100644 index 0000000..b5d9c58 --- /dev/null +++ b/tests/bfs/links_negative.sh @@ -0,0 +1 @@ +fail invoke_bfs links -links +-1 diff --git a/tests/bfs/links_noarg.sh b/tests/bfs/links_noarg.sh new file mode 100644 index 0000000..5dede5f --- /dev/null +++ b/tests/bfs/links_noarg.sh @@ -0,0 +1 @@ +fail invoke_bfs links -links diff --git a/tests/bfs/newerma_nonexistent.sh b/tests/bfs/newerma_nonexistent.sh new file mode 100644 index 0000000..7f3695f --- /dev/null +++ b/tests/bfs/newerma_nonexistent.sh @@ -0,0 +1 @@ +fail invoke_bfs times -newerma basic/nonexistent diff --git a/tests/bfs/newermq.sh b/tests/bfs/newermq.sh new file mode 100644 index 0000000..2a22586 --- /dev/null +++ b/tests/bfs/newermq.sh @@ -0,0 +1 @@ +fail invoke_bfs times -newermq times/a diff --git a/tests/bfs/newermt_invalid.sh b/tests/bfs/newermt_invalid.sh new file mode 100644 index 0000000..61d2485 --- /dev/null +++ b/tests/bfs/newermt_invalid.sh @@ -0,0 +1 @@ +fail invoke_bfs times -newermt not_a_date_time diff --git a/tests/bfs/newerqm.sh b/tests/bfs/newerqm.sh new file mode 100644 index 0000000..da84350 --- /dev/null +++ b/tests/bfs/newerqm.sh @@ -0,0 +1 @@ +fail invoke_bfs times -newerqm times/a diff --git a/tests/bfs/nohidden.out b/tests/bfs/nohidden.out new file mode 100644 index 0000000..d3ec901 --- /dev/null +++ b/tests/bfs/nohidden.out @@ -0,0 +1,21 @@ +weirdnames +weirdnames/ +weirdnames/ /j +weirdnames/! +weirdnames/!- +weirdnames/!-/e +weirdnames/!/d +weirdnames/( +weirdnames/(- +weirdnames/(-/c +weirdnames/(/b +weirdnames/) +weirdnames/)/g +weirdnames/, +weirdnames/,/f +weirdnames/- +weirdnames/-/a +weirdnames/[ +weirdnames/[/k +weirdnames/\ +weirdnames/\/i diff --git a/tests/bfs/nohidden.sh b/tests/bfs/nohidden.sh new file mode 100644 index 0000000..e3a3e4a --- /dev/null +++ b/tests/bfs/nohidden.sh @@ -0,0 +1 @@ +bfs_diff weirdnames -nohidden diff --git a/tests/bfs/nohidden_depth.out b/tests/bfs/nohidden_depth.out new file mode 100644 index 0000000..d3ec901 --- /dev/null +++ b/tests/bfs/nohidden_depth.out @@ -0,0 +1,21 @@ +weirdnames +weirdnames/ +weirdnames/ /j +weirdnames/! +weirdnames/!- +weirdnames/!-/e +weirdnames/!/d +weirdnames/( +weirdnames/(- +weirdnames/(-/c +weirdnames/(/b +weirdnames/) +weirdnames/)/g +weirdnames/, +weirdnames/,/f +weirdnames/- +weirdnames/-/a +weirdnames/[ +weirdnames/[/k +weirdnames/\ +weirdnames/\/i diff --git a/tests/bfs/nohidden_depth.sh b/tests/bfs/nohidden_depth.sh new file mode 100644 index 0000000..9fd7017 --- /dev/null +++ b/tests/bfs/nohidden_depth.sh @@ -0,0 +1 @@ +bfs_diff weirdnames -depth -nohidden diff --git a/tests/bfs/nowarn.sh b/tests/bfs/nowarn.sh new file mode 100644 index 0000000..d9f9ab3 --- /dev/null +++ b/tests/bfs/nowarn.sh @@ -0,0 +1,2 @@ +stderr=$(invoke_bfs basic -nowarn -depth -prune 2>&1 >/dev/null) +[ -z "$stderr" ] diff --git a/tests/bfs/ok_plus_semicolon.out b/tests/bfs/ok_plus_semicolon.out new file mode 100644 index 0000000..2a3e14f --- /dev/null +++ b/tests/bfs/ok_plus_semicolon.out @@ -0,0 +1,19 @@ +basic + +basic/a + +basic/b + +basic/c + +basic/c/d + +basic/e + +basic/e/f + +basic/g + +basic/g/h + +basic/i + +basic/j + +basic/j/foo + +basic/k + +basic/k/foo + +basic/k/foo/bar + +basic/l + +basic/l/foo + +basic/l/foo/bar + +basic/l/foo/bar/baz + diff --git a/tests/bfs/ok_plus_semicolon.sh b/tests/bfs/ok_plus_semicolon.sh new file mode 100644 index 0000000..57d6103 --- /dev/null +++ b/tests/bfs/ok_plus_semicolon.sh @@ -0,0 +1,8 @@ +# The -ok primary shall be equivalent to -exec, except that the use of a +# to punctuate the end of the primary expression need not be +# supported, ... +# +# bfs chooses not to support it, for compatibility with most other find +# implementations. + +yes | bfs_diff basic -ok echo {} + \; diff --git a/tests/bfs/okdir_plus_semicolon.out b/tests/bfs/okdir_plus_semicolon.out new file mode 100644 index 0000000..1909d27 --- /dev/null +++ b/tests/bfs/okdir_plus_semicolon.out @@ -0,0 +1,19 @@ +./a + +./b + +./bar + +./bar + +./basic + +./baz + +./c + +./d + +./e + +./f + +./foo + +./foo + +./foo + +./g + +./h + +./i + +./j + +./k + +./l + diff --git a/tests/bfs/okdir_plus_semicolon.sh b/tests/bfs/okdir_plus_semicolon.sh new file mode 100644 index 0000000..d316bd7 --- /dev/null +++ b/tests/bfs/okdir_plus_semicolon.sh @@ -0,0 +1 @@ +yes | bfs_diff basic -okdir echo {} + \; diff --git a/tests/bfs/or_incomplete.sh b/tests/bfs/or_incomplete.sh new file mode 100644 index 0000000..c941b95 --- /dev/null +++ b/tests/bfs/or_incomplete.sh @@ -0,0 +1 @@ +fail invoke_bfs -print -o diff --git a/tests/bfs/path_expr_flag.out b/tests/bfs/path_expr_flag.out new file mode 100644 index 0000000..e67f10b --- /dev/null +++ b/tests/bfs/path_expr_flag.out @@ -0,0 +1,2 @@ +links/skip/broken +links/skip/link diff --git a/tests/bfs/path_expr_flag.sh b/tests/bfs/path_expr_flag.sh new file mode 100644 index 0000000..7cfa1cd --- /dev/null +++ b/tests/bfs/path_expr_flag.sh @@ -0,0 +1 @@ +bfs_diff links/skip -type l -H diff --git a/tests/bfs/path_flag_expr.out b/tests/bfs/path_flag_expr.out new file mode 100644 index 0000000..e67f10b --- /dev/null +++ b/tests/bfs/path_flag_expr.out @@ -0,0 +1,2 @@ +links/skip/broken +links/skip/link diff --git a/tests/bfs/path_flag_expr.sh b/tests/bfs/path_flag_expr.sh new file mode 100644 index 0000000..ca00c8c --- /dev/null +++ b/tests/bfs/path_flag_expr.sh @@ -0,0 +1 @@ +bfs_diff links/skip -H -type l diff --git a/tests/bfs/perm_leading_plus_symbolic.out b/tests/bfs/perm_leading_plus_symbolic.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/bfs/perm_leading_plus_symbolic.sh b/tests/bfs/perm_leading_plus_symbolic.sh new file mode 100644 index 0000000..4202ac1 --- /dev/null +++ b/tests/bfs/perm_leading_plus_symbolic.sh @@ -0,0 +1 @@ +bfs_diff perms -perm +rwx diff --git a/tests/bfs/perm_symbolic_double_comma.sh b/tests/bfs/perm_symbolic_double_comma.sh new file mode 100644 index 0000000..66db0ac --- /dev/null +++ b/tests/bfs/perm_symbolic_double_comma.sh @@ -0,0 +1 @@ +fail invoke_bfs perms -perm a+r,,u+w diff --git a/tests/bfs/perm_symbolic_missing_action.sh b/tests/bfs/perm_symbolic_missing_action.sh new file mode 100644 index 0000000..3b18721 --- /dev/null +++ b/tests/bfs/perm_symbolic_missing_action.sh @@ -0,0 +1 @@ +fail invoke_bfs perms -perm a diff --git a/tests/bfs/perm_symbolic_trailing_comma.sh b/tests/bfs/perm_symbolic_trailing_comma.sh new file mode 100644 index 0000000..c52ebe6 --- /dev/null +++ b/tests/bfs/perm_symbolic_trailing_comma.sh @@ -0,0 +1 @@ +fail invoke_bfs perms -perm a+r, diff --git a/tests/bfs/printf_color.out b/tests/bfs/printf_color.out new file mode 100644 index 0000000..d9cd1a4 --- /dev/null +++ b/tests/bfs/printf_color.out @@ -0,0 +1,20 @@ +. . rainbow ./rainbow rainbow +. ./rainbow exec.sh ./rainbow/exec.sh rainbow/exec.sh +. ./rainbow socket ./rainbow/socket rainbow/socket +. ./rainbow broken ./rainbow/broken rainbow/broken nowhere +. ./rainbow chardev_link ./rainbow/chardev_link rainbow/chardev_link /dev/null +. ./rainbow link.txt ./rainbow/link.txt rainbow/link.txt file.txt +. ./rainbow sticky_ow ./rainbow/sticky_ow rainbow/sticky_ow +. ./rainbow sgid ./rainbow/sgid rainbow/sgid +. ./rainbow pipe ./rainbow/pipe rainbow/pipe +. ./rainbow ow ./rainbow/ow rainbow/ow +. ./rainbow sugid ./rainbow/sugid rainbow/sugid +. ./rainbow suid ./rainbow/suid rainbow/suid +. ./rainbow sticky ./rainbow/sticky rainbow/sticky +. ./rainbow file.dat ./rainbow/file.dat rainbow/file.dat +. ./rainbow file.txt ./rainbow/file.txt rainbow/file.txt +. ./rainbow mh1 ./rainbow/mh1 rainbow/mh1 +. ./rainbow mh2 ./rainbow/mh2 rainbow/mh2 +. ./rainbow star.gz ./rainbow/star.gz rainbow/star.gz +. ./rainbow star.tar ./rainbow/star.tar rainbow/star.tar +. ./rainbow star.tar.gz ./rainbow/star.tar.gz rainbow/star.tar.gz diff --git a/tests/bfs/printf_color.sh b/tests/bfs/printf_color.sh new file mode 100644 index 0000000..7bb38c2 --- /dev/null +++ b/tests/bfs/printf_color.sh @@ -0,0 +1 @@ +bfs_diff -color -path './rainbow*' -printf '%H %h %f %p %P %l\n' diff --git a/tests/bfs/printf_duplicate_flag.sh b/tests/bfs/printf_duplicate_flag.sh new file mode 100644 index 0000000..77650d0 --- /dev/null +++ b/tests/bfs/printf_duplicate_flag.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -printf '%--p' diff --git a/tests/bfs/printf_everything.sh b/tests/bfs/printf_everything.sh new file mode 100644 index 0000000..58996ab --- /dev/null +++ b/tests/bfs/printf_everything.sh @@ -0,0 +1,9 @@ +everything=(%{a,b,c,d,D,f,F,g,G,h,H,i,k,l,m,M,n,p,P,s,S,t,u,U,y,Y}) +everything+=(%{A,C,T}{%,+,@,a,A,b,B,c,C,d,D,e,F,g,G,h,H,I,j,k,l,m,M,n,p,r,R,s,S,t,T,u,U,V,w,W,x,X,y,Y,z,Z}) + +# Check if we have birth times +if ! fail invoke_bfs basic -printf '%w' -quit >/dev/null; then + everything+=(%w %{B,W}{%,+,@,a,A,b,B,c,C,d,D,e,F,g,G,h,H,I,j,k,l,m,M,n,p,r,R,s,S,t,T,u,U,V,w,W,x,X,y,Y,z,Z}) +fi + +invoke_bfs rainbow -printf "${everything[*]}\n" >/dev/null diff --git a/tests/bfs/printf_incomplete_escape.sh b/tests/bfs/printf_incomplete_escape.sh new file mode 100644 index 0000000..144add5 --- /dev/null +++ b/tests/bfs/printf_incomplete_escape.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -printf '\' diff --git a/tests/bfs/printf_incomplete_format.sh b/tests/bfs/printf_incomplete_format.sh new file mode 100644 index 0000000..347a0f4 --- /dev/null +++ b/tests/bfs/printf_incomplete_format.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -printf '%' diff --git a/tests/bfs/printf_invalid_escape.sh b/tests/bfs/printf_invalid_escape.sh new file mode 100644 index 0000000..ce12233 --- /dev/null +++ b/tests/bfs/printf_invalid_escape.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -printf '\!' diff --git a/tests/bfs/printf_invalid_format.sh b/tests/bfs/printf_invalid_format.sh new file mode 100644 index 0000000..1717615 --- /dev/null +++ b/tests/bfs/printf_invalid_format.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -printf '%!' diff --git a/tests/bfs/printf_must_be_numeric.sh b/tests/bfs/printf_must_be_numeric.sh new file mode 100644 index 0000000..eabb3d6 --- /dev/null +++ b/tests/bfs/printf_must_be_numeric.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -printf '%+p' diff --git a/tests/bfs/printf_w.out b/tests/bfs/printf_w.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/bfs/printf_w.sh b/tests/bfs/printf_w.sh new file mode 100644 index 0000000..3b27ee7 --- /dev/null +++ b/tests/bfs/printf_w.sh @@ -0,0 +1,2 @@ +# Birth times may not be supported, so just check that %w/%W/%B can be parsed +bfs_diff times -false -printf '%w %WY %BY\n' diff --git a/tests/bfs/stderr_fails_loudly.sh b/tests/bfs/stderr_fails_loudly.sh new file mode 100644 index 0000000..d8b3861 --- /dev/null +++ b/tests/bfs/stderr_fails_loudly.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs -D all basic -false -fprint /dev/full 2>/dev/full diff --git a/tests/bfs/stderr_fails_silently.out b/tests/bfs/stderr_fails_silently.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/stderr_fails_silently.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/stderr_fails_silently.sh b/tests/bfs/stderr_fails_silently.sh new file mode 100644 index 0000000..731cb02 --- /dev/null +++ b/tests/bfs/stderr_fails_silently.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +bfs_diff -D all basic 2>/dev/full diff --git a/tests/bfs/type_multi.out b/tests/bfs/type_multi.out new file mode 100644 index 0000000..3cae08a --- /dev/null +++ b/tests/bfs/type_multi.out @@ -0,0 +1,7 @@ +links +links/deeply +links/deeply/nested +links/deeply/nested/dir +links/deeply/nested/file +links/file +links/hardlink diff --git a/tests/bfs/type_multi.sh b/tests/bfs/type_multi.sh new file mode 100644 index 0000000..59992c7 --- /dev/null +++ b/tests/bfs/type_multi.sh @@ -0,0 +1 @@ +bfs_diff links -type f,d,c diff --git a/tests/bfs/typo.sh b/tests/bfs/typo.sh new file mode 100644 index 0000000..459e9fe --- /dev/null +++ b/tests/bfs/typo.sh @@ -0,0 +1 @@ +invoke_bfs -dikkiq 2>&1 | grep follow >/dev/null diff --git a/tests/bfs/unexpected_operator.sh b/tests/bfs/unexpected_operator.sh new file mode 100644 index 0000000..b3658f6 --- /dev/null +++ b/tests/bfs/unexpected_operator.sh @@ -0,0 +1 @@ +fail invoke_bfs \! -o -print diff --git a/tests/bfs/unique.out b/tests/bfs/unique.out new file mode 100644 index 0000000..289cbde --- /dev/null +++ b/tests/bfs/unique.out @@ -0,0 +1,2 @@ +links/file +links/symlink diff --git a/tests/bfs/unique.sh b/tests/bfs/unique.sh new file mode 100644 index 0000000..ea8adfd --- /dev/null +++ b/tests/bfs/unique.sh @@ -0,0 +1 @@ +bfs_diff links/{file,symlink,hardlink} -unique diff --git a/tests/bfs/unique_depth.out b/tests/bfs/unique_depth.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bfs/unique_depth.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bfs/unique_depth.sh b/tests/bfs/unique_depth.sh new file mode 100644 index 0000000..c1d9716 --- /dev/null +++ b/tests/bfs/unique_depth.sh @@ -0,0 +1 @@ +bfs_diff basic -unique -depth diff --git a/tests/bfs/version.sh b/tests/bfs/version.sh new file mode 100644 index 0000000..e0417ca --- /dev/null +++ b/tests/bfs/version.sh @@ -0,0 +1 @@ +invoke_bfs -version >/dev/null diff --git a/tests/bfs/warn.sh b/tests/bfs/warn.sh new file mode 100644 index 0000000..0f613c8 --- /dev/null +++ b/tests/bfs/warn.sh @@ -0,0 +1,2 @@ +stderr=$(invoke_bfs basic -warn -depth -prune 2>&1 >/dev/null) +[ -n "$stderr" ] diff --git a/tests/bfs/xtype_depth.sh b/tests/bfs/xtype_depth.sh new file mode 100644 index 0000000..cd478af --- /dev/null +++ b/tests/bfs/xtype_depth.sh @@ -0,0 +1,2 @@ +# Make sure -xtype is considered side-effecting for facts_when_impure +fail invoke_bfs loops -xtype l -depth 100 diff --git a/tests/bfs/xtype_multi.out b/tests/bfs/xtype_multi.out new file mode 100644 index 0000000..558e89c --- /dev/null +++ b/tests/bfs/xtype_multi.out @@ -0,0 +1,10 @@ +links +links/deeply +links/deeply/nested +links/deeply/nested/dir +links/deeply/nested/file +links/deeply/nested/link +links/file +links/hardlink +links/skip +links/symlink diff --git a/tests/bfs/xtype_multi.sh b/tests/bfs/xtype_multi.sh new file mode 100644 index 0000000..ed20955 --- /dev/null +++ b/tests/bfs/xtype_multi.sh @@ -0,0 +1 @@ +bfs_diff links -xtype f,d,c diff --git a/tests/bfs/xtype_reorder.out b/tests/bfs/xtype_reorder.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/bfs/xtype_reorder.sh b/tests/bfs/xtype_reorder.sh new file mode 100644 index 0000000..8d75d7d --- /dev/null +++ b/tests/bfs/xtype_reorder.sh @@ -0,0 +1,4 @@ +# Make sure -xtype is not reordered in front of anything -- if -xtype runs +# before -links 100, it will report an ELOOP error +bfs_diff loops -links 100 -xtype l +invoke_bfs loops -links 100 -xtype l diff --git a/tests/bsd/E.out b/tests/bsd/E.out new file mode 100644 index 0000000..0f0971e --- /dev/null +++ b/tests/bsd/E.out @@ -0,0 +1 @@ +./( diff --git a/tests/bsd/E.sh b/tests/bsd/E.sh new file mode 100644 index 0000000..5d97178 --- /dev/null +++ b/tests/bsd/E.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -E . -regex '\./(\()' diff --git a/tests/bsd/H_mnewer.out b/tests/bsd/H_mnewer.out new file mode 100644 index 0000000..7f6c0dd --- /dev/null +++ b/tests/bsd/H_mnewer.out @@ -0,0 +1,4 @@ +times +times/b +times/c +times/l diff --git a/tests/bsd/H_mnewer.sh b/tests/bsd/H_mnewer.sh new file mode 100644 index 0000000..94fe08b --- /dev/null +++ b/tests/bsd/H_mnewer.sh @@ -0,0 +1 @@ +bfs_diff -H times -mnewer times/l diff --git a/tests/bsd/L_acl.out b/tests/bsd/L_acl.out new file mode 100644 index 0000000..1dae00a --- /dev/null +++ b/tests/bsd/L_acl.out @@ -0,0 +1,2 @@ +scratch/acl +scratch/link diff --git a/tests/bsd/L_acl.sh b/tests/bsd/L_acl.sh new file mode 100644 index 0000000..d8f5a7d --- /dev/null +++ b/tests/bsd/L_acl.sh @@ -0,0 +1,9 @@ +rm -rf scratch/* + +skip_unless invoke_bfs scratch -quit -acl + +$TOUCH scratch/{normal,acl} +skip_unless set_acl scratch/acl +ln -s acl scratch/link + +bfs_diff -L scratch -acl diff --git a/tests/bsd/L_xattr.out b/tests/bsd/L_xattr.out new file mode 100644 index 0000000..12fac95 --- /dev/null +++ b/tests/bsd/L_xattr.out @@ -0,0 +1,3 @@ +scratch/link +scratch/xattr +scratch/xattr_2 diff --git a/tests/bsd/L_xattr.sh b/tests/bsd/L_xattr.sh new file mode 100644 index 0000000..7c27e0d --- /dev/null +++ b/tests/bsd/L_xattr.sh @@ -0,0 +1,3 @@ +skip_unless invoke_bfs scratch -quit -xattr +skip_unless make_xattrs +bfs_diff -L scratch -xattr diff --git a/tests/bsd/L_xattrname.out b/tests/bsd/L_xattrname.out new file mode 100644 index 0000000..4dc4836 --- /dev/null +++ b/tests/bsd/L_xattrname.out @@ -0,0 +1,2 @@ +scratch/link +scratch/xattr diff --git a/tests/bsd/L_xattrname.sh b/tests/bsd/L_xattrname.sh new file mode 100644 index 0000000..39d6a77 --- /dev/null +++ b/tests/bsd/L_xattrname.sh @@ -0,0 +1,11 @@ +skip_unless invoke_bfs scratch -quit -xattr +skip_unless make_xattrs + +case "$UNAME" in + Darwin|FreeBSD) + bfs_diff -L scratch -xattrname bfs_test + ;; + *) + bfs_diff -L scratch -xattrname security.bfs_test + ;; +esac diff --git a/tests/bsd/X.out b/tests/bsd/X.out new file mode 100644 index 0000000..afa84f7 --- /dev/null +++ b/tests/bsd/X.out @@ -0,0 +1,19 @@ +weirdnames +weirdnames/! +weirdnames/!- +weirdnames/!-/e +weirdnames/!/d +weirdnames/( +weirdnames/(- +weirdnames/(-/c +weirdnames/(/b +weirdnames/) +weirdnames/)/g +weirdnames/, +weirdnames/,/f +weirdnames/- +weirdnames/-/a +weirdnames/... +weirdnames/.../h +weirdnames/[ +weirdnames/[/k diff --git a/tests/bsd/X.sh b/tests/bsd/X.sh new file mode 100644 index 0000000..03d9eee --- /dev/null +++ b/tests/bsd/X.sh @@ -0,0 +1,2 @@ +bfs_diff -X weirdnames +[ $? -eq $EX_BFS ] diff --git a/tests/bsd/acl.out b/tests/bsd/acl.out new file mode 100644 index 0000000..ddf8446 --- /dev/null +++ b/tests/bsd/acl.out @@ -0,0 +1 @@ +scratch/acl diff --git a/tests/bsd/acl.sh b/tests/bsd/acl.sh new file mode 100644 index 0000000..5bbfccc --- /dev/null +++ b/tests/bsd/acl.sh @@ -0,0 +1,9 @@ +rm -rf scratch/* + +skip_unless invoke_bfs scratch -quit -acl + +$TOUCH scratch/{normal,acl} +skip_unless set_acl scratch/acl +ln -s acl scratch/link + +bfs_diff scratch -acl diff --git a/tests/bsd/asince.out b/tests/bsd/asince.out new file mode 100644 index 0000000..650e550 --- /dev/null +++ b/tests/bsd/asince.out @@ -0,0 +1,3 @@ +times +times/c +times/l diff --git a/tests/bsd/asince.sh b/tests/bsd/asince.sh new file mode 100644 index 0000000..32d5228 --- /dev/null +++ b/tests/bsd/asince.sh @@ -0,0 +1 @@ +bfs_diff times -asince 1991-12-14T00:01 diff --git a/tests/bsd/d_path.out b/tests/bsd/d_path.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bsd/d_path.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/d_path.sh b/tests/bsd/d_path.sh new file mode 100644 index 0000000..010f76f --- /dev/null +++ b/tests/bsd/d_path.sh @@ -0,0 +1 @@ +bfs_diff -d basic diff --git a/tests/bsd/data_flow_depth.out b/tests/bsd/data_flow_depth.out new file mode 100644 index 0000000..ab127ec --- /dev/null +++ b/tests/bsd/data_flow_depth.out @@ -0,0 +1,8 @@ +basic/c/d +basic/e/f +basic/g/h +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar diff --git a/tests/bsd/data_flow_depth.sh b/tests/bsd/data_flow_depth.sh new file mode 100644 index 0000000..cd5d6b2 --- /dev/null +++ b/tests/bsd/data_flow_depth.sh @@ -0,0 +1 @@ +bfs_diff basic -depth +1 -depth -4 diff --git a/tests/bsd/data_flow_sparse.out b/tests/bsd/data_flow_sparse.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bsd/data_flow_sparse.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/data_flow_sparse.sh b/tests/bsd/data_flow_sparse.sh new file mode 100644 index 0000000..bd7e1f7 --- /dev/null +++ b/tests/bsd/data_flow_sparse.sh @@ -0,0 +1 @@ +bfs_diff basic \( -sparse -not -sparse \) -o \( -sparse -o -not -sparse \) diff --git a/tests/bsd/depth_depth_n.out b/tests/bsd/depth_depth_n.out new file mode 100644 index 0000000..3bfc1d3 --- /dev/null +++ b/tests/bsd/depth_depth_n.out @@ -0,0 +1,6 @@ +basic/c/d +basic/e/f +basic/g/h +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/bsd/depth_depth_n.sh b/tests/bsd/depth_depth_n.sh new file mode 100644 index 0000000..5989b3c --- /dev/null +++ b/tests/bsd/depth_depth_n.sh @@ -0,0 +1 @@ +bfs_diff basic -depth -depth 2 diff --git a/tests/bsd/depth_depth_n_minus.out b/tests/bsd/depth_depth_n_minus.out new file mode 100644 index 0000000..7575ae4 --- /dev/null +++ b/tests/bsd/depth_depth_n_minus.out @@ -0,0 +1,10 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l diff --git a/tests/bsd/depth_depth_n_minus.sh b/tests/bsd/depth_depth_n_minus.sh new file mode 100644 index 0000000..1d8ac79 --- /dev/null +++ b/tests/bsd/depth_depth_n_minus.sh @@ -0,0 +1 @@ +bfs_diff basic -depth -depth -2 diff --git a/tests/bsd/depth_depth_n_plus.out b/tests/bsd/depth_depth_n_plus.out new file mode 100644 index 0000000..847995d --- /dev/null +++ b/tests/bsd/depth_depth_n_plus.out @@ -0,0 +1,3 @@ +basic/k/foo/bar +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/depth_depth_n_plus.sh b/tests/bsd/depth_depth_n_plus.sh new file mode 100644 index 0000000..64e392b --- /dev/null +++ b/tests/bsd/depth_depth_n_plus.sh @@ -0,0 +1 @@ +bfs_diff basic -depth -depth +2 diff --git a/tests/bsd/depth_n.out b/tests/bsd/depth_n.out new file mode 100644 index 0000000..3bfc1d3 --- /dev/null +++ b/tests/bsd/depth_n.out @@ -0,0 +1,6 @@ +basic/c/d +basic/e/f +basic/g/h +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/bsd/depth_n.sh b/tests/bsd/depth_n.sh new file mode 100644 index 0000000..4852952 --- /dev/null +++ b/tests/bsd/depth_n.sh @@ -0,0 +1 @@ +bfs_diff basic -depth 2 diff --git a/tests/bsd/depth_n_minus.out b/tests/bsd/depth_n_minus.out new file mode 100644 index 0000000..7575ae4 --- /dev/null +++ b/tests/bsd/depth_n_minus.out @@ -0,0 +1,10 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l diff --git a/tests/bsd/depth_n_minus.sh b/tests/bsd/depth_n_minus.sh new file mode 100644 index 0000000..192bf8a --- /dev/null +++ b/tests/bsd/depth_n_minus.sh @@ -0,0 +1 @@ +bfs_diff basic -depth -2 diff --git a/tests/bsd/depth_n_plus.out b/tests/bsd/depth_n_plus.out new file mode 100644 index 0000000..847995d --- /dev/null +++ b/tests/bsd/depth_n_plus.out @@ -0,0 +1,3 @@ +basic/k/foo/bar +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/depth_n_plus.sh b/tests/bsd/depth_n_plus.sh new file mode 100644 index 0000000..858e1c4 --- /dev/null +++ b/tests/bsd/depth_n_plus.sh @@ -0,0 +1 @@ +bfs_diff basic -depth +2 diff --git a/tests/bsd/depth_overflow.out b/tests/bsd/depth_overflow.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bsd/depth_overflow.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/depth_overflow.sh b/tests/bsd/depth_overflow.sh new file mode 100644 index 0000000..4685d03 --- /dev/null +++ b/tests/bsd/depth_overflow.sh @@ -0,0 +1 @@ +bfs_diff basic -depth -4294967296 diff --git a/tests/bsd/exit.out b/tests/bsd/exit.out new file mode 100644 index 0000000..cf4d5a9 --- /dev/null +++ b/tests/bsd/exit.out @@ -0,0 +1 @@ +basic/g diff --git a/tests/bsd/exit.sh b/tests/bsd/exit.sh new file mode 100644 index 0000000..524a75f --- /dev/null +++ b/tests/bsd/exit.sh @@ -0,0 +1,11 @@ +invoke_bfs basic -name foo -exit 42 +if [ $? -ne 42 ]; then + return 1 +fi + +invoke_bfs basic -name qux -exit 42 +if [ $? -ne 0 ]; then + return 1 +fi + +bfs_diff basic/g -print -name g -exit diff --git a/tests/bsd/exit_no_implicit_print.out b/tests/bsd/exit_no_implicit_print.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/bsd/exit_no_implicit_print.sh b/tests/bsd/exit_no_implicit_print.sh new file mode 100644 index 0000000..c48b43c --- /dev/null +++ b/tests/bsd/exit_no_implicit_print.sh @@ -0,0 +1 @@ +bfs_diff basic -not -name foo -o -exit diff --git a/tests/bsd/f.out b/tests/bsd/f.out new file mode 100644 index 0000000..77eac77 --- /dev/null +++ b/tests/bsd/f.out @@ -0,0 +1,4 @@ +( +(/b +- +-/a diff --git a/tests/bsd/f.sh b/tests/bsd/f.sh new file mode 100644 index 0000000..42d2dfd --- /dev/null +++ b/tests/bsd/f.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -f '-' -f '(' diff --git a/tests/bsd/flags.out b/tests/bsd/flags.out new file mode 100644 index 0000000..11998ed --- /dev/null +++ b/tests/bsd/flags.out @@ -0,0 +1 @@ +scratch/bar diff --git a/tests/bsd/flags.sh b/tests/bsd/flags.sh new file mode 100644 index 0000000..99d0fdb --- /dev/null +++ b/tests/bsd/flags.sh @@ -0,0 +1,8 @@ +skip_unless invoke_bfs scratch -quit -flags offline + +rm -rf scratch/* + +$TOUCH scratch/{foo,bar} +skip_unless chflags offline scratch/bar + +bfs_diff scratch -flags -offline,nohidden diff --git a/tests/bsd/gid_name.out b/tests/bsd/gid_name.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bsd/gid_name.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/gid_name.sh b/tests/bsd/gid_name.sh new file mode 100644 index 0000000..c7e0e71 --- /dev/null +++ b/tests/bsd/gid_name.sh @@ -0,0 +1 @@ +bfs_diff basic -gid "$(id -gn)" diff --git a/tests/bsd/mnewer.out b/tests/bsd/mnewer.out new file mode 100644 index 0000000..7f6c0dd --- /dev/null +++ b/tests/bsd/mnewer.out @@ -0,0 +1,4 @@ +times +times/b +times/c +times/l diff --git a/tests/bsd/mnewer.sh b/tests/bsd/mnewer.sh new file mode 100644 index 0000000..5d9f1a7 --- /dev/null +++ b/tests/bsd/mnewer.sh @@ -0,0 +1 @@ +bfs_diff times -mnewer times/a diff --git a/tests/bsd/msince.out b/tests/bsd/msince.out new file mode 100644 index 0000000..650e550 --- /dev/null +++ b/tests/bsd/msince.out @@ -0,0 +1,3 @@ +times +times/c +times/l diff --git a/tests/bsd/msince.sh b/tests/bsd/msince.sh new file mode 100644 index 0000000..ec22f02 --- /dev/null +++ b/tests/bsd/msince.sh @@ -0,0 +1 @@ +bfs_diff times -msince 1991-12-14T00:01 diff --git a/tests/bsd/mtime_units.out b/tests/bsd/mtime_units.out new file mode 100644 index 0000000..f7f63b0 --- /dev/null +++ b/tests/bsd/mtime_units.out @@ -0,0 +1,5 @@ +times +times/a +times/b +times/c +times/l diff --git a/tests/bsd/mtime_units.sh b/tests/bsd/mtime_units.sh new file mode 100644 index 0000000..a1e587e --- /dev/null +++ b/tests/bsd/mtime_units.sh @@ -0,0 +1 @@ +bfs_diff times -mtime +500w400d300h200m100s diff --git a/tests/bsd/okdir_stdin.out b/tests/bsd/okdir_stdin.out new file mode 100644 index 0000000..ef2a68b --- /dev/null +++ b/tests/bsd/okdir_stdin.out @@ -0,0 +1,19 @@ +./a? y +./b? y +./bar? y +./bar? y +./basic? y +./baz? y +./c? y +./d? y +./e? y +./f? y +./foo? y +./foo? y +./foo? y +./g? y +./h? y +./i? y +./j? y +./k? y +./l? y diff --git a/tests/bsd/okdir_stdin.sh b/tests/bsd/okdir_stdin.sh new file mode 100644 index 0000000..7908ac0 --- /dev/null +++ b/tests/bsd/okdir_stdin.sh @@ -0,0 +1,2 @@ +# -okdir should *not* close stdin +yes | bfs_diff basic -okdir bash -c 'printf "%s? " "$1" && head -n1' bash {} \; diff --git a/tests/bsd/perm_000_plus.out b/tests/bsd/perm_000_plus.out new file mode 100644 index 0000000..d7494b8 --- /dev/null +++ b/tests/bsd/perm_000_plus.out @@ -0,0 +1,8 @@ +perms +perms/0 +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/bsd/perm_000_plus.sh b/tests/bsd/perm_000_plus.sh new file mode 100644 index 0000000..9ab3146 --- /dev/null +++ b/tests/bsd/perm_000_plus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm +000 diff --git a/tests/bsd/perm_222_plus.out b/tests/bsd/perm_222_plus.out new file mode 100644 index 0000000..9a5b95a --- /dev/null +++ b/tests/bsd/perm_222_plus.out @@ -0,0 +1,5 @@ +perms +perms/rw +perms/rwx +perms/w +perms/wx diff --git a/tests/bsd/perm_222_plus.sh b/tests/bsd/perm_222_plus.sh new file mode 100644 index 0000000..ac3c4eb --- /dev/null +++ b/tests/bsd/perm_222_plus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm +222 diff --git a/tests/bsd/perm_644_plus.out b/tests/bsd/perm_644_plus.out new file mode 100644 index 0000000..7e5ae98 --- /dev/null +++ b/tests/bsd/perm_644_plus.out @@ -0,0 +1,7 @@ +perms +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/bsd/perm_644_plus.sh b/tests/bsd/perm_644_plus.sh new file mode 100644 index 0000000..b3f5bc6 --- /dev/null +++ b/tests/bsd/perm_644_plus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm +644 diff --git a/tests/bsd/printx.out b/tests/bsd/printx.out new file mode 100644 index 0000000..04bf9a9 --- /dev/null +++ b/tests/bsd/printx.out @@ -0,0 +1,23 @@ +weirdnames +weirdnames/! +weirdnames/!- +weirdnames/!-/e +weirdnames/!/d +weirdnames/( +weirdnames/(- +weirdnames/(-/c +weirdnames/(/b +weirdnames/) +weirdnames/)/g +weirdnames/, +weirdnames/,/f +weirdnames/- +weirdnames/-/a +weirdnames/... +weirdnames/.../h +weirdnames/[ +weirdnames/[/k +weirdnames/\ +weirdnames/\ /j +weirdnames/\\ +weirdnames/\\/i diff --git a/tests/bsd/printx.sh b/tests/bsd/printx.sh new file mode 100644 index 0000000..cb24aab --- /dev/null +++ b/tests/bsd/printx.sh @@ -0,0 +1 @@ +bfs_diff weirdnames -printx diff --git a/tests/bsd/quit_implicit_print.out b/tests/bsd/quit_implicit_print.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/bsd/quit_implicit_print.out @@ -0,0 +1 @@ +basic diff --git a/tests/bsd/quit_implicit_print.sh b/tests/bsd/quit_implicit_print.sh new file mode 100644 index 0000000..ea8fd5d --- /dev/null +++ b/tests/bsd/quit_implicit_print.sh @@ -0,0 +1 @@ +bfs_diff basic -name basic -o -quit diff --git a/tests/bsd/rm.out b/tests/bsd/rm.out new file mode 100644 index 0000000..fb188b9 --- /dev/null +++ b/tests/bsd/rm.out @@ -0,0 +1 @@ +scratch diff --git a/tests/bsd/rm.sh b/tests/bsd/rm.sh new file mode 100644 index 0000000..2e8b613 --- /dev/null +++ b/tests/bsd/rm.sh @@ -0,0 +1,6 @@ +rm -rf scratch/* +touchp scratch/foo/bar/baz + +(cd scratch && invoke_bfs . -rm) + +bfs_diff scratch diff --git a/tests/bsd/s.out b/tests/bsd/s.out new file mode 100644 index 0000000..6b790c2 --- /dev/null +++ b/tests/bsd/s.out @@ -0,0 +1,12 @@ +weirdnames +weirdnames/ +weirdnames/! +weirdnames/!- +weirdnames/( +weirdnames/(- +weirdnames/) +weirdnames/, +weirdnames/- +weirdnames/... +weirdnames/[ +weirdnames/\ diff --git a/tests/bsd/s.sh b/tests/bsd/s.sh new file mode 100644 index 0000000..52f8eb3 --- /dev/null +++ b/tests/bsd/s.sh @@ -0,0 +1,2 @@ +invoke_bfs -s weirdnames -maxdepth 1 >"$OUT" +diff_output diff --git a/tests/bsd/size_T.out b/tests/bsd/size_T.out new file mode 100644 index 0000000..279f3f1 --- /dev/null +++ b/tests/bsd/size_T.out @@ -0,0 +1 @@ +basic/l/foo/bar/baz diff --git a/tests/bsd/size_T.sh b/tests/bsd/size_T.sh new file mode 100644 index 0000000..1023a10 --- /dev/null +++ b/tests/bsd/size_T.sh @@ -0,0 +1 @@ +bfs_diff basic -type f -size 1T diff --git a/tests/bsd/uid_name.out b/tests/bsd/uid_name.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/bsd/uid_name.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/bsd/uid_name.sh b/tests/bsd/uid_name.sh new file mode 100644 index 0000000..7d3ba82 --- /dev/null +++ b/tests/bsd/uid_name.sh @@ -0,0 +1 @@ +bfs_diff basic -uid "$(id -un)" diff --git a/tests/bsd/xattr.out b/tests/bsd/xattr.out new file mode 100644 index 0000000..109e7c9 --- /dev/null +++ b/tests/bsd/xattr.out @@ -0,0 +1,3 @@ +scratch/xattr +scratch/xattr_2 +scratch/xattr_link diff --git a/tests/bsd/xattr.sh b/tests/bsd/xattr.sh new file mode 100644 index 0000000..727c220 --- /dev/null +++ b/tests/bsd/xattr.sh @@ -0,0 +1,3 @@ +skip_unless invoke_bfs scratch -quit -xattr +skip_unless make_xattrs +bfs_diff scratch -xattr diff --git a/tests/bsd/xattrname.out b/tests/bsd/xattrname.out new file mode 100644 index 0000000..0285ac1 --- /dev/null +++ b/tests/bsd/xattrname.out @@ -0,0 +1,2 @@ +scratch/xattr +scratch/xattr_link diff --git a/tests/bsd/xattrname.sh b/tests/bsd/xattrname.sh new file mode 100644 index 0000000..6a0fe7e --- /dev/null +++ b/tests/bsd/xattrname.sh @@ -0,0 +1,11 @@ +skip_unless invoke_bfs scratch -quit -xattr +skip_unless make_xattrs + +case "$UNAME" in + Darwin|FreeBSD) + bfs_diff scratch -xattrname bfs_test + ;; + *) + bfs_diff scratch -xattrname security.bfs_test + ;; +esac diff --git a/tests/common/H_newer.out b/tests/common/H_newer.out new file mode 100644 index 0000000..7f6c0dd --- /dev/null +++ b/tests/common/H_newer.out @@ -0,0 +1,4 @@ +times +times/b +times/c +times/l diff --git a/tests/common/H_newer.sh b/tests/common/H_newer.sh new file mode 100644 index 0000000..c72bff7 --- /dev/null +++ b/tests/common/H_newer.sh @@ -0,0 +1 @@ +bfs_diff -H times -newer times/l diff --git a/tests/common/H_samefile_broken.out b/tests/common/H_samefile_broken.out new file mode 100644 index 0000000..21d6316 --- /dev/null +++ b/tests/common/H_samefile_broken.out @@ -0,0 +1 @@ +links/broken diff --git a/tests/common/H_samefile_broken.sh b/tests/common/H_samefile_broken.sh new file mode 100644 index 0000000..7a3366d --- /dev/null +++ b/tests/common/H_samefile_broken.sh @@ -0,0 +1 @@ +bfs_diff -H links -samefile links/broken diff --git a/tests/common/H_samefile_notdir.out b/tests/common/H_samefile_notdir.out new file mode 100644 index 0000000..6e6658d --- /dev/null +++ b/tests/common/H_samefile_notdir.out @@ -0,0 +1 @@ +links/notdir diff --git a/tests/common/H_samefile_notdir.sh b/tests/common/H_samefile_notdir.sh new file mode 100644 index 0000000..25ad88d --- /dev/null +++ b/tests/common/H_samefile_notdir.sh @@ -0,0 +1 @@ +bfs_diff -H links -samefile links/notdir diff --git a/tests/common/H_samefile_symlink.out b/tests/common/H_samefile_symlink.out new file mode 100644 index 0000000..996ffc8 --- /dev/null +++ b/tests/common/H_samefile_symlink.out @@ -0,0 +1,2 @@ +links/file +links/hardlink diff --git a/tests/common/H_samefile_symlink.sh b/tests/common/H_samefile_symlink.sh new file mode 100644 index 0000000..c73ddb2 --- /dev/null +++ b/tests/common/H_samefile_symlink.sh @@ -0,0 +1 @@ +bfs_diff -H links -samefile links/symlink diff --git a/tests/common/L_ilname.out b/tests/common/L_ilname.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/L_ilname.sh b/tests/common/L_ilname.sh new file mode 100644 index 0000000..cfb15a8 --- /dev/null +++ b/tests/common/L_ilname.sh @@ -0,0 +1,2 @@ +skip_unless invoke_bfs -quit -ilname PATTERN +bfs_diff -L links -ilname '[AQ]' diff --git a/tests/common/L_lname.out b/tests/common/L_lname.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/L_lname.sh b/tests/common/L_lname.sh new file mode 100644 index 0000000..65b9da5 --- /dev/null +++ b/tests/common/L_lname.sh @@ -0,0 +1 @@ +bfs_diff -L links -lname '[aq]' diff --git a/tests/common/L_ls.sh b/tests/common/L_ls.sh new file mode 100644 index 0000000..d886791 --- /dev/null +++ b/tests/common/L_ls.sh @@ -0,0 +1 @@ +invoke_bfs -L rainbow -ls >scratch/L_ls.out diff --git a/tests/common/L_mount.out b/tests/common/L_mount.out new file mode 100644 index 0000000..2e80082 --- /dev/null +++ b/tests/common/L_mount.out @@ -0,0 +1,5 @@ +scratch +scratch/foo +scratch/foo/bar +scratch/foo/qux +scratch/mnt diff --git a/tests/common/L_mount.sh b/tests/common/L_mount.sh new file mode 100644 index 0000000..d43f95a --- /dev/null +++ b/tests/common/L_mount.sh @@ -0,0 +1,15 @@ +skip_unless test "$SUDO" +skip_if test "$UNAME" = "Darwin" + +rm -rf scratch/* +mkdir scratch/{foo,mnt} +sudo mount -t tmpfs tmpfs scratch/mnt +ln -s ../mnt scratch/foo/bar +$TOUCH scratch/mnt/baz +ln -s ../mnt/baz scratch/foo/qux + +bfs_diff -L scratch -mount +ret=$? + +sudo umount scratch/mnt +return $ret diff --git a/tests/common/L_samefile_broken.out b/tests/common/L_samefile_broken.out new file mode 100644 index 0000000..21d6316 --- /dev/null +++ b/tests/common/L_samefile_broken.out @@ -0,0 +1 @@ +links/broken diff --git a/tests/common/L_samefile_broken.sh b/tests/common/L_samefile_broken.sh new file mode 100644 index 0000000..5f860cc --- /dev/null +++ b/tests/common/L_samefile_broken.sh @@ -0,0 +1 @@ +bfs_diff -L links -samefile links/broken diff --git a/tests/common/L_samefile_notdir.out b/tests/common/L_samefile_notdir.out new file mode 100644 index 0000000..6e6658d --- /dev/null +++ b/tests/common/L_samefile_notdir.out @@ -0,0 +1 @@ +links/notdir diff --git a/tests/common/L_samefile_notdir.sh b/tests/common/L_samefile_notdir.sh new file mode 100644 index 0000000..9b63429 --- /dev/null +++ b/tests/common/L_samefile_notdir.sh @@ -0,0 +1 @@ +bfs_diff -L links -samefile links/notdir diff --git a/tests/common/L_samefile_symlink.out b/tests/common/L_samefile_symlink.out new file mode 100644 index 0000000..222ac78 --- /dev/null +++ b/tests/common/L_samefile_symlink.out @@ -0,0 +1,3 @@ +links/file +links/hardlink +links/symlink diff --git a/tests/common/L_samefile_symlink.sh b/tests/common/L_samefile_symlink.sh new file mode 100644 index 0000000..4a7a8dd --- /dev/null +++ b/tests/common/L_samefile_symlink.sh @@ -0,0 +1 @@ +bfs_diff -L links -samefile links/symlink diff --git a/tests/common/P.out b/tests/common/P.out new file mode 100644 index 0000000..ff635ff --- /dev/null +++ b/tests/common/P.out @@ -0,0 +1 @@ +links/deeply/nested/dir diff --git a/tests/common/P.sh b/tests/common/P.sh new file mode 100644 index 0000000..a7a09d1 --- /dev/null +++ b/tests/common/P.sh @@ -0,0 +1 @@ +bfs_diff -P links/deeply/nested/dir diff --git a/tests/common/P_slash.out b/tests/common/P_slash.out new file mode 100644 index 0000000..df7701b --- /dev/null +++ b/tests/common/P_slash.out @@ -0,0 +1 @@ +links/deeply/nested/dir/ diff --git a/tests/common/P_slash.sh b/tests/common/P_slash.sh new file mode 100644 index 0000000..9b9ffa0 --- /dev/null +++ b/tests/common/P_slash.sh @@ -0,0 +1 @@ +bfs_diff -P links/deeply/nested/dir/ diff --git a/tests/common/anewer.out b/tests/common/anewer.out new file mode 100644 index 0000000..7f6c0dd --- /dev/null +++ b/tests/common/anewer.out @@ -0,0 +1,4 @@ +times +times/b +times/c +times/l diff --git a/tests/common/anewer.sh b/tests/common/anewer.sh new file mode 100644 index 0000000..0cdd759 --- /dev/null +++ b/tests/common/anewer.sh @@ -0,0 +1 @@ +bfs_diff times -anewer times/a diff --git a/tests/common/delete.out b/tests/common/delete.out new file mode 100644 index 0000000..fb188b9 --- /dev/null +++ b/tests/common/delete.out @@ -0,0 +1 @@ +scratch diff --git a/tests/common/delete.sh b/tests/common/delete.sh new file mode 100644 index 0000000..4855d60 --- /dev/null +++ b/tests/common/delete.sh @@ -0,0 +1,7 @@ +rm -rf scratch/* +touchp scratch/foo/bar/baz + +# Don't try to delete '.' +(cd scratch && invoke_bfs . -delete) + +bfs_diff scratch diff --git a/tests/common/delete_many.out b/tests/common/delete_many.out new file mode 100644 index 0000000..fb188b9 --- /dev/null +++ b/tests/common/delete_many.out @@ -0,0 +1 @@ +scratch diff --git a/tests/common/delete_many.sh b/tests/common/delete_many.sh new file mode 100644 index 0000000..6446f93 --- /dev/null +++ b/tests/common/delete_many.sh @@ -0,0 +1,8 @@ +# Test for https://github.com/tavianator/bfs/issues/67 + +rm -rf scratch/* +mkdir scratch/foo +$TOUCH scratch/foo/{1..256} + +invoke_bfs scratch/foo -delete +bfs_diff scratch diff --git a/tests/common/depth_maxdepth_1.out b/tests/common/depth_maxdepth_1.out new file mode 100644 index 0000000..7575ae4 --- /dev/null +++ b/tests/common/depth_maxdepth_1.out @@ -0,0 +1,10 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l diff --git a/tests/common/depth_maxdepth_1.sh b/tests/common/depth_maxdepth_1.sh new file mode 100644 index 0000000..4b7e538 --- /dev/null +++ b/tests/common/depth_maxdepth_1.sh @@ -0,0 +1 @@ +bfs_diff basic -maxdepth 1 -depth diff --git a/tests/common/depth_maxdepth_2.out b/tests/common/depth_maxdepth_2.out new file mode 100644 index 0000000..c53041e --- /dev/null +++ b/tests/common/depth_maxdepth_2.out @@ -0,0 +1,16 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/l +basic/l/foo diff --git a/tests/common/depth_maxdepth_2.sh b/tests/common/depth_maxdepth_2.sh new file mode 100644 index 0000000..2c49a65 --- /dev/null +++ b/tests/common/depth_maxdepth_2.sh @@ -0,0 +1 @@ +bfs_diff basic -maxdepth 2 -depth diff --git a/tests/common/depth_mindepth_1.out b/tests/common/depth_mindepth_1.out new file mode 100644 index 0000000..3b461cf --- /dev/null +++ b/tests/common/depth_mindepth_1.out @@ -0,0 +1,18 @@ +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/common/depth_mindepth_1.sh b/tests/common/depth_mindepth_1.sh new file mode 100644 index 0000000..868d9e1 --- /dev/null +++ b/tests/common/depth_mindepth_1.sh @@ -0,0 +1 @@ +bfs_diff basic -mindepth 1 -depth diff --git a/tests/common/depth_mindepth_2.out b/tests/common/depth_mindepth_2.out new file mode 100644 index 0000000..6ccd80a --- /dev/null +++ b/tests/common/depth_mindepth_2.out @@ -0,0 +1,9 @@ +basic/c/d +basic/e/f +basic/g/h +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/common/depth_mindepth_2.sh b/tests/common/depth_mindepth_2.sh new file mode 100644 index 0000000..2031b2c --- /dev/null +++ b/tests/common/depth_mindepth_2.sh @@ -0,0 +1 @@ +bfs_diff basic -mindepth 2 -depth diff --git a/tests/common/double_dash.out b/tests/common/double_dash.out new file mode 100644 index 0000000..774cc7c --- /dev/null +++ b/tests/common/double_dash.out @@ -0,0 +1,7 @@ +./a +./b +./c/d +./e/f +./j/foo +./k/foo/bar +./l/foo/bar/baz diff --git a/tests/common/double_dash.sh b/tests/common/double_dash.sh new file mode 100644 index 0000000..1a7a118 --- /dev/null +++ b/tests/common/double_dash.sh @@ -0,0 +1,2 @@ +cd basic +bfs_diff -- . -type f diff --git a/tests/common/exec_substring.out b/tests/common/exec_substring.out new file mode 100644 index 0000000..32a6353 --- /dev/null +++ b/tests/common/exec_substring.out @@ -0,0 +1,19 @@ +-basic- +-basic/a- +-basic/b- +-basic/c- +-basic/c/d- +-basic/e- +-basic/e/f- +-basic/g- +-basic/g/h- +-basic/i- +-basic/j- +-basic/j/foo- +-basic/k- +-basic/k/foo- +-basic/k/foo/bar- +-basic/l- +-basic/l/foo- +-basic/l/foo/bar- +-basic/l/foo/bar/baz- diff --git a/tests/common/exec_substring.sh b/tests/common/exec_substring.sh new file mode 100644 index 0000000..5cf8e85 --- /dev/null +++ b/tests/common/exec_substring.sh @@ -0,0 +1 @@ +bfs_diff basic -exec echo '-{}-' \; diff --git a/tests/common/execdir_nonexistent.out b/tests/common/execdir_nonexistent.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/common/execdir_nonexistent.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/common/execdir_nonexistent.sh b/tests/common/execdir_nonexistent.sh new file mode 100644 index 0000000..5d116e5 --- /dev/null +++ b/tests/common/execdir_nonexistent.sh @@ -0,0 +1,5 @@ +stderr=$(invoke_bfs basic -execdir "$TESTS/nonexistent" {} \; 2>&1 >/dev/null) +[ -n "$stderr" ] || return 1 + +bfs_diff basic -print -execdir "$TESTS/nonexistent" {} \; -print +(($? == EX_BFS)) diff --git a/tests/common/execdir_pwd.out b/tests/common/execdir_pwd.out new file mode 100644 index 0000000..a11cd25 --- /dev/null +++ b/tests/common/execdir_pwd.out @@ -0,0 +1,19 @@ + +basic +basic +basic +basic +basic +basic +basic +basic +basic +basic/c +basic/e +basic/g +basic/j +basic/k +basic/k/foo +basic/l +basic/l/foo +basic/l/foo/bar diff --git a/tests/common/execdir_pwd.sh b/tests/common/execdir_pwd.sh new file mode 100644 index 0000000..1c0165a --- /dev/null +++ b/tests/common/execdir_pwd.sh @@ -0,0 +1,3 @@ +TMP_REAL=$(cd "$TMP" && pwd) +OFFSET=$((${#TMP_REAL} + 2)) +bfs_diff basic -execdir bash -c "pwd | cut -b$OFFSET-" \; diff --git a/tests/common/execdir_slash.out b/tests/common/execdir_slash.out new file mode 100644 index 0000000..b498fd4 --- /dev/null +++ b/tests/common/execdir_slash.out @@ -0,0 +1 @@ +/ diff --git a/tests/common/execdir_slash.sh b/tests/common/execdir_slash.sh new file mode 100644 index 0000000..965f679 --- /dev/null +++ b/tests/common/execdir_slash.sh @@ -0,0 +1,2 @@ +# Don't prepend ./ for absolute paths in -execdir +bfs_diff / -maxdepth 0 -execdir echo {} \; diff --git a/tests/common/execdir_slash_pwd.out b/tests/common/execdir_slash_pwd.out new file mode 100644 index 0000000..b498fd4 --- /dev/null +++ b/tests/common/execdir_slash_pwd.out @@ -0,0 +1 @@ +/ diff --git a/tests/common/execdir_slash_pwd.sh b/tests/common/execdir_slash_pwd.sh new file mode 100644 index 0000000..9c82e09 --- /dev/null +++ b/tests/common/execdir_slash_pwd.sh @@ -0,0 +1 @@ +bfs_diff / -maxdepth 0 -execdir pwd \; diff --git a/tests/common/execdir_slashes.out b/tests/common/execdir_slashes.out new file mode 100644 index 0000000..b498fd4 --- /dev/null +++ b/tests/common/execdir_slashes.out @@ -0,0 +1 @@ +/ diff --git a/tests/common/execdir_slashes.sh b/tests/common/execdir_slashes.sh new file mode 100644 index 0000000..4e2b327 --- /dev/null +++ b/tests/common/execdir_slashes.sh @@ -0,0 +1 @@ +bfs_diff /// -maxdepth 0 -execdir echo {} \; diff --git a/tests/common/execdir_ulimit.out b/tests/common/execdir_ulimit.out new file mode 100644 index 0000000..7f53982 --- /dev/null +++ b/tests/common/execdir_ulimit.out @@ -0,0 +1,40 @@ +./0 +./1 +./2 +./3 +./4 +./5 +./6 +./7 +./8 +./9 +./A +./B +./C +./a +./b +./c +./d +./e +./f +./g +./h +./i +./j +./k +./l +./m +./n +./o +./p +./q +./r +./s +./scratch +./t +./u +./v +./w +./x +./y +./z diff --git a/tests/common/execdir_ulimit.sh b/tests/common/execdir_ulimit.sh new file mode 100644 index 0000000..6da8783 --- /dev/null +++ b/tests/common/execdir_ulimit.sh @@ -0,0 +1,7 @@ +rm -rf scratch/* +mkdir -p scratch/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z +mkdir -p scratch/a/b/c/d/e/f/g/h/i/j/k/l/m/0/1/2/3/4/5/6/7/8/9/A/B/C + +closefrom 4 +ulimit -n 13 +bfs_diff scratch -execdir echo {} \; diff --git a/tests/common/flag_double_dash.out b/tests/common/flag_double_dash.out new file mode 100644 index 0000000..774cc7c --- /dev/null +++ b/tests/common/flag_double_dash.out @@ -0,0 +1,7 @@ +./a +./b +./c/d +./e/f +./j/foo +./k/foo/bar +./l/foo/bar/baz diff --git a/tests/common/flag_double_dash.sh b/tests/common/flag_double_dash.sh new file mode 100644 index 0000000..1075b06 --- /dev/null +++ b/tests/common/flag_double_dash.sh @@ -0,0 +1,2 @@ +cd basic +bfs_diff -L -- . -type f diff --git a/tests/common/follow.out b/tests/common/follow.out new file mode 100644 index 0000000..ec9e861 --- /dev/null +++ b/tests/common/follow.out @@ -0,0 +1,17 @@ +links +links/broken +links/deeply +links/deeply/nested +links/deeply/nested/broken +links/deeply/nested/dir +links/deeply/nested/file +links/deeply/nested/link +links/file +links/hardlink +links/notdir +links/skip +links/skip/broken +links/skip/dir +links/skip/file +links/skip/link +links/symlink diff --git a/tests/common/follow.sh b/tests/common/follow.sh new file mode 100644 index 0000000..b5a2ae1 --- /dev/null +++ b/tests/common/follow.sh @@ -0,0 +1 @@ +bfs_diff links -follow diff --git a/tests/common/ilname.out b/tests/common/ilname.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/ilname.sh b/tests/common/ilname.sh new file mode 100644 index 0000000..7ab0793 --- /dev/null +++ b/tests/common/ilname.sh @@ -0,0 +1,2 @@ +skip_unless invoke_bfs -quit -ilname PATTERN +bfs_diff links -ilname '[AQ]' diff --git a/tests/common/iname.out b/tests/common/iname.out new file mode 100644 index 0000000..a9e5d42 --- /dev/null +++ b/tests/common/iname.out @@ -0,0 +1,4 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/common/iname.sh b/tests/common/iname.sh new file mode 100644 index 0000000..8fcc443 --- /dev/null +++ b/tests/common/iname.sh @@ -0,0 +1,2 @@ +skip_unless invoke_bfs -quit -iname PATTERN +bfs_diff basic -iname '*F*' diff --git a/tests/common/inum.out b/tests/common/inum.out new file mode 100644 index 0000000..ebcaf79 --- /dev/null +++ b/tests/common/inum.out @@ -0,0 +1 @@ +basic/k/foo/bar diff --git a/tests/common/inum.sh b/tests/common/inum.sh new file mode 100644 index 0000000..ca63bbb --- /dev/null +++ b/tests/common/inum.sh @@ -0,0 +1 @@ +bfs_diff basic -inum "$(inum basic/k/foo/bar)" diff --git a/tests/common/inum_bind_mount.out b/tests/common/inum_bind_mount.out new file mode 100644 index 0000000..a520de3 --- /dev/null +++ b/tests/common/inum_bind_mount.out @@ -0,0 +1,2 @@ +scratch/bar +scratch/foo diff --git a/tests/common/inum_bind_mount.sh b/tests/common/inum_bind_mount.sh new file mode 100644 index 0000000..654e762 --- /dev/null +++ b/tests/common/inum_bind_mount.sh @@ -0,0 +1,12 @@ +skip_unless test "$SUDO" +skip_unless test "$UNAME" = "Linux" + +rm -rf scratch/* +$TOUCH scratch/{foo,bar} +sudo mount --bind scratch/{foo,bar} + +bfs_diff scratch -inum "$(inum scratch/bar)" +ret=$? + +sudo umount scratch/bar +return $ret diff --git a/tests/common/inum_mount.out b/tests/common/inum_mount.out new file mode 100644 index 0000000..99c7511 --- /dev/null +++ b/tests/common/inum_mount.out @@ -0,0 +1 @@ +scratch/mnt diff --git a/tests/common/inum_mount.sh b/tests/common/inum_mount.sh new file mode 100644 index 0000000..8f5c317 --- /dev/null +++ b/tests/common/inum_mount.sh @@ -0,0 +1,12 @@ +skip_unless test "$SUDO" +skip_if test "$UNAME" = "Darwin" + +rm -rf scratch/* +mkdir scratch/{foo,mnt} +sudo mount -t tmpfs tmpfs scratch/mnt + +bfs_diff scratch -inum "$(inum scratch/mnt)" +ret=$? + +sudo umount scratch/mnt +return $ret diff --git a/tests/common/ipath.out b/tests/common/ipath.out new file mode 100644 index 0000000..ae1ae21 --- /dev/null +++ b/tests/common/ipath.out @@ -0,0 +1,7 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/common/ipath.sh b/tests/common/ipath.sh new file mode 100644 index 0000000..9e6f8c5 --- /dev/null +++ b/tests/common/ipath.sh @@ -0,0 +1,2 @@ +skip_unless invoke_bfs -quit -ipath PATTERN +bfs_diff basic -ipath 'basic/*F*' diff --git a/tests/common/iregex.out b/tests/common/iregex.out new file mode 100644 index 0000000..cfc113b --- /dev/null +++ b/tests/common/iregex.out @@ -0,0 +1,3 @@ +basic/c/d +basic/e/f +basic/g/h diff --git a/tests/common/iregex.sh b/tests/common/iregex.sh new file mode 100644 index 0000000..fc782f5 --- /dev/null +++ b/tests/common/iregex.sh @@ -0,0 +1 @@ +bfs_diff basic -iregex 'basic/[A-Z]/[a-z]' diff --git a/tests/common/lname.out b/tests/common/lname.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/lname.sh b/tests/common/lname.sh new file mode 100644 index 0000000..cf8a2a1 --- /dev/null +++ b/tests/common/lname.sh @@ -0,0 +1 @@ +bfs_diff links -lname '[aq]' diff --git a/tests/common/ls.sh b/tests/common/ls.sh new file mode 100644 index 0000000..b49a2d5 --- /dev/null +++ b/tests/common/ls.sh @@ -0,0 +1 @@ +invoke_bfs rainbow -ls >scratch/ls.out diff --git a/tests/common/maxdepth.out b/tests/common/maxdepth.out new file mode 100644 index 0000000..7575ae4 --- /dev/null +++ b/tests/common/maxdepth.out @@ -0,0 +1,10 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l diff --git a/tests/common/maxdepth.sh b/tests/common/maxdepth.sh new file mode 100644 index 0000000..bb47cc9 --- /dev/null +++ b/tests/common/maxdepth.sh @@ -0,0 +1 @@ +bfs_diff basic -maxdepth 1 diff --git a/tests/common/mindepth.out b/tests/common/mindepth.out new file mode 100644 index 0000000..3b461cf --- /dev/null +++ b/tests/common/mindepth.out @@ -0,0 +1,18 @@ +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/common/mindepth.sh b/tests/common/mindepth.sh new file mode 100644 index 0000000..22d7770 --- /dev/null +++ b/tests/common/mindepth.sh @@ -0,0 +1 @@ +bfs_diff basic -mindepth 1 diff --git a/tests/common/mount.out b/tests/common/mount.out new file mode 100644 index 0000000..f7839fb --- /dev/null +++ b/tests/common/mount.out @@ -0,0 +1,4 @@ +scratch +scratch/foo +scratch/foo/bar +scratch/mnt diff --git a/tests/common/mount.sh b/tests/common/mount.sh new file mode 100644 index 0000000..6e20d90 --- /dev/null +++ b/tests/common/mount.sh @@ -0,0 +1,13 @@ +skip_unless test "$SUDO" +skip_if test "$UNAME" = "Darwin" + +rm -rf scratch/* +mkdir scratch/{foo,mnt} +sudo mount -t tmpfs tmpfs scratch/mnt +$TOUCH scratch/foo/bar scratch/mnt/baz + +bfs_diff scratch -mount +ret=$? + +sudo umount scratch/mnt +return $ret diff --git a/tests/common/name_slash.out b/tests/common/name_slash.out new file mode 100644 index 0000000..b498fd4 --- /dev/null +++ b/tests/common/name_slash.out @@ -0,0 +1 @@ +/ diff --git a/tests/common/name_slash.sh b/tests/common/name_slash.sh new file mode 100644 index 0000000..8d89623 --- /dev/null +++ b/tests/common/name_slash.sh @@ -0,0 +1 @@ +bfs_diff / -maxdepth 0 -name / diff --git a/tests/common/name_slashes.out b/tests/common/name_slashes.out new file mode 100644 index 0000000..187b81f --- /dev/null +++ b/tests/common/name_slashes.out @@ -0,0 +1 @@ +/// diff --git a/tests/common/name_slashes.sh b/tests/common/name_slashes.sh new file mode 100644 index 0000000..78d0a84 --- /dev/null +++ b/tests/common/name_slashes.sh @@ -0,0 +1 @@ +bfs_diff /// -maxdepth 0 -name / diff --git a/tests/common/newerma.out b/tests/common/newerma.out new file mode 100644 index 0000000..7f6c0dd --- /dev/null +++ b/tests/common/newerma.out @@ -0,0 +1,4 @@ +times +times/b +times/c +times/l diff --git a/tests/common/newerma.sh b/tests/common/newerma.sh new file mode 100644 index 0000000..b05af8d --- /dev/null +++ b/tests/common/newerma.sh @@ -0,0 +1 @@ +bfs_diff times -newerma times/a diff --git a/tests/common/newermt.out b/tests/common/newermt.out new file mode 100644 index 0000000..650e550 --- /dev/null +++ b/tests/common/newermt.out @@ -0,0 +1,3 @@ +times +times/c +times/l diff --git a/tests/common/newermt.sh b/tests/common/newermt.sh new file mode 100644 index 0000000..3c5be68 --- /dev/null +++ b/tests/common/newermt.sh @@ -0,0 +1 @@ +bfs_diff times -newermt 1991-12-14T00:01 diff --git a/tests/common/newermt_epoch_minus_one.out b/tests/common/newermt_epoch_minus_one.out new file mode 100644 index 0000000..f7f63b0 --- /dev/null +++ b/tests/common/newermt_epoch_minus_one.out @@ -0,0 +1,5 @@ +times +times/a +times/b +times/c +times/l diff --git a/tests/common/newermt_epoch_minus_one.sh b/tests/common/newermt_epoch_minus_one.sh new file mode 100644 index 0000000..568e2f3 --- /dev/null +++ b/tests/common/newermt_epoch_minus_one.sh @@ -0,0 +1 @@ +bfs_diff times -newermt 1969-12-31T23:59:59Z diff --git a/tests/common/ok_closed_stdin.out b/tests/common/ok_closed_stdin.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/ok_closed_stdin.sh b/tests/common/ok_closed_stdin.sh new file mode 100644 index 0000000..687e998 --- /dev/null +++ b/tests/common/ok_closed_stdin.sh @@ -0,0 +1 @@ +bfs_diff basic -ok echo \; <&- diff --git a/tests/common/okdir_closed_stdin.out b/tests/common/okdir_closed_stdin.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/okdir_closed_stdin.sh b/tests/common/okdir_closed_stdin.sh new file mode 100644 index 0000000..a515298 --- /dev/null +++ b/tests/common/okdir_closed_stdin.sh @@ -0,0 +1 @@ +bfs_diff basic -okdir echo {} \; <&- diff --git a/tests/common/quit.out b/tests/common/quit.out new file mode 100644 index 0000000..cf4d5a9 --- /dev/null +++ b/tests/common/quit.out @@ -0,0 +1 @@ +basic/g diff --git a/tests/common/quit.sh b/tests/common/quit.sh new file mode 100644 index 0000000..46b60c5 --- /dev/null +++ b/tests/common/quit.sh @@ -0,0 +1 @@ +bfs_diff basic/g -print -name g -quit diff --git a/tests/common/quit_after_print.out b/tests/common/quit_after_print.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/common/quit_after_print.out @@ -0,0 +1 @@ +basic diff --git a/tests/common/quit_after_print.sh b/tests/common/quit_after_print.sh new file mode 100644 index 0000000..ee5653a --- /dev/null +++ b/tests/common/quit_after_print.sh @@ -0,0 +1 @@ +bfs_diff basic basic -print -quit diff --git a/tests/common/quit_before_print.out b/tests/common/quit_before_print.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/quit_before_print.sh b/tests/common/quit_before_print.sh new file mode 100644 index 0000000..cda3a2c --- /dev/null +++ b/tests/common/quit_before_print.sh @@ -0,0 +1 @@ +bfs_diff basic basic -quit -print diff --git a/tests/common/quit_child.out b/tests/common/quit_child.out new file mode 100644 index 0000000..fb683c7 --- /dev/null +++ b/tests/common/quit_child.out @@ -0,0 +1,2 @@ +basic/g +basic/g/h diff --git a/tests/common/quit_child.sh b/tests/common/quit_child.sh new file mode 100644 index 0000000..bd27eff --- /dev/null +++ b/tests/common/quit_child.sh @@ -0,0 +1 @@ +bfs_diff basic/g -print -name h -quit diff --git a/tests/common/quit_depth.out b/tests/common/quit_depth.out new file mode 100644 index 0000000..fb683c7 --- /dev/null +++ b/tests/common/quit_depth.out @@ -0,0 +1,2 @@ +basic/g +basic/g/h diff --git a/tests/common/quit_depth.sh b/tests/common/quit_depth.sh new file mode 100644 index 0000000..f5f82ba --- /dev/null +++ b/tests/common/quit_depth.sh @@ -0,0 +1 @@ +bfs_diff basic/g -depth -print -name g -quit diff --git a/tests/common/quit_depth_child.out b/tests/common/quit_depth_child.out new file mode 100644 index 0000000..72b086d --- /dev/null +++ b/tests/common/quit_depth_child.out @@ -0,0 +1 @@ +basic/g/h diff --git a/tests/common/quit_depth_child.sh b/tests/common/quit_depth_child.sh new file mode 100644 index 0000000..dd09d5b --- /dev/null +++ b/tests/common/quit_depth_child.sh @@ -0,0 +1 @@ +bfs_diff basic/g -depth -print -name h -quit diff --git a/tests/common/regex.out b/tests/common/regex.out new file mode 100644 index 0000000..cfc113b --- /dev/null +++ b/tests/common/regex.out @@ -0,0 +1,3 @@ +basic/c/d +basic/e/f +basic/g/h diff --git a/tests/common/regex.sh b/tests/common/regex.sh new file mode 100644 index 0000000..a3bdae8 --- /dev/null +++ b/tests/common/regex.sh @@ -0,0 +1 @@ +bfs_diff basic -regex 'basic/./.' diff --git a/tests/common/regex_parens.out b/tests/common/regex_parens.out new file mode 100644 index 0000000..0f0971e --- /dev/null +++ b/tests/common/regex_parens.out @@ -0,0 +1 @@ +./( diff --git a/tests/common/regex_parens.sh b/tests/common/regex_parens.sh new file mode 100644 index 0000000..fe0abf6 --- /dev/null +++ b/tests/common/regex_parens.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff . -regex '\./\((\)' diff --git a/tests/common/samefile.out b/tests/common/samefile.out new file mode 100644 index 0000000..996ffc8 --- /dev/null +++ b/tests/common/samefile.out @@ -0,0 +1,2 @@ +links/file +links/hardlink diff --git a/tests/common/samefile.sh b/tests/common/samefile.sh new file mode 100644 index 0000000..8e51966 --- /dev/null +++ b/tests/common/samefile.sh @@ -0,0 +1 @@ +bfs_diff links -samefile links/file diff --git a/tests/common/samefile_broken.out b/tests/common/samefile_broken.out new file mode 100644 index 0000000..21d6316 --- /dev/null +++ b/tests/common/samefile_broken.out @@ -0,0 +1 @@ +links/broken diff --git a/tests/common/samefile_broken.sh b/tests/common/samefile_broken.sh new file mode 100644 index 0000000..1cb52db --- /dev/null +++ b/tests/common/samefile_broken.sh @@ -0,0 +1 @@ +bfs_diff links -samefile links/broken diff --git a/tests/common/samefile_notdir.out b/tests/common/samefile_notdir.out new file mode 100644 index 0000000..6e6658d --- /dev/null +++ b/tests/common/samefile_notdir.out @@ -0,0 +1 @@ +links/notdir diff --git a/tests/common/samefile_notdir.sh b/tests/common/samefile_notdir.sh new file mode 100644 index 0000000..f274ef6 --- /dev/null +++ b/tests/common/samefile_notdir.sh @@ -0,0 +1 @@ +bfs_diff links -samefile links/notdir diff --git a/tests/common/samefile_symlink.out b/tests/common/samefile_symlink.out new file mode 100644 index 0000000..299a572 --- /dev/null +++ b/tests/common/samefile_symlink.out @@ -0,0 +1 @@ +links/symlink diff --git a/tests/common/samefile_symlink.sh b/tests/common/samefile_symlink.sh new file mode 100644 index 0000000..55ccf5c --- /dev/null +++ b/tests/common/samefile_symlink.sh @@ -0,0 +1 @@ +bfs_diff links -samefile links/symlink diff --git a/tests/common/size_big.out b/tests/common/size_big.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/common/size_big.sh b/tests/common/size_big.sh new file mode 100644 index 0000000..6c100eb --- /dev/null +++ b/tests/common/size_big.sh @@ -0,0 +1 @@ +bfs_diff basic -size 9223372036854775807 diff --git a/tests/gnu/L_delete.out b/tests/gnu/L_delete.out new file mode 100644 index 0000000..ed0e9a1 --- /dev/null +++ b/tests/gnu/L_delete.out @@ -0,0 +1,2 @@ +scratch +scratch/foo diff --git a/tests/gnu/L_delete.sh b/tests/gnu/L_delete.sh new file mode 100644 index 0000000..08f39af --- /dev/null +++ b/tests/gnu/L_delete.sh @@ -0,0 +1,9 @@ +rm -rf scratch/* +mkdir scratch/foo +mkdir scratch/bar +ln -s ../foo scratch/bar/baz + +# Don't try to rmdir() a symlink +invoke_bfs -L scratch/bar -delete || return 1 + +bfs_diff scratch diff --git a/tests/gnu/L_loops_continue.out b/tests/gnu/L_loops_continue.out new file mode 100644 index 0000000..a514555 --- /dev/null +++ b/tests/gnu/L_loops_continue.out @@ -0,0 +1,11 @@ +loops +loops/broken +loops/deeply +loops/deeply/nested +loops/deeply/nested/dir +loops/file +loops/notdir +loops/skip +loops/skip/dir +loops/skip/loop +loops/symlink diff --git a/tests/gnu/L_loops_continue.sh b/tests/gnu/L_loops_continue.sh new file mode 100644 index 0000000..0244137 --- /dev/null +++ b/tests/gnu/L_loops_continue.sh @@ -0,0 +1,2 @@ +bfs_diff -L loops +[ $? -eq $EX_BFS ] diff --git a/tests/gnu/L_xtype_f.out b/tests/gnu/L_xtype_f.out new file mode 100644 index 0000000..8b95397 --- /dev/null +++ b/tests/gnu/L_xtype_f.out @@ -0,0 +1,4 @@ +links/deeply/nested/file +links/file +links/hardlink +links/skip/file diff --git a/tests/gnu/L_xtype_f.sh b/tests/gnu/L_xtype_f.sh new file mode 100644 index 0000000..47f7be7 --- /dev/null +++ b/tests/gnu/L_xtype_f.sh @@ -0,0 +1 @@ +bfs_diff -L links -xtype f diff --git a/tests/gnu/L_xtype_l.out b/tests/gnu/L_xtype_l.out new file mode 100644 index 0000000..973864f --- /dev/null +++ b/tests/gnu/L_xtype_l.out @@ -0,0 +1,8 @@ +links/broken +links/deeply/nested/broken +links/deeply/nested/link +links/notdir +links/skip +links/skip/broken +links/skip/link +links/symlink diff --git a/tests/gnu/L_xtype_l.sh b/tests/gnu/L_xtype_l.sh new file mode 100644 index 0000000..afe52ef --- /dev/null +++ b/tests/gnu/L_xtype_l.sh @@ -0,0 +1 @@ +bfs_diff -L links -xtype l diff --git a/tests/gnu/and.out b/tests/gnu/and.out new file mode 100644 index 0000000..722962c --- /dev/null +++ b/tests/gnu/and.out @@ -0,0 +1,2 @@ +basic/k/foo +basic/l/foo diff --git a/tests/gnu/and.sh b/tests/gnu/and.sh new file mode 100644 index 0000000..1606455 --- /dev/null +++ b/tests/gnu/and.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -and -type d diff --git a/tests/gnu/and_false_or_true.out b/tests/gnu/and_false_or_true.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/and_false_or_true.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/and_false_or_true.sh b/tests/gnu/and_false_or_true.sh new file mode 100644 index 0000000..e500722 --- /dev/null +++ b/tests/gnu/and_false_or_true.sh @@ -0,0 +1,3 @@ +# Test (-a lhs(always_true) -false) <==> (! lhs), +# (-o lhs(always_false) -true) <==> (! lhs) +bfs_diff basic -prune -false -o -true diff --git a/tests/gnu/and_purity.out b/tests/gnu/and_purity.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/gnu/and_purity.sh b/tests/gnu/and_purity.sh new file mode 100644 index 0000000..55e2cfc --- /dev/null +++ b/tests/gnu/and_purity.sh @@ -0,0 +1,2 @@ +# Regression test: (-a lhs(pure) rhs(always_false)) <==> rhs is only valid if rhs is pure +bfs_diff basic -name nonexistent \( -print , -false \) diff --git a/tests/gnu/comma.out b/tests/gnu/comma.out new file mode 100644 index 0000000..740eefc --- /dev/null +++ b/tests/gnu/comma.out @@ -0,0 +1,23 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/j/foo +basic/k +basic/k/foo +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/comma.sh b/tests/gnu/comma.sh new file mode 100644 index 0000000..cdcebf8 --- /dev/null +++ b/tests/gnu/comma.sh @@ -0,0 +1 @@ +bfs_diff basic -name '*f*' -print , -print diff --git a/tests/gnu/comma_reachability.out b/tests/gnu/comma_reachability.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/comma_reachability.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/comma_reachability.sh b/tests/gnu/comma_reachability.sh new file mode 100644 index 0000000..60c26bc --- /dev/null +++ b/tests/gnu/comma_reachability.sh @@ -0,0 +1 @@ +bfs_diff basic -print -quit , -print diff --git a/tests/gnu/comma_redundant_false.out b/tests/gnu/comma_redundant_false.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/comma_redundant_false.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/comma_redundant_false.sh b/tests/gnu/comma_redundant_false.sh new file mode 100644 index 0000000..f35d9b8 --- /dev/null +++ b/tests/gnu/comma_redundant_false.sh @@ -0,0 +1,2 @@ +# Test (, lhs(always_false) -false) <==> lhs +bfs_diff basic -print -not -prune , -false diff --git a/tests/gnu/comma_redundant_true.out b/tests/gnu/comma_redundant_true.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/comma_redundant_true.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/comma_redundant_true.sh b/tests/gnu/comma_redundant_true.sh new file mode 100644 index 0000000..f9eef57 --- /dev/null +++ b/tests/gnu/comma_redundant_true.sh @@ -0,0 +1,2 @@ +# Test (, lhs(always_true) -true) <==> lhs +bfs_diff basic -prune , -true diff --git a/tests/gnu/daystart.out b/tests/gnu/daystart.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/daystart.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/daystart.sh b/tests/gnu/daystart.sh new file mode 100644 index 0000000..9799bca --- /dev/null +++ b/tests/gnu/daystart.sh @@ -0,0 +1 @@ +bfs_diff basic -daystart -mtime 0 diff --git a/tests/gnu/daystart_twice.out b/tests/gnu/daystart_twice.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/daystart_twice.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/daystart_twice.sh b/tests/gnu/daystart_twice.sh new file mode 100644 index 0000000..21b2c0f --- /dev/null +++ b/tests/gnu/daystart_twice.sh @@ -0,0 +1 @@ +bfs_diff basic -daystart -daystart -mtime 0 diff --git a/tests/gnu/empty.out b/tests/gnu/empty.out new file mode 100644 index 0000000..a0f4b76 --- /dev/null +++ b/tests/gnu/empty.out @@ -0,0 +1,8 @@ +basic/a +basic/b +basic/c/d +basic/e/f +basic/g/h +basic/i +basic/j/foo +basic/k/foo/bar diff --git a/tests/gnu/empty.sh b/tests/gnu/empty.sh new file mode 100644 index 0000000..95ee988 --- /dev/null +++ b/tests/gnu/empty.sh @@ -0,0 +1 @@ +bfs_diff basic -empty diff --git a/tests/gnu/empty_special.out b/tests/gnu/empty_special.out new file mode 100644 index 0000000..3927f2b --- /dev/null +++ b/tests/gnu/empty_special.out @@ -0,0 +1,14 @@ +rainbow/exec.sh +rainbow/file.dat +rainbow/file.txt +rainbow/mh1 +rainbow/mh2 +rainbow/ow +rainbow/sgid +rainbow/star.gz +rainbow/star.tar +rainbow/star.tar.gz +rainbow/sticky +rainbow/sticky_ow +rainbow/sugid +rainbow/suid diff --git a/tests/gnu/empty_special.sh b/tests/gnu/empty_special.sh new file mode 100644 index 0000000..31e9d2e --- /dev/null +++ b/tests/gnu/empty_special.sh @@ -0,0 +1 @@ +bfs_diff rainbow -empty diff --git a/tests/gnu/exec_flush.out b/tests/gnu/exec_flush.out new file mode 100644 index 0000000..fdd7b16 --- /dev/null +++ b/tests/gnu/exec_flush.out @@ -0,0 +1,19 @@ +basic found +basic/a found +basic/b found +basic/c found +basic/c/d found +basic/e found +basic/e/f found +basic/g found +basic/g/h found +basic/i found +basic/j found +basic/j/foo found +basic/k found +basic/k/foo found +basic/k/foo/bar found +basic/l found +basic/l/foo found +basic/l/foo/bar found +basic/l/foo/bar/baz found diff --git a/tests/gnu/exec_flush.sh b/tests/gnu/exec_flush.sh new file mode 100644 index 0000000..aaeef6a --- /dev/null +++ b/tests/gnu/exec_flush.sh @@ -0,0 +1,4 @@ +# IO streams should be flushed before executing programs +invoke_bfs basic -print0 -exec echo found \; | tr '\0' ' ' >"$OUT" +sort_output +diff_output diff --git a/tests/gnu/exec_flush_fail.sh b/tests/gnu/exec_flush_fail.sh new file mode 100644 index 0000000..4772a14 --- /dev/null +++ b/tests/gnu/exec_flush_fail.sh @@ -0,0 +1,3 @@ +# Failure to flush streams before exec should be caught +skip_unless test -e /dev/full +fail invoke_bfs basic -print0 -exec true \; >/dev/full diff --git a/tests/gnu/exec_nothing.sh b/tests/gnu/exec_nothing.sh new file mode 100644 index 0000000..9d613e8 --- /dev/null +++ b/tests/gnu/exec_nothing.sh @@ -0,0 +1,2 @@ +# Regression test: don't segfault on missing command +fail invoke_bfs basic -exec \; diff --git a/tests/gnu/exec_plus_flush.out b/tests/gnu/exec_plus_flush.out new file mode 100644 index 0000000..3e276be Binary files /dev/null and b/tests/gnu/exec_plus_flush.out differ diff --git a/tests/gnu/exec_plus_flush.sh b/tests/gnu/exec_plus_flush.sh new file mode 100644 index 0000000..0c03837 --- /dev/null +++ b/tests/gnu/exec_plus_flush.sh @@ -0,0 +1,2 @@ +invoke_bfs basic/a -print0 -exec echo found {} + >"$OUT" +diff_output diff --git a/tests/gnu/exec_plus_flush_fail.sh b/tests/gnu/exec_plus_flush_fail.sh new file mode 100644 index 0000000..5c74fd8 --- /dev/null +++ b/tests/gnu/exec_plus_flush_fail.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs basic/a -print0 -exec echo found {} + >/dev/full diff --git a/tests/gnu/execdir.out b/tests/gnu/execdir.out new file mode 100644 index 0000000..62b31f6 --- /dev/null +++ b/tests/gnu/execdir.out @@ -0,0 +1,19 @@ +./a +./b +./bar +./bar +./basic +./baz +./c +./d +./e +./f +./foo +./foo +./foo +./g +./h +./i +./j +./k +./l diff --git a/tests/gnu/execdir.sh b/tests/gnu/execdir.sh new file mode 100644 index 0000000..5a3a95a --- /dev/null +++ b/tests/gnu/execdir.sh @@ -0,0 +1 @@ +bfs_diff basic -execdir echo {} \; diff --git a/tests/gnu/execdir_plus_semicolon.out b/tests/gnu/execdir_plus_semicolon.out new file mode 100644 index 0000000..e39f452 --- /dev/null +++ b/tests/gnu/execdir_plus_semicolon.out @@ -0,0 +1,19 @@ +foo ./a bar + baz +foo ./b bar + baz +foo ./bar bar + baz +foo ./bar bar + baz +foo ./basic bar + baz +foo ./baz bar + baz +foo ./c bar + baz +foo ./d bar + baz +foo ./e bar + baz +foo ./f bar + baz +foo ./foo bar + baz +foo ./foo bar + baz +foo ./foo bar + baz +foo ./g bar + baz +foo ./h bar + baz +foo ./i bar + baz +foo ./j bar + baz +foo ./k bar + baz +foo ./l bar + baz diff --git a/tests/gnu/execdir_plus_semicolon.sh b/tests/gnu/execdir_plus_semicolon.sh new file mode 100644 index 0000000..c5cdafe --- /dev/null +++ b/tests/gnu/execdir_plus_semicolon.sh @@ -0,0 +1 @@ +bfs_diff basic -execdir echo foo {} bar + baz \; diff --git a/tests/gnu/execdir_substring.out b/tests/gnu/execdir_substring.out new file mode 100644 index 0000000..f7a9ac0 --- /dev/null +++ b/tests/gnu/execdir_substring.out @@ -0,0 +1,19 @@ +-./a- +-./b- +-./bar- +-./bar- +-./basic- +-./baz- +-./c- +-./d- +-./e- +-./f- +-./foo- +-./foo- +-./foo- +-./g- +-./h- +-./i- +-./j- +-./k- +-./l- diff --git a/tests/gnu/execdir_substring.sh b/tests/gnu/execdir_substring.sh new file mode 100644 index 0000000..feeabc4 --- /dev/null +++ b/tests/gnu/execdir_substring.sh @@ -0,0 +1 @@ +bfs_diff basic -execdir echo '-{}-' \; diff --git a/tests/gnu/executable.out b/tests/gnu/executable.out new file mode 100644 index 0000000..49c1b21 --- /dev/null +++ b/tests/gnu/executable.out @@ -0,0 +1,4 @@ +perms +perms/rwx +perms/rx +perms/wx diff --git a/tests/gnu/executable.sh b/tests/gnu/executable.sh new file mode 100644 index 0000000..f7f6633 --- /dev/null +++ b/tests/gnu/executable.sh @@ -0,0 +1 @@ +bfs_diff perms -executable diff --git a/tests/gnu/false.out b/tests/gnu/false.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/gnu/false.sh b/tests/gnu/false.sh new file mode 100644 index 0000000..89d86c2 --- /dev/null +++ b/tests/gnu/false.sh @@ -0,0 +1 @@ +bfs_diff basic -false diff --git a/tests/gnu/files0_from_empty.sh b/tests/gnu/files0_from_empty.sh new file mode 100644 index 0000000..bd4fbf4 --- /dev/null +++ b/tests/gnu/files0_from_empty.sh @@ -0,0 +1 @@ +printf "\0" | fail invoke_bfs -files0-from - diff --git a/tests/gnu/files0_from_file.out b/tests/gnu/files0_from_file.out new file mode 100644 index 0000000..1d87e6b --- /dev/null +++ b/tests/gnu/files0_from_file.out @@ -0,0 +1,33 @@ + + /j + /j +! +!- +!-/e +!-/e +!/d +!/d +( +(- +(-/c +(-/c +(/b +(/b +) +)/g +)/g +, +,/f +,/f +- +-/a +-/a +... +.../h +.../h +[ +[/k +[/k +\ +\/i +\/i diff --git a/tests/gnu/files0_from_file.sh b/tests/gnu/files0_from_file.sh new file mode 100644 index 0000000..7563149 --- /dev/null +++ b/tests/gnu/files0_from_file.sh @@ -0,0 +1,3 @@ +cd weirdnames +invoke_bfs -mindepth 1 -fprintf ../scratch/files0.in "%P\0" +bfs_diff -files0-from ../scratch/files0.in diff --git a/tests/gnu/files0_from_none.sh b/tests/gnu/files0_from_none.sh new file mode 100644 index 0000000..c6e5b97 --- /dev/null +++ b/tests/gnu/files0_from_none.sh @@ -0,0 +1 @@ +printf "" | fail invoke_bfs -files0-from - diff --git a/tests/gnu/files0_from_nothing.sh b/tests/gnu/files0_from_nothing.sh new file mode 100644 index 0000000..5fdae60 --- /dev/null +++ b/tests/gnu/files0_from_nothing.sh @@ -0,0 +1 @@ +fail invoke_bfs -files0-from basic/nonexistent diff --git a/tests/gnu/files0_from_nowhere.sh b/tests/gnu/files0_from_nowhere.sh new file mode 100644 index 0000000..2337613 --- /dev/null +++ b/tests/gnu/files0_from_nowhere.sh @@ -0,0 +1 @@ +fail invoke_bfs -files0-from diff --git a/tests/gnu/files0_from_ok.sh b/tests/gnu/files0_from_ok.sh new file mode 100644 index 0000000..5387e5c --- /dev/null +++ b/tests/gnu/files0_from_ok.sh @@ -0,0 +1 @@ +printf "basic\0" | fail invoke_bfs -files0-from - -ok echo {} \; diff --git a/tests/gnu/files0_from_stdin.out b/tests/gnu/files0_from_stdin.out new file mode 100644 index 0000000..1d87e6b --- /dev/null +++ b/tests/gnu/files0_from_stdin.out @@ -0,0 +1,33 @@ + + /j + /j +! +!- +!-/e +!-/e +!/d +!/d +( +(- +(-/c +(-/c +(/b +(/b +) +)/g +)/g +, +,/f +,/f +- +-/a +-/a +... +.../h +.../h +[ +[/k +[/k +\ +\/i +\/i diff --git a/tests/gnu/files0_from_stdin.sh b/tests/gnu/files0_from_stdin.sh new file mode 100644 index 0000000..9df7736 --- /dev/null +++ b/tests/gnu/files0_from_stdin.sh @@ -0,0 +1,2 @@ +cd weirdnames +invoke_bfs -mindepth 1 -printf "%P\0" | bfs_diff -files0-from - diff --git a/tests/gnu/fls.sh b/tests/gnu/fls.sh new file mode 100644 index 0000000..94e2c16 --- /dev/null +++ b/tests/gnu/fls.sh @@ -0,0 +1 @@ +invoke_bfs rainbow -fls scratch/fls.out diff --git a/tests/gnu/follow_comma.out b/tests/gnu/follow_comma.out new file mode 100644 index 0000000..920b3d3 --- /dev/null +++ b/tests/gnu/follow_comma.out @@ -0,0 +1,23 @@ +. +./ +./ /j +./! +./!- +./!-/e +./!/d +./( +./(- +./(-/c +./(/b +./) +./)/g +./, +./,/f +./- +./-/a +./... +./.../h +./[ +./[/k +./\ +./\/i diff --git a/tests/gnu/follow_comma.sh b/tests/gnu/follow_comma.sh new file mode 100644 index 0000000..f57b932 --- /dev/null +++ b/tests/gnu/follow_comma.sh @@ -0,0 +1,3 @@ +# , is an operator after a non-flag is seen +cd weirdnames +bfs_diff -follow ',' -print diff --git a/tests/gnu/fprint.out b/tests/gnu/fprint.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/fprint.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/fprint.sh b/tests/gnu/fprint.sh new file mode 100644 index 0000000..04b50fa --- /dev/null +++ b/tests/gnu/fprint.sh @@ -0,0 +1,3 @@ +invoke_bfs basic -fprint "$OUT" +sort_output +diff_output diff --git a/tests/gnu/fprint0.out b/tests/gnu/fprint0.out new file mode 100644 index 0000000..1347444 Binary files /dev/null and b/tests/gnu/fprint0.out differ diff --git a/tests/gnu/fprint0.sh b/tests/gnu/fprint0.sh new file mode 100644 index 0000000..dd10b5f --- /dev/null +++ b/tests/gnu/fprint0.sh @@ -0,0 +1,2 @@ +invoke_bfs basic/a basic/b -fprint0 "$OUT" +diff_output diff --git a/tests/gnu/fprint_duplicate.out b/tests/gnu/fprint_duplicate.out new file mode 100644 index 0000000..2575f35 --- /dev/null +++ b/tests/gnu/fprint_duplicate.out @@ -0,0 +1,57 @@ +basic +basic +basic +basic/a +basic/a +basic/a +basic/b +basic/b +basic/b +basic/c +basic/c +basic/c +basic/c/d +basic/c/d +basic/c/d +basic/e +basic/e +basic/e +basic/e/f +basic/e/f +basic/e/f +basic/g +basic/g +basic/g +basic/g/h +basic/g/h +basic/g/h +basic/i +basic/i +basic/i +basic/j +basic/j +basic/j +basic/j/foo +basic/j/foo +basic/j/foo +basic/k +basic/k +basic/k +basic/k/foo +basic/k/foo +basic/k/foo +basic/k/foo/bar +basic/k/foo/bar +basic/k/foo/bar +basic/l +basic/l +basic/l +basic/l/foo +basic/l/foo +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar +basic/l/foo/bar +basic/l/foo/bar/baz +basic/l/foo/bar/baz +basic/l/foo/bar/baz diff --git a/tests/gnu/fprint_duplicate.sh b/tests/gnu/fprint_duplicate.sh new file mode 100644 index 0000000..b4eb047 --- /dev/null +++ b/tests/gnu/fprint_duplicate.sh @@ -0,0 +1,7 @@ +touchp scratch/foo.out +ln scratch/foo.out scratch/foo.hard +ln -s foo.out scratch/foo.soft + +invoke_bfs basic -fprint scratch/foo.out -fprint scratch/foo.hard -fprint scratch/foo.soft +sort scratch/foo.out >"$OUT" +diff_output diff --git a/tests/gnu/fprint_error.sh b/tests/gnu/fprint_error.sh new file mode 100644 index 0000000..e7f2394 --- /dev/null +++ b/tests/gnu/fprint_error.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs basic -maxdepth 0 -fprint /dev/full diff --git a/tests/gnu/fprint_noarg.sh b/tests/gnu/fprint_noarg.sh new file mode 100644 index 0000000..bf772f3 --- /dev/null +++ b/tests/gnu/fprint_noarg.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -fprint diff --git a/tests/gnu/fprint_noerror.sh b/tests/gnu/fprint_noerror.sh new file mode 100644 index 0000000..142e935 --- /dev/null +++ b/tests/gnu/fprint_noerror.sh @@ -0,0 +1,3 @@ +# Regression test: /dev/full should not fail until actually written to +skip_unless test -e /dev/full +invoke_bfs basic -false -fprint /dev/full diff --git a/tests/gnu/fprint_nonexistent.sh b/tests/gnu/fprint_nonexistent.sh new file mode 100644 index 0000000..b6dac8a --- /dev/null +++ b/tests/gnu/fprint_nonexistent.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -fprint scratch/nonexistent/path diff --git a/tests/gnu/fprint_truncate.out b/tests/gnu/fprint_truncate.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/fprint_truncate.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/fprint_truncate.sh b/tests/gnu/fprint_truncate.sh new file mode 100644 index 0000000..db58a7a --- /dev/null +++ b/tests/gnu/fprint_truncate.sh @@ -0,0 +1,5 @@ +printf "basic\nbasic\n" >"$OUT" + +invoke_bfs basic -maxdepth 0 -fprint "$OUT" +sort_output +diff_output diff --git a/tests/gnu/fprintf.out b/tests/gnu/fprintf.out new file mode 100644 index 0000000..77ce17a --- /dev/null +++ b/tests/gnu/fprintf.out @@ -0,0 +1,19 @@ +%p(basic) %d(0) %f(basic) %h(.) %H(basic) %P() %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/a) %d(1) %f(a) %h(basic) %H(basic) %P(a) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/b) %d(1) %f(b) %h(basic) %H(basic) %P(b) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/c) %d(1) %f(c) %h(basic) %H(basic) %P(c) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/c/d) %d(2) %f(d) %h(basic/c) %H(basic) %P(c/d) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/e) %d(1) %f(e) %h(basic) %H(basic) %P(e) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/e/f) %d(2) %f(f) %h(basic/e) %H(basic) %P(e/f) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/g) %d(1) %f(g) %h(basic) %H(basic) %P(g) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/g/h) %d(2) %f(h) %h(basic/g) %H(basic) %P(g/h) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/i) %d(1) %f(i) %h(basic) %H(basic) %P(i) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/j) %d(1) %f(j) %h(basic) %H(basic) %P(j) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/j/foo) %d(2) %f(foo) %h(basic/j) %H(basic) %P(j/foo) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/k) %d(1) %f(k) %h(basic) %H(basic) %P(k) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/k/foo) %d(2) %f(foo) %h(basic/k) %H(basic) %P(k/foo) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/k/foo/bar) %d(3) %f(bar) %h(basic/k/foo) %H(basic) %P(k/foo/bar) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/l) %d(1) %f(l) %h(basic) %H(basic) %P(l) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/l/foo) %d(2) %f(foo) %h(basic/l) %H(basic) %P(l/foo) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/l/foo/bar) %d(3) %f(bar) %h(basic/l/foo) %H(basic) %P(l/foo/bar) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/l/foo/bar/baz) %d(4) %f(baz) %h(basic/l/foo/bar) %H(basic) %P(l/foo/bar/baz) %m(644) %M(-rw-r--r--) %y(f) diff --git a/tests/gnu/fprintf.sh b/tests/gnu/fprintf.sh new file mode 100644 index 0000000..9c6355a --- /dev/null +++ b/tests/gnu/fprintf.sh @@ -0,0 +1,3 @@ +invoke_bfs basic -fprintf "$OUT" '%%p(%p) %%d(%d) %%f(%f) %%h(%h) %%H(%H) %%P(%P) %%m(%m) %%M(%M) %%y(%y)\n' +sort_output +diff_output diff --git a/tests/gnu/fprintf_nofile.sh b/tests/gnu/fprintf_nofile.sh new file mode 100644 index 0000000..c2c48a5 --- /dev/null +++ b/tests/gnu/fprintf_nofile.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -fprintf diff --git a/tests/gnu/fprintf_noformat.sh b/tests/gnu/fprintf_noformat.sh new file mode 100644 index 0000000..0d285c3 --- /dev/null +++ b/tests/gnu/fprintf_noformat.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -fprintf /dev/null diff --git a/tests/gnu/fstype.out b/tests/gnu/fstype.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/fstype.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/fstype.sh b/tests/gnu/fstype.sh new file mode 100644 index 0000000..176688d --- /dev/null +++ b/tests/gnu/fstype.sh @@ -0,0 +1,2 @@ +fstype=$(invoke_bfs basic -maxdepth 0 -printf '%F\n') +bfs_diff basic -fstype "$fstype" diff --git a/tests/gnu/gid.out b/tests/gnu/gid.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/gid.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/gid.sh b/tests/gnu/gid.sh new file mode 100644 index 0000000..2707b4a --- /dev/null +++ b/tests/gnu/gid.sh @@ -0,0 +1 @@ +bfs_diff basic -gid "$(id -g)" diff --git a/tests/gnu/gid_minus.out b/tests/gnu/gid_minus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/gid_minus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/gid_minus.sh b/tests/gnu/gid_minus.sh new file mode 100644 index 0000000..e3822f0 --- /dev/null +++ b/tests/gnu/gid_minus.sh @@ -0,0 +1 @@ +bfs_diff basic -gid "-$(($(id -g) + 1))" diff --git a/tests/gnu/gid_minus_plus.out b/tests/gnu/gid_minus_plus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/gid_minus_plus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/gid_minus_plus.sh b/tests/gnu/gid_minus_plus.sh new file mode 100644 index 0000000..4ff0877 --- /dev/null +++ b/tests/gnu/gid_minus_plus.sh @@ -0,0 +1 @@ +bfs_diff basic -gid "-+$(($(id -g) + 1))" diff --git a/tests/gnu/gid_plus.out b/tests/gnu/gid_plus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/gid_plus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/gid_plus.sh b/tests/gnu/gid_plus.sh new file mode 100644 index 0000000..8ad493b --- /dev/null +++ b/tests/gnu/gid_plus.sh @@ -0,0 +1,2 @@ +skip_if test "$(id -g)" -eq 0 +bfs_diff basic -gid +0 diff --git a/tests/gnu/gid_plus_plus.out b/tests/gnu/gid_plus_plus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/gid_plus_plus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/gid_plus_plus.sh b/tests/gnu/gid_plus_plus.sh new file mode 100644 index 0000000..7982633 --- /dev/null +++ b/tests/gnu/gid_plus_plus.sh @@ -0,0 +1,2 @@ +skip_if test "$(id -g)" -eq 0 +bfs_diff basic -gid ++0 diff --git a/tests/gnu/ignore_readdir_race.sh b/tests/gnu/ignore_readdir_race.sh new file mode 100644 index 0000000..429933c --- /dev/null +++ b/tests/gnu/ignore_readdir_race.sh @@ -0,0 +1,5 @@ +rm -rf scratch/* +$TOUCH scratch/{foo,bar} + +# -links 1 forces a stat() call, which will fail for the second file +invoke_bfs scratch -mindepth 1 -ignore_readdir_race -links 1 -exec "$TESTS/remove-sibling.sh" {} \; diff --git a/tests/gnu/ignore_readdir_race_notdir.sh b/tests/gnu/ignore_readdir_race_notdir.sh new file mode 100644 index 0000000..0c3ff5d --- /dev/null +++ b/tests/gnu/ignore_readdir_race_notdir.sh @@ -0,0 +1,5 @@ +# Check -ignore_readdir_race handling when a directory is replaced with a file +rm -rf scratch/* +touchp scratch/foo/bar + +invoke_bfs scratch -mindepth 1 -ignore_readdir_race -execdir rm -r {} \; -execdir $TOUCH {} \; diff --git a/tests/gnu/ignore_readdir_race_root.sh b/tests/gnu/ignore_readdir_race_root.sh new file mode 100644 index 0000000..bad7391 --- /dev/null +++ b/tests/gnu/ignore_readdir_race_root.sh @@ -0,0 +1,2 @@ +# Make sure -ignore_readdir_race doesn't suppress ENOENT at the root +fail invoke_bfs basic/nonexistent -ignore_readdir_race diff --git a/tests/gnu/inum_automount.out b/tests/gnu/inum_automount.out new file mode 100644 index 0000000..99c7511 --- /dev/null +++ b/tests/gnu/inum_automount.out @@ -0,0 +1 @@ +scratch/mnt diff --git a/tests/gnu/inum_automount.sh b/tests/gnu/inum_automount.sh new file mode 100644 index 0000000..0149043 --- /dev/null +++ b/tests/gnu/inum_automount.sh @@ -0,0 +1,17 @@ +# bfs shouldn't trigger automounts unless it descends into them + +skip_unless test "$SUDO" +skip_unless command -v systemd-mount &>/dev/null + +rm -rf scratch/* +mkdir scratch/{foo,mnt} +skip_unless sudo systemd-mount -A -o bind basic scratch/mnt + +before=$(inum scratch/mnt) +bfs_diff scratch -inum "$before" -prune +ret=$? +after=$(inum scratch/mnt) + +sudo systemd-umount scratch/mnt + +((ret == 0 && before == after)) diff --git a/tests/gnu/iwholename.out b/tests/gnu/iwholename.out new file mode 100644 index 0000000..ae1ae21 --- /dev/null +++ b/tests/gnu/iwholename.out @@ -0,0 +1,7 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/iwholename.sh b/tests/gnu/iwholename.sh new file mode 100644 index 0000000..67e9630 --- /dev/null +++ b/tests/gnu/iwholename.sh @@ -0,0 +1,2 @@ +skip_unless invoke_bfs -quit -iwholename PATTERN +bfs_diff basic -iwholename 'basic/*F*' diff --git a/tests/gnu/not.out b/tests/gnu/not.out new file mode 100644 index 0000000..b286454 --- /dev/null +++ b/tests/gnu/not.out @@ -0,0 +1,16 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/k/foo/bar +basic/l +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/not.sh b/tests/gnu/not.sh new file mode 100644 index 0000000..9fa9edc --- /dev/null +++ b/tests/gnu/not.sh @@ -0,0 +1 @@ +bfs_diff basic -not -name foo diff --git a/tests/gnu/not_reachability.out b/tests/gnu/not_reachability.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/not_reachability.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/not_reachability.sh b/tests/gnu/not_reachability.sh new file mode 100644 index 0000000..7fd3c74 --- /dev/null +++ b/tests/gnu/not_reachability.sh @@ -0,0 +1 @@ +bfs_diff basic -print \! -quit -print diff --git a/tests/gnu/ok_nothing.sh b/tests/gnu/ok_nothing.sh new file mode 100644 index 0000000..439687b --- /dev/null +++ b/tests/gnu/ok_nothing.sh @@ -0,0 +1,2 @@ +# Regression test: don't segfault on missing command +fail invoke_bfs basic -ok \; diff --git a/tests/gnu/or.out b/tests/gnu/or.out new file mode 100644 index 0000000..1650c4d --- /dev/null +++ b/tests/gnu/or.out @@ -0,0 +1,13 @@ +basic +basic/c +basic/e +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/l +basic/l/foo +basic/l/foo/bar diff --git a/tests/gnu/or.sh b/tests/gnu/or.sh new file mode 100644 index 0000000..eb28030 --- /dev/null +++ b/tests/gnu/or.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -or -type d diff --git a/tests/gnu/path_d.out b/tests/gnu/path_d.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/path_d.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/path_d.sh b/tests/gnu/path_d.sh new file mode 100644 index 0000000..e546ff3 --- /dev/null +++ b/tests/gnu/path_d.sh @@ -0,0 +1 @@ +bfs_diff basic -d diff --git a/tests/gnu/perm_000_slash.out b/tests/gnu/perm_000_slash.out new file mode 100644 index 0000000..d7494b8 --- /dev/null +++ b/tests/gnu/perm_000_slash.out @@ -0,0 +1,8 @@ +perms +perms/0 +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/gnu/perm_000_slash.sh b/tests/gnu/perm_000_slash.sh new file mode 100644 index 0000000..f4b2665 --- /dev/null +++ b/tests/gnu/perm_000_slash.sh @@ -0,0 +1 @@ +bfs_diff perms -perm /000 diff --git a/tests/gnu/perm_222_slash.out b/tests/gnu/perm_222_slash.out new file mode 100644 index 0000000..9a5b95a --- /dev/null +++ b/tests/gnu/perm_222_slash.out @@ -0,0 +1,5 @@ +perms +perms/rw +perms/rwx +perms/w +perms/wx diff --git a/tests/gnu/perm_222_slash.sh b/tests/gnu/perm_222_slash.sh new file mode 100644 index 0000000..f4be665 --- /dev/null +++ b/tests/gnu/perm_222_slash.sh @@ -0,0 +1 @@ +bfs_diff perms -perm /222 diff --git a/tests/gnu/perm_644_slash.out b/tests/gnu/perm_644_slash.out new file mode 100644 index 0000000..7e5ae98 --- /dev/null +++ b/tests/gnu/perm_644_slash.out @@ -0,0 +1,7 @@ +perms +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/gnu/perm_644_slash.sh b/tests/gnu/perm_644_slash.sh new file mode 100644 index 0000000..e883f17 --- /dev/null +++ b/tests/gnu/perm_644_slash.sh @@ -0,0 +1 @@ +bfs_diff perms -perm /644 diff --git a/tests/gnu/perm_leading_plus_symbolic_slash.out b/tests/gnu/perm_leading_plus_symbolic_slash.out new file mode 100644 index 0000000..7e5ae98 --- /dev/null +++ b/tests/gnu/perm_leading_plus_symbolic_slash.out @@ -0,0 +1,7 @@ +perms +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/gnu/perm_leading_plus_symbolic_slash.sh b/tests/gnu/perm_leading_plus_symbolic_slash.sh new file mode 100644 index 0000000..3db27bd --- /dev/null +++ b/tests/gnu/perm_leading_plus_symbolic_slash.sh @@ -0,0 +1 @@ +bfs_diff perms -perm /+rwx diff --git a/tests/gnu/perm_symbolic_slash.out b/tests/gnu/perm_symbolic_slash.out new file mode 100644 index 0000000..7e5ae98 --- /dev/null +++ b/tests/gnu/perm_symbolic_slash.out @@ -0,0 +1,7 @@ +perms +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/gnu/perm_symbolic_slash.sh b/tests/gnu/perm_symbolic_slash.sh new file mode 100644 index 0000000..253b14e --- /dev/null +++ b/tests/gnu/perm_symbolic_slash.sh @@ -0,0 +1 @@ +bfs_diff perms -perm /a+r,u=wX,g+wX-w diff --git a/tests/gnu/precedence.out b/tests/gnu/precedence.out new file mode 100644 index 0000000..7f589f2 --- /dev/null +++ b/tests/gnu/precedence.out @@ -0,0 +1,4 @@ +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar/baz diff --git a/tests/gnu/precedence.sh b/tests/gnu/precedence.sh new file mode 100644 index 0000000..b35d160 --- /dev/null +++ b/tests/gnu/precedence.sh @@ -0,0 +1 @@ +bfs_diff basic \( -name foo -type d -o -name bar -a -type f \) -print , \! -empty -type f -print diff --git a/tests/gnu/print0.out b/tests/gnu/print0.out new file mode 100644 index 0000000..1347444 Binary files /dev/null and b/tests/gnu/print0.out differ diff --git a/tests/gnu/print0.sh b/tests/gnu/print0.sh new file mode 100644 index 0000000..b916172 --- /dev/null +++ b/tests/gnu/print0.sh @@ -0,0 +1,2 @@ +invoke_bfs basic/a basic/b -print0 >"$OUT" +diff_output diff --git a/tests/gnu/print_error.sh b/tests/gnu/print_error.sh new file mode 100644 index 0000000..9fd5af5 --- /dev/null +++ b/tests/gnu/print_error.sh @@ -0,0 +1,2 @@ +skip_unless test -e /dev/full +fail invoke_bfs basic -maxdepth 0 >/dev/full diff --git a/tests/gnu/printf.out b/tests/gnu/printf.out new file mode 100644 index 0000000..77ce17a --- /dev/null +++ b/tests/gnu/printf.out @@ -0,0 +1,19 @@ +%p(basic) %d(0) %f(basic) %h(.) %H(basic) %P() %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/a) %d(1) %f(a) %h(basic) %H(basic) %P(a) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/b) %d(1) %f(b) %h(basic) %H(basic) %P(b) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/c) %d(1) %f(c) %h(basic) %H(basic) %P(c) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/c/d) %d(2) %f(d) %h(basic/c) %H(basic) %P(c/d) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/e) %d(1) %f(e) %h(basic) %H(basic) %P(e) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/e/f) %d(2) %f(f) %h(basic/e) %H(basic) %P(e/f) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/g) %d(1) %f(g) %h(basic) %H(basic) %P(g) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/g/h) %d(2) %f(h) %h(basic/g) %H(basic) %P(g/h) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/i) %d(1) %f(i) %h(basic) %H(basic) %P(i) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/j) %d(1) %f(j) %h(basic) %H(basic) %P(j) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/j/foo) %d(2) %f(foo) %h(basic/j) %H(basic) %P(j/foo) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/k) %d(1) %f(k) %h(basic) %H(basic) %P(k) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/k/foo) %d(2) %f(foo) %h(basic/k) %H(basic) %P(k/foo) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/k/foo/bar) %d(3) %f(bar) %h(basic/k/foo) %H(basic) %P(k/foo/bar) %m(644) %M(-rw-r--r--) %y(f) +%p(basic/l) %d(1) %f(l) %h(basic) %H(basic) %P(l) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/l/foo) %d(2) %f(foo) %h(basic/l) %H(basic) %P(l/foo) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/l/foo/bar) %d(3) %f(bar) %h(basic/l/foo) %H(basic) %P(l/foo/bar) %m(755) %M(drwxr-xr-x) %y(d) +%p(basic/l/foo/bar/baz) %d(4) %f(baz) %h(basic/l/foo/bar) %H(basic) %P(l/foo/bar/baz) %m(644) %M(-rw-r--r--) %y(f) diff --git a/tests/gnu/printf.sh b/tests/gnu/printf.sh new file mode 100644 index 0000000..4dd48e8 --- /dev/null +++ b/tests/gnu/printf.sh @@ -0,0 +1 @@ +bfs_diff basic -printf '%%p(%p) %%d(%d) %%f(%f) %%h(%h) %%H(%H) %%P(%P) %%m(%m) %%M(%M) %%y(%y)\n' diff --git a/tests/gnu/printf_H.out b/tests/gnu/printf_H.out new file mode 100644 index 0000000..6b605ff --- /dev/null +++ b/tests/gnu/printf_H.out @@ -0,0 +1,32 @@ +%p(basic) %d(0) %f(basic) %h(.) %H(basic) %P() %y(d) +%p(basic/a) %d(1) %f(a) %h(basic) %H(basic) %P(a) %y(f) +%p(basic/b) %d(1) %f(b) %h(basic) %H(basic) %P(b) %y(f) +%p(basic/c) %d(1) %f(c) %h(basic) %H(basic) %P(c) %y(d) +%p(basic/c/d) %d(2) %f(d) %h(basic/c) %H(basic) %P(c/d) %y(f) +%p(basic/e) %d(1) %f(e) %h(basic) %H(basic) %P(e) %y(d) +%p(basic/e/f) %d(2) %f(f) %h(basic/e) %H(basic) %P(e/f) %y(f) +%p(basic/g) %d(1) %f(g) %h(basic) %H(basic) %P(g) %y(d) +%p(basic/g/h) %d(2) %f(h) %h(basic/g) %H(basic) %P(g/h) %y(d) +%p(basic/i) %d(1) %f(i) %h(basic) %H(basic) %P(i) %y(d) +%p(basic/j) %d(1) %f(j) %h(basic) %H(basic) %P(j) %y(d) +%p(basic/j/foo) %d(2) %f(foo) %h(basic/j) %H(basic) %P(j/foo) %y(f) +%p(basic/k) %d(1) %f(k) %h(basic) %H(basic) %P(k) %y(d) +%p(basic/k/foo) %d(2) %f(foo) %h(basic/k) %H(basic) %P(k/foo) %y(d) +%p(basic/k/foo/bar) %d(3) %f(bar) %h(basic/k/foo) %H(basic) %P(k/foo/bar) %y(f) +%p(basic/l) %d(1) %f(l) %h(basic) %H(basic) %P(l) %y(d) +%p(basic/l/foo) %d(2) %f(foo) %h(basic/l) %H(basic) %P(l/foo) %y(d) +%p(basic/l/foo/bar) %d(3) %f(bar) %h(basic/l/foo) %H(basic) %P(l/foo/bar) %y(d) +%p(basic/l/foo/bar/baz) %d(4) %f(baz) %h(basic/l/foo/bar) %H(basic) %P(l/foo/bar/baz) %y(f) +%p(links) %d(0) %f(links) %h(.) %H(links) %P() %y(d) +%p(links/broken) %d(1) %f(broken) %h(links) %H(links) %P(broken) %y(l) +%p(links/deeply) %d(1) %f(deeply) %h(links) %H(links) %P(deeply) %y(d) +%p(links/deeply/nested) %d(2) %f(nested) %h(links/deeply) %H(links) %P(deeply/nested) %y(d) +%p(links/deeply/nested/broken) %d(3) %f(broken) %h(links/deeply/nested) %H(links) %P(deeply/nested/broken) %y(l) +%p(links/deeply/nested/dir) %d(3) %f(dir) %h(links/deeply/nested) %H(links) %P(deeply/nested/dir) %y(d) +%p(links/deeply/nested/file) %d(3) %f(file) %h(links/deeply/nested) %H(links) %P(deeply/nested/file) %y(f) +%p(links/deeply/nested/link) %d(3) %f(link) %h(links/deeply/nested) %H(links) %P(deeply/nested/link) %y(l) +%p(links/file) %d(1) %f(file) %h(links) %H(links) %P(file) %y(f) +%p(links/hardlink) %d(1) %f(hardlink) %h(links) %H(links) %P(hardlink) %y(f) +%p(links/notdir) %d(1) %f(notdir) %h(links) %H(links) %P(notdir) %y(l) +%p(links/skip) %d(1) %f(skip) %h(links) %H(links) %P(skip) %y(l) +%p(links/symlink) %d(1) %f(symlink) %h(links) %H(links) %P(symlink) %y(l) diff --git a/tests/gnu/printf_H.sh b/tests/gnu/printf_H.sh new file mode 100644 index 0000000..ddef7e2 --- /dev/null +++ b/tests/gnu/printf_H.sh @@ -0,0 +1 @@ +bfs_diff basic links -printf '%%p(%p) %%d(%d) %%f(%f) %%h(%h) %%H(%H) %%P(%P) %%y(%y)\n' diff --git a/tests/gnu/printf_Y_error.out b/tests/gnu/printf_Y_error.out new file mode 100644 index 0000000..410a9b5 --- /dev/null +++ b/tests/gnu/printf_Y_error.out @@ -0,0 +1,3 @@ +(scratch) () d d +(scratch/bar) (foo/bar) l ? +(scratch/foo) () d d diff --git a/tests/gnu/printf_Y_error.sh b/tests/gnu/printf_Y_error.sh new file mode 100644 index 0000000..933c734 --- /dev/null +++ b/tests/gnu/printf_Y_error.sh @@ -0,0 +1,12 @@ +rm -rf scratch/* +mkdir scratch/foo +chmod -x scratch/foo +ln -s foo/bar scratch/bar + +bfs_diff scratch -printf '(%p) (%l) %y %Y\n' +ret=$? + +chmod +x scratch/foo +rm -rf scratch/* + +[ $ret -eq $EX_BFS ] diff --git a/tests/gnu/printf_empty.out b/tests/gnu/printf_empty.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/gnu/printf_empty.sh b/tests/gnu/printf_empty.sh new file mode 100644 index 0000000..ed5eb04 --- /dev/null +++ b/tests/gnu/printf_empty.sh @@ -0,0 +1 @@ +bfs_diff basic -printf '' diff --git a/tests/gnu/printf_escapes.out b/tests/gnu/printf_escapes.out new file mode 100644 index 0000000..20ea120 --- /dev/null +++ b/tests/gnu/printf_escapes.out @@ -0,0 +1 @@ +8 8I8I18 diff --git a/tests/gnu/printf_escapes.sh b/tests/gnu/printf_escapes.sh new file mode 100644 index 0000000..ece7c0e --- /dev/null +++ b/tests/gnu/printf_escapes.sh @@ -0,0 +1 @@ +bfs_diff basic -maxdepth 0 -printf '\18\118\1118\11118\n\cfoo' diff --git a/tests/gnu/printf_flags.out b/tests/gnu/printf_flags.out new file mode 100644 index 0000000..c2c1f0a --- /dev/null +++ b/tests/gnu/printf_flags.out @@ -0,0 +1,19 @@ +|basic | +00 0755 +|basic/a | +01 0644 +|basic/b | +01 0644 +|basic/c | +01 0755 +|basic/c/d | +02 0644 +|basic/e | +01 0755 +|basic/e/f | +02 0644 +|basic/g | +01 0755 +|basic/g/h | +02 0755 +|basic/i | +01 0755 +|basic/j | +01 0755 +|basic/j/fo| +02 0644 +|basic/k | +01 0755 +|basic/k/fo| +02 0755 +|basic/k/fo| +03 0644 +|basic/l | +01 0755 +|basic/l/fo| +02 0755 +|basic/l/fo| +03 0755 +|basic/l/fo| +04 0644 diff --git a/tests/gnu/printf_flags.sh b/tests/gnu/printf_flags.sh new file mode 100644 index 0000000..2ef37ad --- /dev/null +++ b/tests/gnu/printf_flags.sh @@ -0,0 +1 @@ +bfs_diff basic -printf '|%- 10.10p| %+03d %#4m\n' diff --git a/tests/gnu/printf_l_nonlink.out b/tests/gnu/printf_l_nonlink.out new file mode 100644 index 0000000..30df155 --- /dev/null +++ b/tests/gnu/printf_l_nonlink.out @@ -0,0 +1,13 @@ +| links -> | +| links/file -> | +| links/skip -> deeply/nested | +| links/broken -> nowhere | +| links/deeply -> | +| links/notdir -> symlink/file | +| links/symlink -> file | +| links/hardlink -> | +| links/deeply/nested -> | +| links/deeply/nested/dir -> | +| links/deeply/nested/file -> | +| links/deeply/nested/link -> file | +| links/deeply/nested/broken -> nowhere | diff --git a/tests/gnu/printf_l_nonlink.sh b/tests/gnu/printf_l_nonlink.sh new file mode 100644 index 0000000..1c66442 --- /dev/null +++ b/tests/gnu/printf_l_nonlink.sh @@ -0,0 +1 @@ +bfs_diff links -printf '| %26p -> %-26l |\n' diff --git a/tests/gnu/printf_leak.out b/tests/gnu/printf_leak.out new file mode 100644 index 0000000..15a13db --- /dev/null +++ b/tests/gnu/printf_leak.out @@ -0,0 +1 @@ +basic diff --git a/tests/gnu/printf_leak.sh b/tests/gnu/printf_leak.sh new file mode 100644 index 0000000..c4092c7 --- /dev/null +++ b/tests/gnu/printf_leak.sh @@ -0,0 +1,2 @@ +# Memory leak regression test +bfs_diff basic -maxdepth 0 -printf '%p' diff --git a/tests/gnu/printf_nul.out b/tests/gnu/printf_nul.out new file mode 100644 index 0000000..fdb6c6b Binary files /dev/null and b/tests/gnu/printf_nul.out differ diff --git a/tests/gnu/printf_nul.sh b/tests/gnu/printf_nul.sh new file mode 100644 index 0000000..0b8b928 --- /dev/null +++ b/tests/gnu/printf_nul.sh @@ -0,0 +1,3 @@ +# NUL byte regression test +invoke_bfs basic/a basic/b -maxdepth 0 -printf '%h\0%f\n' >"$OUT" +diff_output diff --git a/tests/gnu/printf_slash.out b/tests/gnu/printf_slash.out new file mode 100644 index 0000000..5571971 --- /dev/null +++ b/tests/gnu/printf_slash.out @@ -0,0 +1 @@ +(/)/(/) diff --git a/tests/gnu/printf_slash.sh b/tests/gnu/printf_slash.sh new file mode 100644 index 0000000..b64ff10 --- /dev/null +++ b/tests/gnu/printf_slash.sh @@ -0,0 +1 @@ +bfs_diff / -maxdepth 0 -printf '(%h)/(%f)\n' diff --git a/tests/gnu/printf_slashes.out b/tests/gnu/printf_slashes.out new file mode 100644 index 0000000..5571971 --- /dev/null +++ b/tests/gnu/printf_slashes.out @@ -0,0 +1 @@ +(/)/(/) diff --git a/tests/gnu/printf_slashes.sh b/tests/gnu/printf_slashes.sh new file mode 100644 index 0000000..d56a287 --- /dev/null +++ b/tests/gnu/printf_slashes.sh @@ -0,0 +1 @@ +bfs_diff /// -maxdepth 0 -printf '(%h)/(%f)\n' diff --git a/tests/gnu/printf_times.out b/tests/gnu/printf_times.out new file mode 100644 index 0000000..7e7d256 --- /dev/null +++ b/tests/gnu/printf_times.out @@ -0,0 +1,3 @@ +times/a | Sat Dec 14 00:00:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668800.0000000000 | Sat Dec 14 00:00:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668800.0000000000 +times/b | Sat Dec 14 00:01:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668860.0000000000 | Sat Dec 14 00:01:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668860.0000000000 +times/c | Sat Dec 14 00:02:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668920.0000000000 | Sat Dec 14 00:02:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668920.0000000000 diff --git a/tests/gnu/printf_times.sh b/tests/gnu/printf_times.sh new file mode 100644 index 0000000..d952620 --- /dev/null +++ b/tests/gnu/printf_times.sh @@ -0,0 +1 @@ +bfs_diff times -type f -printf '%p | %a %AY-%Am-%Ad %AH:%AI:%AS %T@ | %t %TY-%Tm-%Td %TH:%TI:%TS %T@\n' diff --git a/tests/gnu/printf_trailing_slash.out b/tests/gnu/printf_trailing_slash.out new file mode 100644 index 0000000..017ac0d --- /dev/null +++ b/tests/gnu/printf_trailing_slash.out @@ -0,0 +1,19 @@ +(.)/(basic/) +(basic)/(a) +(basic)/(b) +(basic)/(c) +(basic)/(e) +(basic)/(g) +(basic)/(i) +(basic)/(j) +(basic)/(k) +(basic)/(l) +(basic/c)/(d) +(basic/e)/(f) +(basic/g)/(h) +(basic/j)/(foo) +(basic/k)/(foo) +(basic/k/foo)/(bar) +(basic/l)/(foo) +(basic/l/foo)/(bar) +(basic/l/foo/bar)/(baz) diff --git a/tests/gnu/printf_trailing_slash.sh b/tests/gnu/printf_trailing_slash.sh new file mode 100644 index 0000000..2df818d --- /dev/null +++ b/tests/gnu/printf_trailing_slash.sh @@ -0,0 +1 @@ +bfs_diff basic/ -printf '(%h)/(%f)\n' diff --git a/tests/gnu/printf_trailing_slashes.out b/tests/gnu/printf_trailing_slashes.out new file mode 100644 index 0000000..fd27101 --- /dev/null +++ b/tests/gnu/printf_trailing_slashes.out @@ -0,0 +1,19 @@ +(.)/(basic///) +(basic//)/(a) +(basic//)/(b) +(basic//)/(c) +(basic//)/(e) +(basic//)/(g) +(basic//)/(i) +(basic//)/(j) +(basic//)/(k) +(basic//)/(l) +(basic///c)/(d) +(basic///e)/(f) +(basic///g)/(h) +(basic///j)/(foo) +(basic///k)/(foo) +(basic///k/foo)/(bar) +(basic///l)/(foo) +(basic///l/foo)/(bar) +(basic///l/foo/bar)/(baz) diff --git a/tests/gnu/printf_trailing_slashes.sh b/tests/gnu/printf_trailing_slashes.sh new file mode 100644 index 0000000..6dc532c --- /dev/null +++ b/tests/gnu/printf_trailing_slashes.sh @@ -0,0 +1 @@ +bfs_diff basic/// -printf '(%h)/(%f)\n' diff --git a/tests/gnu/printf_types.out b/tests/gnu/printf_types.out new file mode 100644 index 0000000..8144c7c --- /dev/null +++ b/tests/gnu/printf_types.out @@ -0,0 +1,11 @@ +(loops) () d d +(loops/broken) (nowhere) l N +(loops/deeply) () d d +(loops/deeply/nested) () d d +(loops/deeply/nested/dir) () d d +(loops/deeply/nested/loop) (../../deeply) l d +(loops/file) () f f +(loops/loop) (loop) l L +(loops/notdir) (symlink/file) l N +(loops/skip) (deeply/nested/loop/nested) l d +(loops/symlink) (file) l f diff --git a/tests/gnu/printf_types.sh b/tests/gnu/printf_types.sh new file mode 100644 index 0000000..6ed1d75 --- /dev/null +++ b/tests/gnu/printf_types.sh @@ -0,0 +1 @@ +bfs_diff loops -printf '(%p) (%l) %y %Y\n' diff --git a/tests/gnu/printf_u_g_ulimit.sh b/tests/gnu/printf_u_g_ulimit.sh new file mode 100644 index 0000000..a84ee29 --- /dev/null +++ b/tests/gnu/printf_u_g_ulimit.sh @@ -0,0 +1,3 @@ +closefrom 4 +ulimit -n 16 +[ "$(invoke_bfs deep -printf '%u %g\n' | uniq)" = "$(id -un) $(id -gn)" ] diff --git a/tests/gnu/readable.out b/tests/gnu/readable.out new file mode 100644 index 0000000..386feba --- /dev/null +++ b/tests/gnu/readable.out @@ -0,0 +1,5 @@ +perms +perms/r +perms/rw +perms/rwx +perms/rx diff --git a/tests/gnu/readable.sh b/tests/gnu/readable.sh new file mode 100644 index 0000000..a496667 --- /dev/null +++ b/tests/gnu/readable.sh @@ -0,0 +1 @@ +bfs_diff perms -readable diff --git a/tests/gnu/regex_error.sh b/tests/gnu/regex_error.sh new file mode 100644 index 0000000..9bd4c8d --- /dev/null +++ b/tests/gnu/regex_error.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -regex '[' diff --git a/tests/gnu/regex_invalid_utf8.out b/tests/gnu/regex_invalid_utf8.out new file mode 100644 index 0000000..03f3f58 --- /dev/null +++ b/tests/gnu/regex_invalid_utf8.out @@ -0,0 +1 @@ +scratch/â„ diff --git a/tests/gnu/regex_invalid_utf8.sh b/tests/gnu/regex_invalid_utf8.sh new file mode 100644 index 0000000..85f1897 --- /dev/null +++ b/tests/gnu/regex_invalid_utf8.sh @@ -0,0 +1,8 @@ +rm -rf scratch/* + +# Incomplete UTF-8 sequences +skip_unless touch scratch/$'\xC3' +skip_unless touch scratch/$'\xE2\x84' +skip_unless touch scratch/$'\xF0\x9F\x92' + +bfs_diff scratch -regex 'scratch/..' diff --git a/tests/gnu/regextype_ed.out b/tests/gnu/regextype_ed.out new file mode 100644 index 0000000..0f0971e --- /dev/null +++ b/tests/gnu/regextype_ed.out @@ -0,0 +1 @@ +./( diff --git a/tests/gnu/regextype_ed.sh b/tests/gnu/regextype_ed.sh new file mode 100644 index 0000000..0e92db3 --- /dev/null +++ b/tests/gnu/regextype_ed.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -regextype ed -regex '\./\((\)' diff --git a/tests/gnu/regextype_emacs.out b/tests/gnu/regextype_emacs.out new file mode 100644 index 0000000..95942b4 --- /dev/null +++ b/tests/gnu/regextype_emacs.out @@ -0,0 +1,6 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar diff --git a/tests/gnu/regextype_emacs.sh b/tests/gnu/regextype_emacs.sh new file mode 100644 index 0000000..d0f68cc --- /dev/null +++ b/tests/gnu/regextype_emacs.sh @@ -0,0 +1,3 @@ +skip_unless invoke_bfs -regextype emacs -quit + +bfs_diff basic -regextype emacs -regex '.*/\(f+o?o?\|bar\)' diff --git a/tests/gnu/regextype_grep.out b/tests/gnu/regextype_grep.out new file mode 100644 index 0000000..a9e5d42 --- /dev/null +++ b/tests/gnu/regextype_grep.out @@ -0,0 +1,4 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/gnu/regextype_grep.sh b/tests/gnu/regextype_grep.sh new file mode 100644 index 0000000..0136700 --- /dev/null +++ b/tests/gnu/regextype_grep.sh @@ -0,0 +1,3 @@ +skip_unless invoke_bfs -regextype grep -quit + +bfs_diff basic -regextype grep -regex '.*/f\+o\?o\?' diff --git a/tests/gnu/regextype_posix_basic.out b/tests/gnu/regextype_posix_basic.out new file mode 100644 index 0000000..0f0971e --- /dev/null +++ b/tests/gnu/regextype_posix_basic.out @@ -0,0 +1 @@ +./( diff --git a/tests/gnu/regextype_posix_basic.sh b/tests/gnu/regextype_posix_basic.sh new file mode 100644 index 0000000..fa2254c --- /dev/null +++ b/tests/gnu/regextype_posix_basic.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -regextype posix-basic -regex '\./\((\)' diff --git a/tests/gnu/regextype_posix_extended.out b/tests/gnu/regextype_posix_extended.out new file mode 100644 index 0000000..0f0971e --- /dev/null +++ b/tests/gnu/regextype_posix_extended.out @@ -0,0 +1 @@ +./( diff --git a/tests/gnu/regextype_posix_extended.sh b/tests/gnu/regextype_posix_extended.sh new file mode 100644 index 0000000..f82ed65 --- /dev/null +++ b/tests/gnu/regextype_posix_extended.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -regextype posix-extended -regex '\./(\()' diff --git a/tests/gnu/regextype_sed.out b/tests/gnu/regextype_sed.out new file mode 100644 index 0000000..0f0971e --- /dev/null +++ b/tests/gnu/regextype_sed.out @@ -0,0 +1 @@ +./( diff --git a/tests/gnu/regextype_sed.sh b/tests/gnu/regextype_sed.sh new file mode 100644 index 0000000..9ce6f4e --- /dev/null +++ b/tests/gnu/regextype_sed.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -regextype sed -regex '\./\((\)' diff --git a/tests/gnu/true.out b/tests/gnu/true.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/true.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/true.sh b/tests/gnu/true.sh new file mode 100644 index 0000000..65f3254 --- /dev/null +++ b/tests/gnu/true.sh @@ -0,0 +1 @@ +bfs_diff basic -true diff --git a/tests/gnu/uid.out b/tests/gnu/uid.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/uid.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/uid.sh b/tests/gnu/uid.sh new file mode 100644 index 0000000..fb3cd93 --- /dev/null +++ b/tests/gnu/uid.sh @@ -0,0 +1 @@ +bfs_diff basic -uid "$(id -u)" diff --git a/tests/gnu/uid_minus.out b/tests/gnu/uid_minus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/uid_minus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/uid_minus.sh b/tests/gnu/uid_minus.sh new file mode 100644 index 0000000..6d371f2 --- /dev/null +++ b/tests/gnu/uid_minus.sh @@ -0,0 +1 @@ +bfs_diff basic -uid "-$(($(id -u) + 1))" diff --git a/tests/gnu/uid_minus_plus.out b/tests/gnu/uid_minus_plus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/uid_minus_plus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/uid_minus_plus.sh b/tests/gnu/uid_minus_plus.sh new file mode 100644 index 0000000..e7a0496 --- /dev/null +++ b/tests/gnu/uid_minus_plus.sh @@ -0,0 +1 @@ +bfs_diff basic -uid "-+$(($(id -u) + 1))" diff --git a/tests/gnu/uid_plus.out b/tests/gnu/uid_plus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/uid_plus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/uid_plus.sh b/tests/gnu/uid_plus.sh new file mode 100644 index 0000000..fc4bce3 --- /dev/null +++ b/tests/gnu/uid_plus.sh @@ -0,0 +1,2 @@ +skip_if test "$(id -u)" -eq 0 +bfs_diff basic -uid +0 diff --git a/tests/gnu/uid_plus_plus.out b/tests/gnu/uid_plus_plus.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/gnu/uid_plus_plus.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/uid_plus_plus.sh b/tests/gnu/uid_plus_plus.sh new file mode 100644 index 0000000..5d5e086 --- /dev/null +++ b/tests/gnu/uid_plus_plus.sh @@ -0,0 +1,2 @@ +skip_if test "$(id -u)" -eq 0 +bfs_diff basic -uid ++0 diff --git a/tests/gnu/wholename.out b/tests/gnu/wholename.out new file mode 100644 index 0000000..ae1ae21 --- /dev/null +++ b/tests/gnu/wholename.out @@ -0,0 +1,7 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/gnu/wholename.sh b/tests/gnu/wholename.sh new file mode 100644 index 0000000..4c641b8 --- /dev/null +++ b/tests/gnu/wholename.sh @@ -0,0 +1 @@ +bfs_diff basic -wholename 'basic/*f*' diff --git a/tests/gnu/writable.out b/tests/gnu/writable.out new file mode 100644 index 0000000..9a5b95a --- /dev/null +++ b/tests/gnu/writable.out @@ -0,0 +1,5 @@ +perms +perms/rw +perms/rwx +perms/w +perms/wx diff --git a/tests/gnu/writable.sh b/tests/gnu/writable.sh new file mode 100644 index 0000000..93c666f --- /dev/null +++ b/tests/gnu/writable.sh @@ -0,0 +1 @@ +bfs_diff perms -writable diff --git a/tests/gnu/xtype_bind_mount.out b/tests/gnu/xtype_bind_mount.out new file mode 100644 index 0000000..16804ea --- /dev/null +++ b/tests/gnu/xtype_bind_mount.out @@ -0,0 +1,2 @@ +scratch/link +scratch/null diff --git a/tests/gnu/xtype_bind_mount.sh b/tests/gnu/xtype_bind_mount.sh new file mode 100644 index 0000000..56f9c5c --- /dev/null +++ b/tests/gnu/xtype_bind_mount.sh @@ -0,0 +1,13 @@ +skip_unless test "$SUDO" +skip_unless test "$UNAME" = "Linux" + +rm -rf scratch/* +$TOUCH scratch/{file,null} +sudo mount --bind /dev/null scratch/null +ln -s /dev/null scratch/link + +bfs_diff -L scratch -type c +ret=$? + +sudo umount scratch/null +return $ret diff --git a/tests/gnu/xtype_f.out b/tests/gnu/xtype_f.out new file mode 100644 index 0000000..e6ba322 --- /dev/null +++ b/tests/gnu/xtype_f.out @@ -0,0 +1,5 @@ +links/deeply/nested/file +links/deeply/nested/link +links/file +links/hardlink +links/symlink diff --git a/tests/gnu/xtype_f.sh b/tests/gnu/xtype_f.sh new file mode 100644 index 0000000..0ea27bb --- /dev/null +++ b/tests/gnu/xtype_f.sh @@ -0,0 +1 @@ +bfs_diff links -xtype f diff --git a/tests/gnu/xtype_l.out b/tests/gnu/xtype_l.out new file mode 100644 index 0000000..f29c978 --- /dev/null +++ b/tests/gnu/xtype_l.out @@ -0,0 +1,3 @@ +links/broken +links/deeply/nested/broken +links/notdir diff --git a/tests/gnu/xtype_l.sh b/tests/gnu/xtype_l.sh new file mode 100644 index 0000000..39c8ea4 --- /dev/null +++ b/tests/gnu/xtype_l.sh @@ -0,0 +1 @@ +bfs_diff links -xtype l diff --git a/tests/posix/H.out b/tests/posix/H.out new file mode 100644 index 0000000..ff635ff --- /dev/null +++ b/tests/posix/H.out @@ -0,0 +1 @@ +links/deeply/nested/dir diff --git a/tests/posix/H.sh b/tests/posix/H.sh new file mode 100644 index 0000000..5bae1be --- /dev/null +++ b/tests/posix/H.sh @@ -0,0 +1 @@ +bfs_diff -H links/deeply/nested/dir diff --git a/tests/posix/H_broken.out b/tests/posix/H_broken.out new file mode 100644 index 0000000..21d6316 --- /dev/null +++ b/tests/posix/H_broken.out @@ -0,0 +1 @@ +links/broken diff --git a/tests/posix/H_broken.sh b/tests/posix/H_broken.sh new file mode 100644 index 0000000..9ff761c --- /dev/null +++ b/tests/posix/H_broken.sh @@ -0,0 +1 @@ +bfs_diff -H links/broken diff --git a/tests/posix/H_loops.out b/tests/posix/H_loops.out new file mode 100644 index 0000000..1fc8f8f --- /dev/null +++ b/tests/posix/H_loops.out @@ -0,0 +1,4 @@ +loops/deeply/nested/loop +loops/deeply/nested/loop/nested +loops/deeply/nested/loop/nested/dir +loops/deeply/nested/loop/nested/loop diff --git a/tests/posix/H_loops.sh b/tests/posix/H_loops.sh new file mode 100644 index 0000000..90383b8 --- /dev/null +++ b/tests/posix/H_loops.sh @@ -0,0 +1 @@ +bfs_diff -H loops/deeply/nested/loop diff --git a/tests/posix/H_notdir.out b/tests/posix/H_notdir.out new file mode 100644 index 0000000..6e6658d --- /dev/null +++ b/tests/posix/H_notdir.out @@ -0,0 +1 @@ +links/notdir diff --git a/tests/posix/H_notdir.sh b/tests/posix/H_notdir.sh new file mode 100644 index 0000000..68d7be7 --- /dev/null +++ b/tests/posix/H_notdir.sh @@ -0,0 +1 @@ +bfs_diff -H links/notdir diff --git a/tests/posix/H_slash.out b/tests/posix/H_slash.out new file mode 100644 index 0000000..df7701b --- /dev/null +++ b/tests/posix/H_slash.out @@ -0,0 +1 @@ +links/deeply/nested/dir/ diff --git a/tests/posix/H_slash.sh b/tests/posix/H_slash.sh new file mode 100644 index 0000000..b44d756 --- /dev/null +++ b/tests/posix/H_slash.sh @@ -0,0 +1 @@ +bfs_diff -H links/deeply/nested/dir/ diff --git a/tests/posix/H_type_l.out b/tests/posix/H_type_l.out new file mode 100644 index 0000000..e67f10b --- /dev/null +++ b/tests/posix/H_type_l.out @@ -0,0 +1,2 @@ +links/skip/broken +links/skip/link diff --git a/tests/posix/H_type_l.sh b/tests/posix/H_type_l.sh new file mode 100644 index 0000000..416a53e --- /dev/null +++ b/tests/posix/H_type_l.sh @@ -0,0 +1 @@ +bfs_diff -H links/skip -type l diff --git a/tests/posix/L.out b/tests/posix/L.out new file mode 100644 index 0000000..ec9e861 --- /dev/null +++ b/tests/posix/L.out @@ -0,0 +1,17 @@ +links +links/broken +links/deeply +links/deeply/nested +links/deeply/nested/broken +links/deeply/nested/dir +links/deeply/nested/file +links/deeply/nested/link +links/file +links/hardlink +links/notdir +links/skip +links/skip/broken +links/skip/dir +links/skip/file +links/skip/link +links/symlink diff --git a/tests/posix/L.sh b/tests/posix/L.sh new file mode 100644 index 0000000..d8aebe6 --- /dev/null +++ b/tests/posix/L.sh @@ -0,0 +1 @@ +bfs_diff -L links diff --git a/tests/posix/L_broken.out b/tests/posix/L_broken.out new file mode 100644 index 0000000..21d6316 --- /dev/null +++ b/tests/posix/L_broken.out @@ -0,0 +1 @@ +links/broken diff --git a/tests/posix/L_broken.sh b/tests/posix/L_broken.sh new file mode 100644 index 0000000..9ff761c --- /dev/null +++ b/tests/posix/L_broken.sh @@ -0,0 +1 @@ +bfs_diff -H links/broken diff --git a/tests/posix/L_depth.out b/tests/posix/L_depth.out new file mode 100644 index 0000000..ec9e861 --- /dev/null +++ b/tests/posix/L_depth.out @@ -0,0 +1,17 @@ +links +links/broken +links/deeply +links/deeply/nested +links/deeply/nested/broken +links/deeply/nested/dir +links/deeply/nested/file +links/deeply/nested/link +links/file +links/hardlink +links/notdir +links/skip +links/skip/broken +links/skip/dir +links/skip/file +links/skip/link +links/symlink diff --git a/tests/posix/L_depth.sh b/tests/posix/L_depth.sh new file mode 100644 index 0000000..59d7ee9 --- /dev/null +++ b/tests/posix/L_depth.sh @@ -0,0 +1 @@ +bfs_diff -L links -depth diff --git a/tests/posix/L_loops.sh b/tests/posix/L_loops.sh new file mode 100644 index 0000000..f737cea --- /dev/null +++ b/tests/posix/L_loops.sh @@ -0,0 +1,4 @@ +# POSIX says it's okay to either stop or keep going on seeing a filesystem +# loop, as long as a diagnostic is printed +errors=$(invoke_bfs -L loops 2>&1 >/dev/null) +[ -n "$errors" ] diff --git a/tests/posix/L_notdir.out b/tests/posix/L_notdir.out new file mode 100644 index 0000000..6e6658d --- /dev/null +++ b/tests/posix/L_notdir.out @@ -0,0 +1 @@ +links/notdir diff --git a/tests/posix/L_notdir.sh b/tests/posix/L_notdir.sh new file mode 100644 index 0000000..68d7be7 --- /dev/null +++ b/tests/posix/L_notdir.sh @@ -0,0 +1 @@ +bfs_diff -H links/notdir diff --git a/tests/posix/L_type_l.out b/tests/posix/L_type_l.out new file mode 100644 index 0000000..725d398 --- /dev/null +++ b/tests/posix/L_type_l.out @@ -0,0 +1 @@ +links/skip/broken diff --git a/tests/posix/L_type_l.sh b/tests/posix/L_type_l.sh new file mode 100644 index 0000000..ee9e563 --- /dev/null +++ b/tests/posix/L_type_l.sh @@ -0,0 +1 @@ +bfs_diff -L links/skip -type l diff --git a/tests/posix/L_xdev.out b/tests/posix/L_xdev.out new file mode 100644 index 0000000..2e80082 --- /dev/null +++ b/tests/posix/L_xdev.out @@ -0,0 +1,5 @@ +scratch +scratch/foo +scratch/foo/bar +scratch/foo/qux +scratch/mnt diff --git a/tests/posix/L_xdev.sh b/tests/posix/L_xdev.sh new file mode 100644 index 0000000..f0ba120 --- /dev/null +++ b/tests/posix/L_xdev.sh @@ -0,0 +1,15 @@ +skip_unless test "$SUDO" +skip_if test "$UNAME" = "Darwin" + +rm -rf scratch/* +mkdir scratch/{foo,mnt} +sudo mount -t tmpfs tmpfs scratch/mnt +ln -s ../mnt scratch/foo/bar +$TOUCH scratch/mnt/baz +ln -s ../mnt/baz scratch/foo/qux + +bfs_diff -L scratch -xdev +ret=$? + +sudo umount scratch/mnt +return $ret diff --git a/tests/posix/a.out b/tests/posix/a.out new file mode 100644 index 0000000..722962c --- /dev/null +++ b/tests/posix/a.out @@ -0,0 +1,2 @@ +basic/k/foo +basic/l/foo diff --git a/tests/posix/a.sh b/tests/posix/a.sh new file mode 100644 index 0000000..7d82d88 --- /dev/null +++ b/tests/posix/a.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -a -type d diff --git a/tests/posix/bang.out b/tests/posix/bang.out new file mode 100644 index 0000000..b286454 --- /dev/null +++ b/tests/posix/bang.out @@ -0,0 +1,16 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/k/foo/bar +basic/l +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/bang.sh b/tests/posix/bang.sh new file mode 100644 index 0000000..27840cd --- /dev/null +++ b/tests/posix/bang.sh @@ -0,0 +1 @@ +bfs_diff basic \! -name foo diff --git a/tests/posix/basic.out b/tests/posix/basic.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/basic.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/basic.sh b/tests/posix/basic.sh new file mode 100644 index 0000000..3d43529 --- /dev/null +++ b/tests/posix/basic.sh @@ -0,0 +1 @@ +bfs_diff basic diff --git a/tests/posix/closed_stderr.sh b/tests/posix/closed_stderr.sh new file mode 100644 index 0000000..cc746ef --- /dev/null +++ b/tests/posix/closed_stderr.sh @@ -0,0 +1 @@ +fail invoke_bfs basic >&- 2>&- diff --git a/tests/posix/closed_stdin.out b/tests/posix/closed_stdin.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/closed_stdin.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/closed_stdin.sh b/tests/posix/closed_stdin.sh new file mode 100644 index 0000000..6932be8 --- /dev/null +++ b/tests/posix/closed_stdin.sh @@ -0,0 +1 @@ +bfs_diff basic <&- diff --git a/tests/posix/closed_stdout.sh b/tests/posix/closed_stdout.sh new file mode 100644 index 0000000..446bf56 --- /dev/null +++ b/tests/posix/closed_stdout.sh @@ -0,0 +1 @@ +fail invoke_bfs basic >&- diff --git a/tests/posix/data_flow_and_swap.out b/tests/posix/data_flow_and_swap.out new file mode 100644 index 0000000..e604709 --- /dev/null +++ b/tests/posix/data_flow_and_swap.out @@ -0,0 +1,12 @@ +basic +basic/c +basic/e +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/k/foo +basic/l +basic/l/foo +basic/l/foo/bar diff --git a/tests/posix/data_flow_and_swap.sh b/tests/posix/data_flow_and_swap.sh new file mode 100644 index 0000000..9a141af --- /dev/null +++ b/tests/posix/data_flow_and_swap.sh @@ -0,0 +1 @@ +bfs_diff basic \! -type f -a -type d diff --git a/tests/posix/data_flow_group.out b/tests/posix/data_flow_group.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/data_flow_group.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/data_flow_group.sh b/tests/posix/data_flow_group.sh new file mode 100644 index 0000000..453dc3e --- /dev/null +++ b/tests/posix/data_flow_group.sh @@ -0,0 +1 @@ +bfs_diff basic \( -group "$(id -g)" -nogroup \) -o \( -group "$(id -g)" -o -nogroup \) diff --git a/tests/posix/data_flow_or_swap.out b/tests/posix/data_flow_or_swap.out new file mode 100644 index 0000000..e604709 --- /dev/null +++ b/tests/posix/data_flow_or_swap.out @@ -0,0 +1,12 @@ +basic +basic/c +basic/e +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/k/foo +basic/l +basic/l/foo +basic/l/foo/bar diff --git a/tests/posix/data_flow_or_swap.sh b/tests/posix/data_flow_or_swap.sh new file mode 100644 index 0000000..e8f504b --- /dev/null +++ b/tests/posix/data_flow_or_swap.sh @@ -0,0 +1 @@ +bfs_diff basic \! \( -type f -o \! -type d \) diff --git a/tests/posix/data_flow_type.out b/tests/posix/data_flow_type.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/data_flow_type.sh b/tests/posix/data_flow_type.sh new file mode 100644 index 0000000..33339df --- /dev/null +++ b/tests/posix/data_flow_type.sh @@ -0,0 +1 @@ +bfs_diff basic \! \( -type f -o \! -type f \) diff --git a/tests/posix/data_flow_user.out b/tests/posix/data_flow_user.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/data_flow_user.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/data_flow_user.sh b/tests/posix/data_flow_user.sh new file mode 100644 index 0000000..44b6e1f --- /dev/null +++ b/tests/posix/data_flow_user.sh @@ -0,0 +1 @@ +bfs_diff basic \( -user "$(id -u)" -nouser \) -o \( -user "$(id -u)" -o -nouser \) diff --git a/tests/posix/de_morgan_and.out b/tests/posix/de_morgan_and.out new file mode 100644 index 0000000..7b7afd2 --- /dev/null +++ b/tests/posix/de_morgan_and.out @@ -0,0 +1,10 @@ +basic +basic/c +basic/e +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/l +basic/l/foo/bar diff --git a/tests/posix/de_morgan_and.sh b/tests/posix/de_morgan_and.sh new file mode 100644 index 0000000..d52975e --- /dev/null +++ b/tests/posix/de_morgan_and.sh @@ -0,0 +1 @@ +bfs_diff basic \( \! -name 'foo' -a \! -type f \) diff --git a/tests/posix/de_morgan_not.out b/tests/posix/de_morgan_not.out new file mode 100644 index 0000000..5916da3 --- /dev/null +++ b/tests/posix/de_morgan_not.out @@ -0,0 +1,6 @@ +basic/a +basic/b +basic/c/d +basic/e/f +basic/k/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/de_morgan_not.sh b/tests/posix/de_morgan_not.sh new file mode 100644 index 0000000..7393ce0 --- /dev/null +++ b/tests/posix/de_morgan_not.sh @@ -0,0 +1 @@ +bfs_diff basic \! \( -name 'foo' -o \! -type f \) diff --git a/tests/posix/de_morgan_or.out b/tests/posix/de_morgan_or.out new file mode 100644 index 0000000..2a57066 --- /dev/null +++ b/tests/posix/de_morgan_or.out @@ -0,0 +1,18 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/de_morgan_or.sh b/tests/posix/de_morgan_or.sh new file mode 100644 index 0000000..378aab2 --- /dev/null +++ b/tests/posix/de_morgan_or.sh @@ -0,0 +1 @@ +bfs_diff basic \( \! -name 'foo' -o \! -type f \) diff --git a/tests/posix/deep.out b/tests/posix/deep.out new file mode 100644 index 0000000..c385fce --- /dev/null +++ b/tests/posix/deep.out @@ -0,0 +1,16 @@ +deep/0/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/1/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/2/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/3/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/4/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/5/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/6/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/7/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/8/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/9/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/A/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/B/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/C/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/D/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/E/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) +deep/F/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) diff --git a/tests/posix/deep.sh b/tests/posix/deep.sh new file mode 100644 index 0000000..3d1cd60 --- /dev/null +++ b/tests/posix/deep.sh @@ -0,0 +1,4 @@ +closefrom 4 + +ulimit -n 16 +bfs_diff deep -type f -exec bash -c 'echo "${1:0:6}/.../${1##*/} (${#1})"' bash {} \; diff --git a/tests/posix/depth.out b/tests/posix/depth.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/depth.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/depth.sh b/tests/posix/depth.sh new file mode 100644 index 0000000..444eba5 --- /dev/null +++ b/tests/posix/depth.sh @@ -0,0 +1 @@ +bfs_diff basic -depth diff --git a/tests/posix/depth_error.out b/tests/posix/depth_error.out new file mode 100644 index 0000000..ed0e9a1 --- /dev/null +++ b/tests/posix/depth_error.out @@ -0,0 +1,2 @@ +scratch +scratch/foo diff --git a/tests/posix/depth_error.sh b/tests/posix/depth_error.sh new file mode 100644 index 0000000..9acf976 --- /dev/null +++ b/tests/posix/depth_error.sh @@ -0,0 +1,11 @@ +rm -rf scratch/* +touchp scratch/foo/bar +chmod a-r scratch/foo + +bfs_diff scratch -depth +ret=$? + +chmod +r scratch/foo +rm -rf scratch/* + +[ $ret -eq $EX_BFS ] diff --git a/tests/posix/depth_slash.out b/tests/posix/depth_slash.out new file mode 100644 index 0000000..77526d5 --- /dev/null +++ b/tests/posix/depth_slash.out @@ -0,0 +1,19 @@ +basic/ +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/depth_slash.sh b/tests/posix/depth_slash.sh new file mode 100644 index 0000000..f73e9f1 --- /dev/null +++ b/tests/posix/depth_slash.sh @@ -0,0 +1 @@ +bfs_diff basic/ -depth diff --git a/tests/posix/double_negation.out b/tests/posix/double_negation.out new file mode 100644 index 0000000..e9d47b1 --- /dev/null +++ b/tests/posix/double_negation.out @@ -0,0 +1,3 @@ +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/posix/double_negation.sh b/tests/posix/double_negation.sh new file mode 100644 index 0000000..eefe464 --- /dev/null +++ b/tests/posix/double_negation.sh @@ -0,0 +1 @@ +bfs_diff basic \! \! -name 'foo' diff --git a/tests/posix/exec.out b/tests/posix/exec.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/exec.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/exec.sh b/tests/posix/exec.sh new file mode 100644 index 0000000..96c897b --- /dev/null +++ b/tests/posix/exec.sh @@ -0,0 +1 @@ +bfs_diff basic -exec echo {} \; diff --git a/tests/posix/exec_nonexistent.out b/tests/posix/exec_nonexistent.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/exec_nonexistent.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/exec_nonexistent.sh b/tests/posix/exec_nonexistent.sh new file mode 100644 index 0000000..b4e08e0 --- /dev/null +++ b/tests/posix/exec_nonexistent.sh @@ -0,0 +1,8 @@ +# Failure to execute the command should lead to an error message and +# non-zero exit status. See https://unix.stackexchange.com/q/704522/56202 + +stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} \; 2>&1 >/dev/null) +[ -n "$stderr" ] || return 1 + +bfs_diff basic -print -exec "$TESTS/nonexistent" {} \; -print +(($? == EX_BFS)) diff --git a/tests/posix/exec_nopath.out b/tests/posix/exec_nopath.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/exec_nopath.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/exec_nopath.sh b/tests/posix/exec_nopath.sh new file mode 100644 index 0000000..6e05d2e --- /dev/null +++ b/tests/posix/exec_nopath.sh @@ -0,0 +1,7 @@ +( + unset PATH + invoke_bfs basic -exec echo {} \; >"$OUT" +) + +sort_output +diff_output diff --git a/tests/posix/exec_plus.out b/tests/posix/exec_plus.out new file mode 100644 index 0000000..f6b423b --- /dev/null +++ b/tests/posix/exec_plus.out @@ -0,0 +1 @@ +basic basic/a basic/b basic/c basic/c/d basic/e basic/e/f basic/g basic/g/h basic/i basic/j basic/j/foo basic/k basic/k/foo basic/k/foo/bar basic/l basic/l/foo basic/l/foo/bar basic/l/foo/bar/baz diff --git a/tests/posix/exec_plus.sh b/tests/posix/exec_plus.sh new file mode 100644 index 0000000..56a93f1 --- /dev/null +++ b/tests/posix/exec_plus.sh @@ -0,0 +1 @@ +bfs_diff basic -exec "$TESTS/sort-args.sh" {} + diff --git a/tests/posix/exec_plus_nonexistent.out b/tests/posix/exec_plus_nonexistent.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/exec_plus_nonexistent.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/exec_plus_nonexistent.sh b/tests/posix/exec_plus_nonexistent.sh new file mode 100644 index 0000000..f96099e --- /dev/null +++ b/tests/posix/exec_plus_nonexistent.sh @@ -0,0 +1,5 @@ +stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} + 2>&1 >/dev/null) +[ -n "$stderr" ] || return 1 + +bfs_diff basic -exec "$TESTS/nonexistent" {} + -print +(($? == EX_BFS)) diff --git a/tests/posix/exec_plus_semicolon.out b/tests/posix/exec_plus_semicolon.out new file mode 100644 index 0000000..f33c48f --- /dev/null +++ b/tests/posix/exec_plus_semicolon.out @@ -0,0 +1,19 @@ +foo basic bar + baz +foo basic/a bar + baz +foo basic/b bar + baz +foo basic/c bar + baz +foo basic/c/d bar + baz +foo basic/e bar + baz +foo basic/e/f bar + baz +foo basic/g bar + baz +foo basic/g/h bar + baz +foo basic/i bar + baz +foo basic/j bar + baz +foo basic/j/foo bar + baz +foo basic/k bar + baz +foo basic/k/foo bar + baz +foo basic/k/foo/bar bar + baz +foo basic/l bar + baz +foo basic/l/foo bar + baz +foo basic/l/foo/bar bar + baz +foo basic/l/foo/bar/baz bar + baz diff --git a/tests/posix/exec_plus_semicolon.sh b/tests/posix/exec_plus_semicolon.sh new file mode 100644 index 0000000..449a3f9 --- /dev/null +++ b/tests/posix/exec_plus_semicolon.sh @@ -0,0 +1,5 @@ +# POSIX says: +# Only a that immediately follows an argument containing only the two characters "{}" +# shall punctuate the end of the primary expression. Other uses of the shall not be +# treated as special. +bfs_diff basic -exec echo foo {} bar + baz \; diff --git a/tests/posix/exec_plus_status.out b/tests/posix/exec_plus_status.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/exec_plus_status.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/exec_plus_status.sh b/tests/posix/exec_plus_status.sh new file mode 100644 index 0000000..ea9e5ef --- /dev/null +++ b/tests/posix/exec_plus_status.sh @@ -0,0 +1,4 @@ +# -exec ... {} + should always return true, but if the command fails, bfs +# should exit with a non-zero status +bfs_diff basic -exec false {} + -print +(($? == EX_BFS)) diff --git a/tests/posix/extra_paren.sh b/tests/posix/extra_paren.sh new file mode 100644 index 0000000..cd8e8f8 --- /dev/null +++ b/tests/posix/extra_paren.sh @@ -0,0 +1 @@ +fail invoke_bfs basic -print \) diff --git a/tests/posix/flag_comma.out b/tests/posix/flag_comma.out new file mode 100644 index 0000000..3574388 --- /dev/null +++ b/tests/posix/flag_comma.out @@ -0,0 +1,2 @@ +, +,/f diff --git a/tests/posix/flag_comma.sh b/tests/posix/flag_comma.sh new file mode 100644 index 0000000..cec87e7 --- /dev/null +++ b/tests/posix/flag_comma.sh @@ -0,0 +1,3 @@ +# , is a filename until a non-flag is seen +cd weirdnames +bfs_diff -L ',' -print diff --git a/tests/posix/flag_weird_names.out b/tests/posix/flag_weird_names.out new file mode 100644 index 0000000..c395659 --- /dev/null +++ b/tests/posix/flag_weird_names.out @@ -0,0 +1,28 @@ +!- +!- +!-/e +!-/e +(- +(- +(-/c +(-/c +) +) +)/g +)/g +, +, +,/f +,/f +- +- +-/a +-/a +./! +./! +./!/d +./!/d +./( +./( +./(/b +./(/b diff --git a/tests/posix/flag_weird_names.sh b/tests/posix/flag_weird_names.sh new file mode 100644 index 0000000..f6596e9 --- /dev/null +++ b/tests/posix/flag_weird_names.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff -L '-' '(-' '!-' ',' ')' './(' './!' \( \! -print -o -print \) diff --git a/tests/posix/group_id.out b/tests/posix/group_id.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/group_id.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/group_id.sh b/tests/posix/group_id.sh new file mode 100644 index 0000000..2ff7bb3 --- /dev/null +++ b/tests/posix/group_id.sh @@ -0,0 +1 @@ +bfs_diff basic -group "$(id -g)" diff --git a/tests/posix/group_name.out b/tests/posix/group_name.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/group_name.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/group_name.sh b/tests/posix/group_name.sh new file mode 100644 index 0000000..36799d9 --- /dev/null +++ b/tests/posix/group_name.sh @@ -0,0 +1 @@ +bfs_diff basic -group "$(id -gn)" diff --git a/tests/posix/group_nogroup.out b/tests/posix/group_nogroup.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/group_nogroup.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/group_nogroup.sh b/tests/posix/group_nogroup.sh new file mode 100644 index 0000000..cbd1ffc --- /dev/null +++ b/tests/posix/group_nogroup.sh @@ -0,0 +1,2 @@ +# Regression test: this was wrongly optimized to -false +bfs_diff basic -group "$(id -g)" \! -nogroup diff --git a/tests/posix/implicit_and.out b/tests/posix/implicit_and.out new file mode 100644 index 0000000..722962c --- /dev/null +++ b/tests/posix/implicit_and.out @@ -0,0 +1,2 @@ +basic/k/foo +basic/l/foo diff --git a/tests/posix/implicit_and.sh b/tests/posix/implicit_and.sh new file mode 100644 index 0000000..161ab0b --- /dev/null +++ b/tests/posix/implicit_and.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -type d diff --git a/tests/posix/incomplete.sh b/tests/posix/incomplete.sh new file mode 100644 index 0000000..07b1b61 --- /dev/null +++ b/tests/posix/incomplete.sh @@ -0,0 +1 @@ +fail invoke_bfs basic \( diff --git a/tests/posix/links.out b/tests/posix/links.out new file mode 100644 index 0000000..996ffc8 --- /dev/null +++ b/tests/posix/links.out @@ -0,0 +1,2 @@ +links/file +links/hardlink diff --git a/tests/posix/links.sh b/tests/posix/links.sh new file mode 100644 index 0000000..3d8ad80 --- /dev/null +++ b/tests/posix/links.sh @@ -0,0 +1 @@ +bfs_diff links -type f -links 2 diff --git a/tests/posix/links_minus.out b/tests/posix/links_minus.out new file mode 100644 index 0000000..eda26f1 --- /dev/null +++ b/tests/posix/links_minus.out @@ -0,0 +1 @@ +links/deeply/nested/file diff --git a/tests/posix/links_minus.sh b/tests/posix/links_minus.sh new file mode 100644 index 0000000..3ee0803 --- /dev/null +++ b/tests/posix/links_minus.sh @@ -0,0 +1 @@ +bfs_diff links -type f -links -2 diff --git a/tests/posix/links_plus.out b/tests/posix/links_plus.out new file mode 100644 index 0000000..996ffc8 --- /dev/null +++ b/tests/posix/links_plus.out @@ -0,0 +1,2 @@ +links/file +links/hardlink diff --git a/tests/posix/links_plus.sh b/tests/posix/links_plus.sh new file mode 100644 index 0000000..375834b --- /dev/null +++ b/tests/posix/links_plus.sh @@ -0,0 +1 @@ +bfs_diff links -type f -links +1 diff --git a/tests/posix/missing_paren.sh b/tests/posix/missing_paren.sh new file mode 100644 index 0000000..ac8dd60 --- /dev/null +++ b/tests/posix/missing_paren.sh @@ -0,0 +1 @@ +fail invoke_bfs basic \( -print diff --git a/tests/posix/name.out b/tests/posix/name.out new file mode 100644 index 0000000..a9e5d42 --- /dev/null +++ b/tests/posix/name.out @@ -0,0 +1,4 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/posix/name.sh b/tests/posix/name.sh new file mode 100644 index 0000000..a673ad0 --- /dev/null +++ b/tests/posix/name.sh @@ -0,0 +1 @@ +bfs_diff basic -name '*f*' diff --git a/tests/posix/name_backslash.out b/tests/posix/name_backslash.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/name_backslash.sh b/tests/posix/name_backslash.sh new file mode 100644 index 0000000..ff9b539 --- /dev/null +++ b/tests/posix/name_backslash.sh @@ -0,0 +1,2 @@ +# An unescaped \ doesn't match +bfs_diff weirdnames -name '\' diff --git a/tests/posix/name_bracket.out b/tests/posix/name_bracket.out new file mode 100644 index 0000000..5ff3c0c --- /dev/null +++ b/tests/posix/name_bracket.out @@ -0,0 +1 @@ +weirdnames/[ diff --git a/tests/posix/name_bracket.sh b/tests/posix/name_bracket.sh new file mode 100644 index 0000000..84a417f --- /dev/null +++ b/tests/posix/name_bracket.sh @@ -0,0 +1,5 @@ +# fnmatch() is broken on macOS +skip_if test "$UNAME" = "Darwin" + +# An unclosed [ should be matched literally +bfs_diff weirdnames -name '[' diff --git a/tests/posix/name_character_class.out b/tests/posix/name_character_class.out new file mode 100644 index 0000000..e9d47b1 --- /dev/null +++ b/tests/posix/name_character_class.out @@ -0,0 +1,3 @@ +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/posix/name_character_class.sh b/tests/posix/name_character_class.sh new file mode 100644 index 0000000..ecda190 --- /dev/null +++ b/tests/posix/name_character_class.sh @@ -0,0 +1 @@ +bfs_diff basic -name '[e-g][!a-n][!p-z]' diff --git a/tests/posix/name_double_backslash.out b/tests/posix/name_double_backslash.out new file mode 100644 index 0000000..45ceda0 --- /dev/null +++ b/tests/posix/name_double_backslash.out @@ -0,0 +1 @@ +weirdnames/\ diff --git a/tests/posix/name_double_backslash.sh b/tests/posix/name_double_backslash.sh new file mode 100644 index 0000000..009553a --- /dev/null +++ b/tests/posix/name_double_backslash.sh @@ -0,0 +1,2 @@ +# An escaped \\ matches +bfs_diff weirdnames -name '\\' diff --git a/tests/posix/name_root.out b/tests/posix/name_root.out new file mode 100644 index 0000000..511198f --- /dev/null +++ b/tests/posix/name_root.out @@ -0,0 +1 @@ +basic/a diff --git a/tests/posix/name_root.sh b/tests/posix/name_root.sh new file mode 100644 index 0000000..785861e --- /dev/null +++ b/tests/posix/name_root.sh @@ -0,0 +1 @@ +bfs_diff basic/a -name a diff --git a/tests/posix/name_root_depth.out b/tests/posix/name_root_depth.out new file mode 100644 index 0000000..cf4d5a9 --- /dev/null +++ b/tests/posix/name_root_depth.out @@ -0,0 +1 @@ +basic/g diff --git a/tests/posix/name_root_depth.sh b/tests/posix/name_root_depth.sh new file mode 100644 index 0000000..dc3b8bb --- /dev/null +++ b/tests/posix/name_root_depth.sh @@ -0,0 +1 @@ +bfs_diff basic/g -depth -name g diff --git a/tests/posix/name_star_star.out b/tests/posix/name_star_star.out new file mode 100644 index 0000000..a9e5d42 --- /dev/null +++ b/tests/posix/name_star_star.out @@ -0,0 +1,4 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/posix/name_star_star.sh b/tests/posix/name_star_star.sh new file mode 100644 index 0000000..035f635 --- /dev/null +++ b/tests/posix/name_star_star.sh @@ -0,0 +1 @@ +bfs_diff basic -name '**f**' diff --git a/tests/posix/name_trailing_slash.out b/tests/posix/name_trailing_slash.out new file mode 100644 index 0000000..daff2f5 --- /dev/null +++ b/tests/posix/name_trailing_slash.out @@ -0,0 +1 @@ +basic/g/ diff --git a/tests/posix/name_trailing_slash.sh b/tests/posix/name_trailing_slash.sh new file mode 100644 index 0000000..ab058d1 --- /dev/null +++ b/tests/posix/name_trailing_slash.sh @@ -0,0 +1 @@ +bfs_diff basic/g/ -name g diff --git a/tests/posix/newer.out b/tests/posix/newer.out new file mode 100644 index 0000000..7f6c0dd --- /dev/null +++ b/tests/posix/newer.out @@ -0,0 +1,4 @@ +times +times/b +times/c +times/l diff --git a/tests/posix/newer.sh b/tests/posix/newer.sh new file mode 100644 index 0000000..860623a --- /dev/null +++ b/tests/posix/newer.sh @@ -0,0 +1 @@ +bfs_diff times -newer times/a diff --git a/tests/posix/newer_link.out b/tests/posix/newer_link.out new file mode 100644 index 0000000..d2dcdd1 --- /dev/null +++ b/tests/posix/newer_link.out @@ -0,0 +1 @@ +times diff --git a/tests/posix/newer_link.sh b/tests/posix/newer_link.sh new file mode 100644 index 0000000..685ac78 --- /dev/null +++ b/tests/posix/newer_link.sh @@ -0,0 +1 @@ +bfs_diff times -newer times/l diff --git a/tests/posix/nogroup.out b/tests/posix/nogroup.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/nogroup.sh b/tests/posix/nogroup.sh new file mode 100644 index 0000000..60ffd68 --- /dev/null +++ b/tests/posix/nogroup.sh @@ -0,0 +1 @@ +bfs_diff basic -nogroup diff --git a/tests/posix/nogroup_ulimit.out b/tests/posix/nogroup_ulimit.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/nogroup_ulimit.sh b/tests/posix/nogroup_ulimit.sh new file mode 100644 index 0000000..e7231d9 --- /dev/null +++ b/tests/posix/nogroup_ulimit.sh @@ -0,0 +1,3 @@ +closefrom 4 +ulimit -n 16 +bfs_diff deep -nogroup diff --git a/tests/posix/not_prune.out b/tests/posix/not_prune.out new file mode 100644 index 0000000..59e3c42 --- /dev/null +++ b/tests/posix/not_prune.out @@ -0,0 +1,13 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/l diff --git a/tests/posix/not_prune.sh b/tests/posix/not_prune.sh new file mode 100644 index 0000000..6d7b092 --- /dev/null +++ b/tests/posix/not_prune.sh @@ -0,0 +1 @@ +bfs_diff basic \! \( -name foo -prune \) diff --git a/tests/posix/nouser.out b/tests/posix/nouser.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/nouser.sh b/tests/posix/nouser.sh new file mode 100644 index 0000000..e7c48c0 --- /dev/null +++ b/tests/posix/nouser.sh @@ -0,0 +1 @@ +bfs_diff basic -nouser diff --git a/tests/posix/nouser_ulimit.out b/tests/posix/nouser_ulimit.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/nouser_ulimit.sh b/tests/posix/nouser_ulimit.sh new file mode 100644 index 0000000..1d0dd65 --- /dev/null +++ b/tests/posix/nouser_ulimit.sh @@ -0,0 +1,3 @@ +closefrom 4 +ulimit -n 16 +bfs_diff deep -nouser diff --git a/tests/posix/o.out b/tests/posix/o.out new file mode 100644 index 0000000..1650c4d --- /dev/null +++ b/tests/posix/o.out @@ -0,0 +1,13 @@ +basic +basic/c +basic/e +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/l +basic/l/foo +basic/l/foo/bar diff --git a/tests/posix/o.sh b/tests/posix/o.sh new file mode 100644 index 0000000..6dcd442 --- /dev/null +++ b/tests/posix/o.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -o -type d diff --git a/tests/posix/ok_stdin.out b/tests/posix/ok_stdin.out new file mode 100644 index 0000000..7acf711 --- /dev/null +++ b/tests/posix/ok_stdin.out @@ -0,0 +1,19 @@ +basic/a? y +basic/b? y +basic/c/d? y +basic/c? y +basic/e/f? y +basic/e? y +basic/g/h? y +basic/g? y +basic/i? y +basic/j/foo? y +basic/j? y +basic/k/foo/bar? y +basic/k/foo? y +basic/k? y +basic/l/foo/bar/baz? y +basic/l/foo/bar? y +basic/l/foo? y +basic/l? y +basic? y diff --git a/tests/posix/ok_stdin.sh b/tests/posix/ok_stdin.sh new file mode 100644 index 0000000..a190d81 --- /dev/null +++ b/tests/posix/ok_stdin.sh @@ -0,0 +1,3 @@ +# -ok should *not* close stdin +# See https://savannah.gnu.org/bugs/?24561 +yes | bfs_diff basic -ok bash -c 'printf "%s? " "$1" && head -n1' bash {} \; diff --git a/tests/posix/or_purity.out b/tests/posix/or_purity.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/or_purity.sh b/tests/posix/or_purity.sh new file mode 100644 index 0000000..277b18b --- /dev/null +++ b/tests/posix/or_purity.sh @@ -0,0 +1,2 @@ +# Regression test: (-o lhs(pure) rhs(always_true)) <==> rhs is only valid if rhs is pure +bfs_diff basic -name '*' -o -print diff --git a/tests/posix/parens.out b/tests/posix/parens.out new file mode 100644 index 0000000..a9e5d42 --- /dev/null +++ b/tests/posix/parens.out @@ -0,0 +1,4 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/posix/parens.sh b/tests/posix/parens.sh new file mode 100644 index 0000000..abbb20f --- /dev/null +++ b/tests/posix/parens.sh @@ -0,0 +1 @@ +bfs_diff basic \( -name '*f*' \) diff --git a/tests/posix/path.out b/tests/posix/path.out new file mode 100644 index 0000000..ae1ae21 --- /dev/null +++ b/tests/posix/path.out @@ -0,0 +1,7 @@ +basic/e/f +basic/j/foo +basic/k/foo +basic/k/foo/bar +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/path.sh b/tests/posix/path.sh new file mode 100644 index 0000000..04606eb --- /dev/null +++ b/tests/posix/path.sh @@ -0,0 +1 @@ +bfs_diff basic -path 'basic/*f*' diff --git a/tests/posix/perm_000.out b/tests/posix/perm_000.out new file mode 100644 index 0000000..5fd30bc --- /dev/null +++ b/tests/posix/perm_000.out @@ -0,0 +1 @@ +perms/0 diff --git a/tests/posix/perm_000.sh b/tests/posix/perm_000.sh new file mode 100644 index 0000000..ee25f23 --- /dev/null +++ b/tests/posix/perm_000.sh @@ -0,0 +1 @@ +bfs_diff perms -perm 000 diff --git a/tests/posix/perm_000_minus.out b/tests/posix/perm_000_minus.out new file mode 100644 index 0000000..d7494b8 --- /dev/null +++ b/tests/posix/perm_000_minus.out @@ -0,0 +1,8 @@ +perms +perms/0 +perms/r +perms/rw +perms/rwx +perms/rx +perms/w +perms/wx diff --git a/tests/posix/perm_000_minus.sh b/tests/posix/perm_000_minus.sh new file mode 100644 index 0000000..5027b91 --- /dev/null +++ b/tests/posix/perm_000_minus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm -000 diff --git a/tests/posix/perm_222.out b/tests/posix/perm_222.out new file mode 100644 index 0000000..1690e43 --- /dev/null +++ b/tests/posix/perm_222.out @@ -0,0 +1 @@ +perms/w diff --git a/tests/posix/perm_222.sh b/tests/posix/perm_222.sh new file mode 100644 index 0000000..40f5804 --- /dev/null +++ b/tests/posix/perm_222.sh @@ -0,0 +1 @@ +bfs_diff perms -perm 222 diff --git a/tests/posix/perm_222_minus.out b/tests/posix/perm_222_minus.out new file mode 100644 index 0000000..1690e43 --- /dev/null +++ b/tests/posix/perm_222_minus.out @@ -0,0 +1 @@ +perms/w diff --git a/tests/posix/perm_222_minus.sh b/tests/posix/perm_222_minus.sh new file mode 100644 index 0000000..4e7ad5a --- /dev/null +++ b/tests/posix/perm_222_minus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm -222 diff --git a/tests/posix/perm_644.out b/tests/posix/perm_644.out new file mode 100644 index 0000000..4e64e49 --- /dev/null +++ b/tests/posix/perm_644.out @@ -0,0 +1 @@ +perms/rw diff --git a/tests/posix/perm_644.sh b/tests/posix/perm_644.sh new file mode 100644 index 0000000..9a4f41d --- /dev/null +++ b/tests/posix/perm_644.sh @@ -0,0 +1 @@ +bfs_diff perms -perm 644 diff --git a/tests/posix/perm_644_minus.out b/tests/posix/perm_644_minus.out new file mode 100644 index 0000000..2e2576b --- /dev/null +++ b/tests/posix/perm_644_minus.out @@ -0,0 +1,3 @@ +perms +perms/rw +perms/rwx diff --git a/tests/posix/perm_644_minus.sh b/tests/posix/perm_644_minus.sh new file mode 100644 index 0000000..6464f84 --- /dev/null +++ b/tests/posix/perm_644_minus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm -644 diff --git a/tests/posix/perm_leading_plus_symbolic_minus.out b/tests/posix/perm_leading_plus_symbolic_minus.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/perm_leading_plus_symbolic_minus.sh b/tests/posix/perm_leading_plus_symbolic_minus.sh new file mode 100644 index 0000000..60389c0 --- /dev/null +++ b/tests/posix/perm_leading_plus_symbolic_minus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm -+rwx diff --git a/tests/posix/perm_setid.out b/tests/posix/perm_setid.out new file mode 100644 index 0000000..865a74e --- /dev/null +++ b/tests/posix/perm_setid.out @@ -0,0 +1,3 @@ +rainbow/sgid +rainbow/sugid +rainbow/suid diff --git a/tests/posix/perm_setid.sh b/tests/posix/perm_setid.sh new file mode 100644 index 0000000..3b98647 --- /dev/null +++ b/tests/posix/perm_setid.sh @@ -0,0 +1 @@ +bfs_diff rainbow -perm -u+s -o -perm -g+s diff --git a/tests/posix/perm_sticky.out b/tests/posix/perm_sticky.out new file mode 100644 index 0000000..c07eb61 --- /dev/null +++ b/tests/posix/perm_sticky.out @@ -0,0 +1,2 @@ +rainbow/sticky +rainbow/sticky_ow diff --git a/tests/posix/perm_sticky.sh b/tests/posix/perm_sticky.sh new file mode 100644 index 0000000..6bdf8e9 --- /dev/null +++ b/tests/posix/perm_sticky.sh @@ -0,0 +1 @@ +bfs_diff rainbow -perm -a+t diff --git a/tests/posix/perm_symbolic.out b/tests/posix/perm_symbolic.out new file mode 100644 index 0000000..e69de29 diff --git a/tests/posix/perm_symbolic.sh b/tests/posix/perm_symbolic.sh new file mode 100644 index 0000000..5cfddb6 --- /dev/null +++ b/tests/posix/perm_symbolic.sh @@ -0,0 +1 @@ +bfs_diff perms -perm a+r,u=wX,g+wX-w diff --git a/tests/posix/perm_symbolic_minus.out b/tests/posix/perm_symbolic_minus.out new file mode 100644 index 0000000..2e2576b --- /dev/null +++ b/tests/posix/perm_symbolic_minus.out @@ -0,0 +1,3 @@ +perms +perms/rw +perms/rwx diff --git a/tests/posix/perm_symbolic_minus.sh b/tests/posix/perm_symbolic_minus.sh new file mode 100644 index 0000000..b6ba3a5 --- /dev/null +++ b/tests/posix/perm_symbolic_minus.sh @@ -0,0 +1 @@ +bfs_diff perms -perm -a+r,u=wX,g+wX-w diff --git a/tests/posix/permcopy.out b/tests/posix/permcopy.out new file mode 100644 index 0000000..4e64e49 --- /dev/null +++ b/tests/posix/permcopy.out @@ -0,0 +1 @@ +perms/rw diff --git a/tests/posix/permcopy.sh b/tests/posix/permcopy.sh new file mode 100644 index 0000000..3c85cce --- /dev/null +++ b/tests/posix/permcopy.sh @@ -0,0 +1 @@ +bfs_diff perms -perm u+rw,g+u-w,o=g diff --git a/tests/posix/prune.out b/tests/posix/prune.out new file mode 100644 index 0000000..e9d47b1 --- /dev/null +++ b/tests/posix/prune.out @@ -0,0 +1,3 @@ +basic/j/foo +basic/k/foo +basic/l/foo diff --git a/tests/posix/prune.sh b/tests/posix/prune.sh new file mode 100644 index 0000000..b48ab48 --- /dev/null +++ b/tests/posix/prune.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -prune diff --git a/tests/posix/prune_file.out b/tests/posix/prune_file.out new file mode 100644 index 0000000..7575ae4 --- /dev/null +++ b/tests/posix/prune_file.out @@ -0,0 +1,10 @@ +basic +basic/a +basic/b +basic/c +basic/e +basic/g +basic/i +basic/j +basic/k +basic/l diff --git a/tests/posix/prune_file.sh b/tests/posix/prune_file.sh new file mode 100644 index 0000000..29a3a33 --- /dev/null +++ b/tests/posix/prune_file.sh @@ -0,0 +1 @@ +bfs_diff basic -print -name '?' -prune diff --git a/tests/posix/prune_or_print.out b/tests/posix/prune_or_print.out new file mode 100644 index 0000000..59e3c42 --- /dev/null +++ b/tests/posix/prune_or_print.out @@ -0,0 +1,13 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/l diff --git a/tests/posix/prune_or_print.sh b/tests/posix/prune_or_print.sh new file mode 100644 index 0000000..85b97fd --- /dev/null +++ b/tests/posix/prune_or_print.sh @@ -0,0 +1 @@ +bfs_diff basic -name foo -prune -o -print diff --git a/tests/posix/size.out b/tests/posix/size.out new file mode 100644 index 0000000..eeabbd7 --- /dev/null +++ b/tests/posix/size.out @@ -0,0 +1,6 @@ +basic/a +basic/b +basic/c/d +basic/e/f +basic/j/foo +basic/k/foo/bar diff --git a/tests/posix/size.sh b/tests/posix/size.sh new file mode 100644 index 0000000..1e7528a --- /dev/null +++ b/tests/posix/size.sh @@ -0,0 +1 @@ +bfs_diff basic -type f -size 0 diff --git a/tests/posix/size_bytes.out b/tests/posix/size_bytes.out new file mode 100644 index 0000000..279f3f1 --- /dev/null +++ b/tests/posix/size_bytes.out @@ -0,0 +1 @@ +basic/l/foo/bar/baz diff --git a/tests/posix/size_bytes.sh b/tests/posix/size_bytes.sh new file mode 100644 index 0000000..6a68321 --- /dev/null +++ b/tests/posix/size_bytes.sh @@ -0,0 +1 @@ +bfs_diff basic -type f -size +0c diff --git a/tests/posix/size_plus.out b/tests/posix/size_plus.out new file mode 100644 index 0000000..279f3f1 --- /dev/null +++ b/tests/posix/size_plus.out @@ -0,0 +1 @@ +basic/l/foo/bar/baz diff --git a/tests/posix/size_plus.sh b/tests/posix/size_plus.sh new file mode 100644 index 0000000..01853d5 --- /dev/null +++ b/tests/posix/size_plus.sh @@ -0,0 +1 @@ +bfs_diff basic -type f -size +0 diff --git a/tests/posix/type_bind_mount.out b/tests/posix/type_bind_mount.out new file mode 100644 index 0000000..6435159 --- /dev/null +++ b/tests/posix/type_bind_mount.out @@ -0,0 +1 @@ +scratch/null diff --git a/tests/posix/type_bind_mount.sh b/tests/posix/type_bind_mount.sh new file mode 100644 index 0000000..87b1549 --- /dev/null +++ b/tests/posix/type_bind_mount.sh @@ -0,0 +1,12 @@ +skip_unless test "$SUDO" +skip_unless test "$UNAME" = "Linux" + +rm -rf scratch/* +$TOUCH scratch/{file,null} +sudo mount --bind /dev/null scratch/null + +bfs_diff scratch -type c +ret=$? + +sudo umount scratch/null +return $ret diff --git a/tests/posix/type_d.out b/tests/posix/type_d.out new file mode 100644 index 0000000..e604709 --- /dev/null +++ b/tests/posix/type_d.out @@ -0,0 +1,12 @@ +basic +basic/c +basic/e +basic/g +basic/g/h +basic/i +basic/j +basic/k +basic/k/foo +basic/l +basic/l/foo +basic/l/foo/bar diff --git a/tests/posix/type_d.sh b/tests/posix/type_d.sh new file mode 100644 index 0000000..8d06b73 --- /dev/null +++ b/tests/posix/type_d.sh @@ -0,0 +1 @@ +bfs_diff basic -type d diff --git a/tests/posix/type_f.out b/tests/posix/type_f.out new file mode 100644 index 0000000..6218a0c --- /dev/null +++ b/tests/posix/type_f.out @@ -0,0 +1,7 @@ +basic/a +basic/b +basic/c/d +basic/e/f +basic/j/foo +basic/k/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/type_f.sh b/tests/posix/type_f.sh new file mode 100644 index 0000000..1fd0c8c --- /dev/null +++ b/tests/posix/type_f.sh @@ -0,0 +1 @@ +bfs_diff basic -type f diff --git a/tests/posix/type_l.out b/tests/posix/type_l.out new file mode 100644 index 0000000..f2c8b19 --- /dev/null +++ b/tests/posix/type_l.out @@ -0,0 +1 @@ +links/skip diff --git a/tests/posix/type_l.sh b/tests/posix/type_l.sh new file mode 100644 index 0000000..457f74d --- /dev/null +++ b/tests/posix/type_l.sh @@ -0,0 +1 @@ +bfs_diff links/skip -type l diff --git a/tests/posix/user_id.out b/tests/posix/user_id.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/user_id.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/user_id.sh b/tests/posix/user_id.sh new file mode 100644 index 0000000..c3e4b31 --- /dev/null +++ b/tests/posix/user_id.sh @@ -0,0 +1 @@ +bfs_diff basic -user "$(id -u)" diff --git a/tests/posix/user_name.out b/tests/posix/user_name.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/user_name.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/user_name.sh b/tests/posix/user_name.sh new file mode 100644 index 0000000..8599249 --- /dev/null +++ b/tests/posix/user_name.sh @@ -0,0 +1 @@ +bfs_diff basic -user "$(id -un)" diff --git a/tests/posix/user_nouser.out b/tests/posix/user_nouser.out new file mode 100644 index 0000000..a7ccfe4 --- /dev/null +++ b/tests/posix/user_nouser.out @@ -0,0 +1,19 @@ +basic +basic/a +basic/b +basic/c +basic/c/d +basic/e +basic/e/f +basic/g +basic/g/h +basic/i +basic/j +basic/j/foo +basic/k +basic/k/foo +basic/k/foo/bar +basic/l +basic/l/foo +basic/l/foo/bar +basic/l/foo/bar/baz diff --git a/tests/posix/user_nouser.sh b/tests/posix/user_nouser.sh new file mode 100644 index 0000000..e72bd45 --- /dev/null +++ b/tests/posix/user_nouser.sh @@ -0,0 +1,2 @@ +# Regression test: this was wrongly optimized to -false +bfs_diff basic -user "$(id -u)" \! -nouser diff --git a/tests/posix/weird_names.out b/tests/posix/weird_names.out new file mode 100644 index 0000000..c395659 --- /dev/null +++ b/tests/posix/weird_names.out @@ -0,0 +1,28 @@ +!- +!- +!-/e +!-/e +(- +(- +(-/c +(-/c +) +) +)/g +)/g +, +, +,/f +,/f +- +- +-/a +-/a +./! +./! +./!/d +./!/d +./( +./( +./(/b +./(/b diff --git a/tests/posix/weird_names.sh b/tests/posix/weird_names.sh new file mode 100644 index 0000000..8a9a8cd --- /dev/null +++ b/tests/posix/weird_names.sh @@ -0,0 +1,2 @@ +cd weirdnames +bfs_diff '-' '(-' '!-' ',' ')' './(' './!' \( \! -print -o -print \) diff --git a/tests/posix/xdev.out b/tests/posix/xdev.out new file mode 100644 index 0000000..f7839fb --- /dev/null +++ b/tests/posix/xdev.out @@ -0,0 +1,4 @@ +scratch +scratch/foo +scratch/foo/bar +scratch/mnt diff --git a/tests/posix/xdev.sh b/tests/posix/xdev.sh new file mode 100644 index 0000000..cbb3347 --- /dev/null +++ b/tests/posix/xdev.sh @@ -0,0 +1,13 @@ +skip_unless test "$SUDO" +skip_if test "$UNAME" = "Darwin" + +rm -rf scratch/* +mkdir scratch/{foo,mnt} +sudo mount -t tmpfs tmpfs scratch/mnt +$TOUCH scratch/foo/bar scratch/mnt/baz + +bfs_diff scratch -xdev +ret=$? + +sudo umount scratch/mnt +return $ret diff --git a/tests/test_D_all.out b/tests/test_D_all.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_D_all.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_D_multi.out b/tests/test_D_multi.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_D_multi.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_E.out b/tests/test_E.out deleted file mode 100644 index 0f0971e..0000000 --- a/tests/test_E.out +++ /dev/null @@ -1 +0,0 @@ -./( diff --git a/tests/test_H.out b/tests/test_H.out deleted file mode 100644 index ff635ff..0000000 --- a/tests/test_H.out +++ /dev/null @@ -1 +0,0 @@ -links/deeply/nested/dir diff --git a/tests/test_H_broken.out b/tests/test_H_broken.out deleted file mode 100644 index 21d6316..0000000 --- a/tests/test_H_broken.out +++ /dev/null @@ -1 +0,0 @@ -links/broken diff --git a/tests/test_H_loops.out b/tests/test_H_loops.out deleted file mode 100644 index 1fc8f8f..0000000 --- a/tests/test_H_loops.out +++ /dev/null @@ -1,4 +0,0 @@ -loops/deeply/nested/loop -loops/deeply/nested/loop/nested -loops/deeply/nested/loop/nested/dir -loops/deeply/nested/loop/nested/loop diff --git a/tests/test_H_mnewer.out b/tests/test_H_mnewer.out deleted file mode 100644 index 7f6c0dd..0000000 --- a/tests/test_H_mnewer.out +++ /dev/null @@ -1,4 +0,0 @@ -times -times/b -times/c -times/l diff --git a/tests/test_H_newer.out b/tests/test_H_newer.out deleted file mode 100644 index 7f6c0dd..0000000 --- a/tests/test_H_newer.out +++ /dev/null @@ -1,4 +0,0 @@ -times -times/b -times/c -times/l diff --git a/tests/test_H_notdir.out b/tests/test_H_notdir.out deleted file mode 100644 index 6e6658d..0000000 --- a/tests/test_H_notdir.out +++ /dev/null @@ -1 +0,0 @@ -links/notdir diff --git a/tests/test_H_samefile_broken.out b/tests/test_H_samefile_broken.out deleted file mode 100644 index 21d6316..0000000 --- a/tests/test_H_samefile_broken.out +++ /dev/null @@ -1 +0,0 @@ -links/broken diff --git a/tests/test_H_samefile_notdir.out b/tests/test_H_samefile_notdir.out deleted file mode 100644 index 6e6658d..0000000 --- a/tests/test_H_samefile_notdir.out +++ /dev/null @@ -1 +0,0 @@ -links/notdir diff --git a/tests/test_H_samefile_symlink.out b/tests/test_H_samefile_symlink.out deleted file mode 100644 index 996ffc8..0000000 --- a/tests/test_H_samefile_symlink.out +++ /dev/null @@ -1,2 +0,0 @@ -links/file -links/hardlink diff --git a/tests/test_H_slash.out b/tests/test_H_slash.out deleted file mode 100644 index df7701b..0000000 --- a/tests/test_H_slash.out +++ /dev/null @@ -1 +0,0 @@ -links/deeply/nested/dir/ diff --git a/tests/test_H_type_l.out b/tests/test_H_type_l.out deleted file mode 100644 index e67f10b..0000000 --- a/tests/test_H_type_l.out +++ /dev/null @@ -1,2 +0,0 @@ -links/skip/broken -links/skip/link diff --git a/tests/test_L.out b/tests/test_L.out deleted file mode 100644 index ec9e861..0000000 --- a/tests/test_L.out +++ /dev/null @@ -1,17 +0,0 @@ -links -links/broken -links/deeply -links/deeply/nested -links/deeply/nested/broken -links/deeply/nested/dir -links/deeply/nested/file -links/deeply/nested/link -links/file -links/hardlink -links/notdir -links/skip -links/skip/broken -links/skip/dir -links/skip/file -links/skip/link -links/symlink diff --git a/tests/test_L_acl.out b/tests/test_L_acl.out deleted file mode 100644 index 1dae00a..0000000 --- a/tests/test_L_acl.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch/acl -scratch/link diff --git a/tests/test_L_broken.out b/tests/test_L_broken.out deleted file mode 100644 index 21d6316..0000000 --- a/tests/test_L_broken.out +++ /dev/null @@ -1 +0,0 @@ -links/broken diff --git a/tests/test_L_capable.out b/tests/test_L_capable.out deleted file mode 100644 index e5ba3c7..0000000 --- a/tests/test_L_capable.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch/capable -scratch/link diff --git a/tests/test_L_delete.out b/tests/test_L_delete.out deleted file mode 100644 index ed0e9a1..0000000 --- a/tests/test_L_delete.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch -scratch/foo diff --git a/tests/test_L_depth.out b/tests/test_L_depth.out deleted file mode 100644 index ec9e861..0000000 --- a/tests/test_L_depth.out +++ /dev/null @@ -1,17 +0,0 @@ -links -links/broken -links/deeply -links/deeply/nested -links/deeply/nested/broken -links/deeply/nested/dir -links/deeply/nested/file -links/deeply/nested/link -links/file -links/hardlink -links/notdir -links/skip -links/skip/broken -links/skip/dir -links/skip/file -links/skip/link -links/symlink diff --git a/tests/test_L_ilname.out b/tests/test_L_ilname.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_L_lname.out b/tests/test_L_lname.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_L_loops_continue.out b/tests/test_L_loops_continue.out deleted file mode 100644 index a514555..0000000 --- a/tests/test_L_loops_continue.out +++ /dev/null @@ -1,11 +0,0 @@ -loops -loops/broken -loops/deeply -loops/deeply/nested -loops/deeply/nested/dir -loops/file -loops/notdir -loops/skip -loops/skip/dir -loops/skip/loop -loops/symlink diff --git a/tests/test_L_mount.out b/tests/test_L_mount.out deleted file mode 100644 index 2e80082..0000000 --- a/tests/test_L_mount.out +++ /dev/null @@ -1,5 +0,0 @@ -scratch -scratch/foo -scratch/foo/bar -scratch/foo/qux -scratch/mnt diff --git a/tests/test_L_notdir.out b/tests/test_L_notdir.out deleted file mode 100644 index 6e6658d..0000000 --- a/tests/test_L_notdir.out +++ /dev/null @@ -1 +0,0 @@ -links/notdir diff --git a/tests/test_L_samefile_broken.out b/tests/test_L_samefile_broken.out deleted file mode 100644 index 21d6316..0000000 --- a/tests/test_L_samefile_broken.out +++ /dev/null @@ -1 +0,0 @@ -links/broken diff --git a/tests/test_L_samefile_notdir.out b/tests/test_L_samefile_notdir.out deleted file mode 100644 index 6e6658d..0000000 --- a/tests/test_L_samefile_notdir.out +++ /dev/null @@ -1 +0,0 @@ -links/notdir diff --git a/tests/test_L_samefile_symlink.out b/tests/test_L_samefile_symlink.out deleted file mode 100644 index 222ac78..0000000 --- a/tests/test_L_samefile_symlink.out +++ /dev/null @@ -1,3 +0,0 @@ -links/file -links/hardlink -links/symlink diff --git a/tests/test_L_type_l.out b/tests/test_L_type_l.out deleted file mode 100644 index 725d398..0000000 --- a/tests/test_L_type_l.out +++ /dev/null @@ -1 +0,0 @@ -links/skip/broken diff --git a/tests/test_L_unique.out b/tests/test_L_unique.out deleted file mode 100644 index c94c48e..0000000 --- a/tests/test_L_unique.out +++ /dev/null @@ -1 +0,0 @@ -links/file diff --git a/tests/test_L_unique_depth.out b/tests/test_L_unique_depth.out deleted file mode 100644 index dad0a98..0000000 --- a/tests/test_L_unique_depth.out +++ /dev/null @@ -1,3 +0,0 @@ -loops/deeply/nested -loops/deeply/nested/dir -loops/deeply/nested/loop diff --git a/tests/test_L_unique_loops.out b/tests/test_L_unique_loops.out deleted file mode 100644 index dad0a98..0000000 --- a/tests/test_L_unique_loops.out +++ /dev/null @@ -1,3 +0,0 @@ -loops/deeply/nested -loops/deeply/nested/dir -loops/deeply/nested/loop diff --git a/tests/test_L_xattr.out b/tests/test_L_xattr.out deleted file mode 100644 index 12fac95..0000000 --- a/tests/test_L_xattr.out +++ /dev/null @@ -1,3 +0,0 @@ -scratch/link -scratch/xattr -scratch/xattr_2 diff --git a/tests/test_L_xattrname.out b/tests/test_L_xattrname.out deleted file mode 100644 index 4dc4836..0000000 --- a/tests/test_L_xattrname.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch/link -scratch/xattr diff --git a/tests/test_L_xdev.out b/tests/test_L_xdev.out deleted file mode 100644 index 2e80082..0000000 --- a/tests/test_L_xdev.out +++ /dev/null @@ -1,5 +0,0 @@ -scratch -scratch/foo -scratch/foo/bar -scratch/foo/qux -scratch/mnt diff --git a/tests/test_L_xtype_f.out b/tests/test_L_xtype_f.out deleted file mode 100644 index 8b95397..0000000 --- a/tests/test_L_xtype_f.out +++ /dev/null @@ -1,4 +0,0 @@ -links/deeply/nested/file -links/file -links/hardlink -links/skip/file diff --git a/tests/test_L_xtype_l.out b/tests/test_L_xtype_l.out deleted file mode 100644 index 973864f..0000000 --- a/tests/test_L_xtype_l.out +++ /dev/null @@ -1,8 +0,0 @@ -links/broken -links/deeply/nested/broken -links/deeply/nested/link -links/notdir -links/skip -links/skip/broken -links/skip/link -links/symlink diff --git a/tests/test_O0.out b/tests/test_O0.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_O0.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_O1.out b/tests/test_O1.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_O1.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_O2.out b/tests/test_O2.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_O2.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_O3.out b/tests/test_O3.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_O3.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_Ofast.out b/tests/test_Ofast.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_Ofast.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_P.out b/tests/test_P.out deleted file mode 100644 index ff635ff..0000000 --- a/tests/test_P.out +++ /dev/null @@ -1 +0,0 @@ -links/deeply/nested/dir diff --git a/tests/test_P_slash.out b/tests/test_P_slash.out deleted file mode 100644 index df7701b..0000000 --- a/tests/test_P_slash.out +++ /dev/null @@ -1 +0,0 @@ -links/deeply/nested/dir/ diff --git a/tests/test_S_bfs.out b/tests/test_S_bfs.out deleted file mode 100644 index bb3cd8d..0000000 --- a/tests/test_S_bfs.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l -basic/c/d -basic/e/f -basic/g/h -basic/j/foo -basic/k/foo -basic/l/foo -basic/k/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_S_dfs.out b/tests/test_S_dfs.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_S_dfs.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_S_ids.out b/tests/test_S_ids.out deleted file mode 100644 index bb3cd8d..0000000 --- a/tests/test_S_ids.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l -basic/c/d -basic/e/f -basic/g/h -basic/j/foo -basic/k/foo -basic/l/foo -basic/k/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_X.out b/tests/test_X.out deleted file mode 100644 index afa84f7..0000000 --- a/tests/test_X.out +++ /dev/null @@ -1,19 +0,0 @@ -weirdnames -weirdnames/! -weirdnames/!- -weirdnames/!-/e -weirdnames/!/d -weirdnames/( -weirdnames/(- -weirdnames/(-/c -weirdnames/(/b -weirdnames/) -weirdnames/)/g -weirdnames/, -weirdnames/,/f -weirdnames/- -weirdnames/-/a -weirdnames/... -weirdnames/.../h -weirdnames/[ -weirdnames/[/k diff --git a/tests/test_a.out b/tests/test_a.out deleted file mode 100644 index 722962c..0000000 --- a/tests/test_a.out +++ /dev/null @@ -1,2 +0,0 @@ -basic/k/foo -basic/l/foo diff --git a/tests/test_acl.out b/tests/test_acl.out deleted file mode 100644 index ddf8446..0000000 --- a/tests/test_acl.out +++ /dev/null @@ -1 +0,0 @@ -scratch/acl diff --git a/tests/test_and.out b/tests/test_and.out deleted file mode 100644 index 722962c..0000000 --- a/tests/test_and.out +++ /dev/null @@ -1,2 +0,0 @@ -basic/k/foo -basic/l/foo diff --git a/tests/test_and_false_or_true.out b/tests/test_and_false_or_true.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_and_false_or_true.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_and_purity.out b/tests/test_and_purity.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_anewer.out b/tests/test_anewer.out deleted file mode 100644 index 7f6c0dd..0000000 --- a/tests/test_anewer.out +++ /dev/null @@ -1,4 +0,0 @@ -times -times/b -times/c -times/l diff --git a/tests/test_asince.out b/tests/test_asince.out deleted file mode 100644 index 650e550..0000000 --- a/tests/test_asince.out +++ /dev/null @@ -1,3 +0,0 @@ -times -times/c -times/l diff --git a/tests/test_bang.out b/tests/test_bang.out deleted file mode 100644 index b286454..0000000 --- a/tests/test_bang.out +++ /dev/null @@ -1,16 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/k/foo/bar -basic/l -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_basic.out b/tests/test_basic.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_basic.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_capable.out b/tests/test_capable.out deleted file mode 100644 index 78b5bd9..0000000 --- a/tests/test_capable.out +++ /dev/null @@ -1 +0,0 @@ -scratch/capable diff --git a/tests/test_closed_stdin.out b/tests/test_closed_stdin.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_closed_stdin.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_color.out b/tests/test_color.out deleted file mode 100644 index 77fc8a8..0000000 --- a/tests/test_color.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_L.out b/tests/test_color_L.out deleted file mode 100644 index b60dd4a..0000000 --- a/tests/test_color_L.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/chardev_link -rainbow/socket -rainbow/broken -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/link.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_L_ln_target.out b/tests/test_color_L_ln_target.out deleted file mode 100644 index cd4ec5e..0000000 --- a/tests/test_color_L_ln_target.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/broken -rainbow/exec.sh -rainbow/chardev_link -rainbow/socket -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/link.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_L_no_stat.out b/tests/test_color_L_no_stat.out deleted file mode 100644 index c0bb1be..0000000 --- a/tests/test_color_L_no_stat.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/chardev_link -rainbow/ow -rainbow/sticky -rainbow/sticky_ow -rainbow/socket -rainbow/broken -rainbow/file.txt -rainbow/link.txt -rainbow/pipe -rainbow/exec.sh -rainbow/file.dat -rainbow/mh1 -rainbow/mh2 -rainbow/sgid -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz -rainbow/sugid -rainbow/suid diff --git a/tests/test_color_escapes.out b/tests/test_color_escapes.out deleted file mode 100644 index b71e138..0000000 --- a/tests/test_color_escapes.out +++ /dev/null @@ -1,20 +0,0 @@ -:rainbow -:rainbow/:exec.sh -:rainbow/:socket -:rainbow/:broken -:rainbow/:chardev_link -:rainbow/:link.txt -:rainbow/:sticky_ow -:rainbow/:sgid -:rainbow/:pipe -:rainbow/:ow -:rainbow/:sugid -:rainbow/:suid -:rainbow/:sticky -:rainbow/file.dat -:rainbow/file.txt -:rainbow/mh1 -:rainbow/mh2 -:rainbow/star.gz -:rainbow/star.tar -:rainbow/star.tar.gz diff --git a/tests/test_color_ext.out b/tests/test_color_ext.out deleted file mode 100644 index cf26e73..0000000 --- a/tests/test_color_ext.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/file.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_ext0.out b/tests/test_color_ext0.out deleted file mode 100644 index e764a6b..0000000 --- a/tests/test_color_ext0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/file.txt -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_ext_override.out b/tests/test_color_ext_override.out deleted file mode 100644 index 1377b65..0000000 --- a/tests/test_color_ext_override.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/star.tar -rainbow/star.gz -rainbow/star.tar.gz -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 diff --git a/tests/test_color_ext_underride.out b/tests/test_color_ext_underride.out deleted file mode 100644 index 787248a..0000000 --- a/tests/test_color_ext_underride.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/star.tar.gz -rainbow/exec.sh -rainbow/star.tar -rainbow/star.gz -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 diff --git a/tests/test_color_ln_target.out b/tests/test_color_ln_target.out deleted file mode 100644 index cd4ec5e..0000000 --- a/tests/test_color_ln_target.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/broken -rainbow/exec.sh -rainbow/chardev_link -rainbow/socket -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/link.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_ls.out b/tests/test_color_ls.out deleted file mode 100644 index b08d894..0000000 --- a/tests/test_color_ls.out +++ /dev/null @@ -1,12 +0,0 @@ -scratch/foo/bar -scratch/foo/bar -/__bfs__/nowhere -/__bfs__/nowhere -foo/bar/baz/qux -foo/bar/baz/qux -foo/bar/nowhere -foo/bar/nowhere -foo/bar/nowhere/nothing -foo/bar/nowhere/nothing -foo/bar/baz -foo/bar/baz diff --git a/tests/test_color_mh.out b/tests/test_color_mh.out deleted file mode 100644 index 757a6a1..0000000 --- a/tests/test_color_mh.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/mh1 -rainbow/mh2 -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_mh0.out b/tests/test_color_mh0.out deleted file mode 100644 index 77fc8a8..0000000 --- a/tests/test_color_mh0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_mi.out b/tests/test_color_mi.out deleted file mode 100644 index 77fc8a8..0000000 --- a/tests/test_color_mi.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_missing_colon.out b/tests/test_color_missing_colon.out deleted file mode 100644 index cf26e73..0000000 --- a/tests/test_color_missing_colon.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/file.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_no_stat.out b/tests/test_color_no_stat.out deleted file mode 100644 index 1fc5324..0000000 --- a/tests/test_color_no_stat.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/ow -rainbow/sticky -rainbow/sticky_ow -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/file.txt -rainbow/pipe -rainbow/exec.sh -rainbow/file.dat -rainbow/mh1 -rainbow/mh2 -rainbow/sgid -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz -rainbow/sugid -rainbow/suid diff --git a/tests/test_color_nul.out b/tests/test_color_nul.out deleted file mode 100644 index c328f82..0000000 Binary files a/tests/test_color_nul.out and /dev/null differ diff --git a/tests/test_color_or.out b/tests/test_color_or.out deleted file mode 100644 index 9e1fe5c..0000000 --- a/tests/test_color_or.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/chardev_link -rainbow/link.txt -rainbow/broken -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_or0_mi.out b/tests/test_color_or0_mi.out deleted file mode 100644 index 77fc8a8..0000000 --- a/tests/test_color_or0_mi.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_or0_mi0.out b/tests/test_color_or0_mi0.out deleted file mode 100644 index 77fc8a8..0000000 --- a/tests/test_color_or0_mi0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_or_mi.out b/tests/test_color_or_mi.out deleted file mode 100644 index 5667f56..0000000 --- a/tests/test_color_or_mi.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/broken -rainbow/exec.sh -rainbow/socket -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_or_mi0.out b/tests/test_color_or_mi0.out deleted file mode 100644 index 5667f56..0000000 --- a/tests/test_color_or_mi0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/broken -rainbow/exec.sh -rainbow/socket -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_rs_lc_rc_ec.out b/tests/test_color_rs_lc_rc_ec.out deleted file mode 100644 index d39bbe7..0000000 --- a/tests/test_color_rs_lc_rc_ec.out +++ /dev/null @@ -1,20 +0,0 @@ -LC01;34RCrainbow/ECLC01;32RCexec.shEC -LC01;34RCrainbow/ECLC01;35RCsocketEC -LC01;34RCrainbow/ECLC01;36RCbrokenEC -LC01;34RCrainbow/ECLC01;36RCchardev_linkEC -LC01;34RCrainbow/ECLC01;36RClink.txtEC -LC01;34RCrainbow/ECLC30;42RCsticky_owEC -LC01;34RCrainbow/ECLC30;43RCsgidEC -LC01;34RCrainbow/ECLC33RCpipeEC -LC01;34RCrainbow/ECLC34;42RCowEC -LC01;34RCrainbow/ECLC37;41RCsugidEC -LC01;34RCrainbow/ECLC37;41RCsuidEC -LC01;34RCrainbow/ECLC37;44RCstickyEC -LC01;34RCrainbow/ECfile.dat -LC01;34RCrainbow/ECfile.txt -LC01;34RCrainbow/ECmh1 -LC01;34RCrainbow/ECmh2 -LC01;34RCrainbow/ECstar.gz -LC01;34RCrainbow/ECstar.tar -LC01;34RCrainbow/ECstar.tar.gz -LC01;34RCrainbowEC diff --git a/tests/test_color_st0_tw0_ow.out b/tests/test_color_st0_tw0_ow.out deleted file mode 100644 index 9a47ef2..0000000 --- a/tests/test_color_st0_tw0_ow.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/sticky -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sticky_ow -rainbow/sugid -rainbow/suid -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_st0_tw0_ow0.out b/tests/test_color_st0_tw0_ow0.out deleted file mode 100644 index 2b86fe4..0000000 --- a/tests/test_color_st0_tw0_ow0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/ow -rainbow/sticky -rainbow/sticky_ow -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/sugid -rainbow/suid -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_st0_tw_ow.out b/tests/test_color_st0_tw_ow.out deleted file mode 100644 index 42549a1..0000000 --- a/tests/test_color_st0_tw_ow.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/sticky -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky_ow -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_st0_tw_ow0.out b/tests/test_color_st0_tw_ow0.out deleted file mode 100644 index 535b8ae..0000000 --- a/tests/test_color_st0_tw_ow0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/ow -rainbow/sticky -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/sugid -rainbow/suid -rainbow/sticky_ow -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_st_tw0_ow.out b/tests/test_color_st_tw0_ow.out deleted file mode 100644 index c9a86f4..0000000 --- a/tests/test_color_st_tw0_ow.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sticky_ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_st_tw0_ow0.out b/tests/test_color_st_tw0_ow0.out deleted file mode 100644 index 2d94f3a..0000000 --- a/tests/test_color_st_tw0_ow0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/ow -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/sticky_ow -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_st_tw_ow0.out b/tests/test_color_st_tw_ow0.out deleted file mode 100644 index 317ef90..0000000 --- a/tests/test_color_st_tw_ow0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/ow -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sgid -rainbow/pipe -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/sticky_ow -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_star.out b/tests/test_color_star.out deleted file mode 100644 index 77fc8a8..0000000 --- a/tests/test_color_star.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_color_su0_sg.out b/tests/test_color_su0_sg.out deleted file mode 100644 index 8b8c8b8..0000000 --- a/tests/test_color_su0_sg.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/sgid -rainbow/sugid -rainbow/pipe -rainbow/ow -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz -rainbow/suid diff --git a/tests/test_color_su0_sg0.out b/tests/test_color_su0_sg0.out deleted file mode 100644 index 0cd5f9a..0000000 --- a/tests/test_color_su0_sg0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/pipe -rainbow/ow -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/sgid -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz -rainbow/sugid -rainbow/suid diff --git a/tests/test_color_su_sg0.out b/tests/test_color_su_sg0.out deleted file mode 100644 index a9e8c5d..0000000 --- a/tests/test_color_su_sg0.out +++ /dev/null @@ -1,20 +0,0 @@ -rainbow -rainbow/exec.sh -rainbow/socket -rainbow/broken -rainbow/chardev_link -rainbow/link.txt -rainbow/sticky_ow -rainbow/pipe -rainbow/ow -rainbow/sugid -rainbow/suid -rainbow/sticky -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/sgid -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz diff --git a/tests/test_comma.out b/tests/test_comma.out deleted file mode 100644 index 740eefc..0000000 --- a/tests/test_comma.out +++ /dev/null @@ -1,23 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/j/foo -basic/k -basic/k/foo -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_comma_reachability.out b/tests/test_comma_reachability.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_comma_reachability.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_comma_redundant_false.out b/tests/test_comma_redundant_false.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_comma_redundant_false.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_comma_redundant_true.out b/tests/test_comma_redundant_true.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_comma_redundant_true.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_d_path.out b/tests/test_d_path.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_d_path.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_data_flow_and_swap.out b/tests/test_data_flow_and_swap.out deleted file mode 100644 index e604709..0000000 --- a/tests/test_data_flow_and_swap.out +++ /dev/null @@ -1,12 +0,0 @@ -basic -basic/c -basic/e -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/k/foo -basic/l -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_data_flow_depth.out b/tests/test_data_flow_depth.out deleted file mode 100644 index ab127ec..0000000 --- a/tests/test_data_flow_depth.out +++ /dev/null @@ -1,8 +0,0 @@ -basic/c/d -basic/e/f -basic/g/h -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_data_flow_group.out b/tests/test_data_flow_group.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_data_flow_group.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_data_flow_hidden.out b/tests/test_data_flow_hidden.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_data_flow_hidden.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_data_flow_or_swap.out b/tests/test_data_flow_or_swap.out deleted file mode 100644 index e604709..0000000 --- a/tests/test_data_flow_or_swap.out +++ /dev/null @@ -1,12 +0,0 @@ -basic -basic/c -basic/e -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/k/foo -basic/l -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_data_flow_sparse.out b/tests/test_data_flow_sparse.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_data_flow_sparse.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_data_flow_type.out b/tests/test_data_flow_type.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_data_flow_user.out b/tests/test_data_flow_user.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_data_flow_user.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_daystart.out b/tests/test_daystart.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_daystart.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_daystart_twice.out b/tests/test_daystart_twice.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_daystart_twice.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_de_morgan_and.out b/tests/test_de_morgan_and.out deleted file mode 100644 index 7b7afd2..0000000 --- a/tests/test_de_morgan_and.out +++ /dev/null @@ -1,10 +0,0 @@ -basic -basic/c -basic/e -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/l -basic/l/foo/bar diff --git a/tests/test_de_morgan_not.out b/tests/test_de_morgan_not.out deleted file mode 100644 index 5916da3..0000000 --- a/tests/test_de_morgan_not.out +++ /dev/null @@ -1,6 +0,0 @@ -basic/a -basic/b -basic/c/d -basic/e/f -basic/k/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_de_morgan_or.out b/tests/test_de_morgan_or.out deleted file mode 100644 index 2a57066..0000000 --- a/tests/test_de_morgan_or.out +++ /dev/null @@ -1,18 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_deep.out b/tests/test_deep.out deleted file mode 100644 index c385fce..0000000 --- a/tests/test_deep.out +++ /dev/null @@ -1,16 +0,0 @@ -deep/0/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/1/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/2/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/3/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/4/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/5/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/6/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/7/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/8/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/9/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/A/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/B/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/C/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/D/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/E/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/F/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) diff --git a/tests/test_deep_strict.out b/tests/test_deep_strict.out deleted file mode 100644 index c385fce..0000000 --- a/tests/test_deep_strict.out +++ /dev/null @@ -1,16 +0,0 @@ -deep/0/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/1/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/2/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/3/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/4/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/5/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/6/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/7/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/8/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/9/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/A/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/B/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/C/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/D/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/E/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) -deep/F/.../0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDE (4358) diff --git a/tests/test_delete.out b/tests/test_delete.out deleted file mode 100644 index fb188b9..0000000 --- a/tests/test_delete.out +++ /dev/null @@ -1 +0,0 @@ -scratch diff --git a/tests/test_delete_many.out b/tests/test_delete_many.out deleted file mode 100644 index fb188b9..0000000 --- a/tests/test_delete_many.out +++ /dev/null @@ -1 +0,0 @@ -scratch diff --git a/tests/test_depth.out b/tests/test_depth.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_depth.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_depth_depth_n.out b/tests/test_depth_depth_n.out deleted file mode 100644 index 3bfc1d3..0000000 --- a/tests/test_depth_depth_n.out +++ /dev/null @@ -1,6 +0,0 @@ -basic/c/d -basic/e/f -basic/g/h -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_depth_depth_n_minus.out b/tests/test_depth_depth_n_minus.out deleted file mode 100644 index 7575ae4..0000000 --- a/tests/test_depth_depth_n_minus.out +++ /dev/null @@ -1,10 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_depth_depth_n_plus.out b/tests/test_depth_depth_n_plus.out deleted file mode 100644 index 847995d..0000000 --- a/tests/test_depth_depth_n_plus.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/k/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_depth_error.out b/tests/test_depth_error.out deleted file mode 100644 index ed0e9a1..0000000 --- a/tests/test_depth_error.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch -scratch/foo diff --git a/tests/test_depth_maxdepth_1.out b/tests/test_depth_maxdepth_1.out deleted file mode 100644 index 7575ae4..0000000 --- a/tests/test_depth_maxdepth_1.out +++ /dev/null @@ -1,10 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_depth_maxdepth_2.out b/tests/test_depth_maxdepth_2.out deleted file mode 100644 index c53041e..0000000 --- a/tests/test_depth_maxdepth_2.out +++ /dev/null @@ -1,16 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/l -basic/l/foo diff --git a/tests/test_depth_mindepth_1.out b/tests/test_depth_mindepth_1.out deleted file mode 100644 index 3b461cf..0000000 --- a/tests/test_depth_mindepth_1.out +++ /dev/null @@ -1,18 +0,0 @@ -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_depth_mindepth_2.out b/tests/test_depth_mindepth_2.out deleted file mode 100644 index 6ccd80a..0000000 --- a/tests/test_depth_mindepth_2.out +++ /dev/null @@ -1,9 +0,0 @@ -basic/c/d -basic/e/f -basic/g/h -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_depth_n.out b/tests/test_depth_n.out deleted file mode 100644 index 3bfc1d3..0000000 --- a/tests/test_depth_n.out +++ /dev/null @@ -1,6 +0,0 @@ -basic/c/d -basic/e/f -basic/g/h -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_depth_n_minus.out b/tests/test_depth_n_minus.out deleted file mode 100644 index 7575ae4..0000000 --- a/tests/test_depth_n_minus.out +++ /dev/null @@ -1,10 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_depth_n_plus.out b/tests/test_depth_n_plus.out deleted file mode 100644 index 847995d..0000000 --- a/tests/test_depth_n_plus.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/k/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_depth_overflow.out b/tests/test_depth_overflow.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_depth_overflow.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_depth_slash.out b/tests/test_depth_slash.out deleted file mode 100644 index 77526d5..0000000 --- a/tests/test_depth_slash.out +++ /dev/null @@ -1,19 +0,0 @@ -basic/ -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_double_dash.out b/tests/test_double_dash.out deleted file mode 100644 index 774cc7c..0000000 --- a/tests/test_double_dash.out +++ /dev/null @@ -1,7 +0,0 @@ -./a -./b -./c/d -./e/f -./j/foo -./k/foo/bar -./l/foo/bar/baz diff --git a/tests/test_double_negation.out b/tests/test_double_negation.out deleted file mode 100644 index e9d47b1..0000000 --- a/tests/test_double_negation.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_empty.out b/tests/test_empty.out deleted file mode 100644 index a0f4b76..0000000 --- a/tests/test_empty.out +++ /dev/null @@ -1,8 +0,0 @@ -basic/a -basic/b -basic/c/d -basic/e/f -basic/g/h -basic/i -basic/j/foo -basic/k/foo/bar diff --git a/tests/test_empty_special.out b/tests/test_empty_special.out deleted file mode 100644 index 3927f2b..0000000 --- a/tests/test_empty_special.out +++ /dev/null @@ -1,14 +0,0 @@ -rainbow/exec.sh -rainbow/file.dat -rainbow/file.txt -rainbow/mh1 -rainbow/mh2 -rainbow/ow -rainbow/sgid -rainbow/star.gz -rainbow/star.tar -rainbow/star.tar.gz -rainbow/sticky -rainbow/sticky_ow -rainbow/sugid -rainbow/suid diff --git a/tests/test_exclude_depth.out b/tests/test_exclude_depth.out deleted file mode 100644 index 59e3c42..0000000 --- a/tests/test_exclude_depth.out +++ /dev/null @@ -1,13 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_exclude_mindepth.out b/tests/test_exclude_mindepth.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_exclude_name.out b/tests/test_exclude_name.out deleted file mode 100644 index 59e3c42..0000000 --- a/tests/test_exclude_name.out +++ /dev/null @@ -1,13 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_exec.out b/tests/test_exec.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_exec.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_exec_flush.out b/tests/test_exec_flush.out deleted file mode 100644 index fdd7b16..0000000 --- a/tests/test_exec_flush.out +++ /dev/null @@ -1,19 +0,0 @@ -basic found -basic/a found -basic/b found -basic/c found -basic/c/d found -basic/e found -basic/e/f found -basic/g found -basic/g/h found -basic/i found -basic/j found -basic/j/foo found -basic/k found -basic/k/foo found -basic/k/foo/bar found -basic/l found -basic/l/foo found -basic/l/foo/bar found -basic/l/foo/bar/baz found diff --git a/tests/test_exec_flush_fprint.out b/tests/test_exec_flush_fprint.out deleted file mode 100644 index 511198f..0000000 --- a/tests/test_exec_flush_fprint.out +++ /dev/null @@ -1 +0,0 @@ -basic/a diff --git a/tests/test_exec_nonexistent.out b/tests/test_exec_nonexistent.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_exec_nonexistent.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_exec_nopath.out b/tests/test_exec_nopath.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_exec_nopath.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_exec_plus.out b/tests/test_exec_plus.out deleted file mode 100644 index f6b423b..0000000 --- a/tests/test_exec_plus.out +++ /dev/null @@ -1 +0,0 @@ -basic basic/a basic/b basic/c basic/c/d basic/e basic/e/f basic/g basic/g/h basic/i basic/j basic/j/foo basic/k basic/k/foo basic/k/foo/bar basic/l basic/l/foo basic/l/foo/bar basic/l/foo/bar/baz diff --git a/tests/test_exec_plus_flush.out b/tests/test_exec_plus_flush.out deleted file mode 100644 index 3e276be..0000000 Binary files a/tests/test_exec_plus_flush.out and /dev/null differ diff --git a/tests/test_exec_plus_nonexistent.out b/tests/test_exec_plus_nonexistent.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_exec_plus_nonexistent.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_exec_plus_semicolon.out b/tests/test_exec_plus_semicolon.out deleted file mode 100644 index f33c48f..0000000 --- a/tests/test_exec_plus_semicolon.out +++ /dev/null @@ -1,19 +0,0 @@ -foo basic bar + baz -foo basic/a bar + baz -foo basic/b bar + baz -foo basic/c bar + baz -foo basic/c/d bar + baz -foo basic/e bar + baz -foo basic/e/f bar + baz -foo basic/g bar + baz -foo basic/g/h bar + baz -foo basic/i bar + baz -foo basic/j bar + baz -foo basic/j/foo bar + baz -foo basic/k bar + baz -foo basic/k/foo bar + baz -foo basic/k/foo/bar bar + baz -foo basic/l bar + baz -foo basic/l/foo bar + baz -foo basic/l/foo/bar bar + baz -foo basic/l/foo/bar/baz bar + baz diff --git a/tests/test_exec_plus_status.out b/tests/test_exec_plus_status.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_exec_plus_status.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_exec_substring.out b/tests/test_exec_substring.out deleted file mode 100644 index 32a6353..0000000 --- a/tests/test_exec_substring.out +++ /dev/null @@ -1,19 +0,0 @@ --basic- --basic/a- --basic/b- --basic/c- --basic/c/d- --basic/e- --basic/e/f- --basic/g- --basic/g/h- --basic/i- --basic/j- --basic/j/foo- --basic/k- --basic/k/foo- --basic/k/foo/bar- --basic/l- --basic/l/foo- --basic/l/foo/bar- --basic/l/foo/bar/baz- diff --git a/tests/test_execdir.out b/tests/test_execdir.out deleted file mode 100644 index 62b31f6..0000000 --- a/tests/test_execdir.out +++ /dev/null @@ -1,19 +0,0 @@ -./a -./b -./bar -./bar -./basic -./baz -./c -./d -./e -./f -./foo -./foo -./foo -./g -./h -./i -./j -./k -./l diff --git a/tests/test_execdir_nonexistent.out b/tests/test_execdir_nonexistent.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_execdir_nonexistent.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_execdir_plus.out b/tests/test_execdir_plus.out deleted file mode 100644 index 8866a8f..0000000 --- a/tests/test_execdir_plus.out +++ /dev/null @@ -1,11 +0,0 @@ -./a ./b ./c ./e ./g ./i ./j ./k ./l -./bar -./bar -./basic -./baz -./d -./f -./foo -./foo -./foo -./h diff --git a/tests/test_execdir_plus_nonexistent.out b/tests/test_execdir_plus_nonexistent.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_execdir_plus_nonexistent.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_execdir_plus_semicolon.out b/tests/test_execdir_plus_semicolon.out deleted file mode 100644 index e39f452..0000000 --- a/tests/test_execdir_plus_semicolon.out +++ /dev/null @@ -1,19 +0,0 @@ -foo ./a bar + baz -foo ./b bar + baz -foo ./bar bar + baz -foo ./bar bar + baz -foo ./basic bar + baz -foo ./baz bar + baz -foo ./c bar + baz -foo ./d bar + baz -foo ./e bar + baz -foo ./f bar + baz -foo ./foo bar + baz -foo ./foo bar + baz -foo ./foo bar + baz -foo ./g bar + baz -foo ./h bar + baz -foo ./i bar + baz -foo ./j bar + baz -foo ./k bar + baz -foo ./l bar + baz diff --git a/tests/test_execdir_pwd.out b/tests/test_execdir_pwd.out deleted file mode 100644 index a11cd25..0000000 --- a/tests/test_execdir_pwd.out +++ /dev/null @@ -1,19 +0,0 @@ - -basic -basic -basic -basic -basic -basic -basic -basic -basic -basic/c -basic/e -basic/g -basic/j -basic/k -basic/k/foo -basic/l -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_execdir_slash.out b/tests/test_execdir_slash.out deleted file mode 100644 index b498fd4..0000000 --- a/tests/test_execdir_slash.out +++ /dev/null @@ -1 +0,0 @@ -/ diff --git a/tests/test_execdir_slash_pwd.out b/tests/test_execdir_slash_pwd.out deleted file mode 100644 index b498fd4..0000000 --- a/tests/test_execdir_slash_pwd.out +++ /dev/null @@ -1 +0,0 @@ -/ diff --git a/tests/test_execdir_slashes.out b/tests/test_execdir_slashes.out deleted file mode 100644 index b498fd4..0000000 --- a/tests/test_execdir_slashes.out +++ /dev/null @@ -1 +0,0 @@ -/ diff --git a/tests/test_execdir_substring.out b/tests/test_execdir_substring.out deleted file mode 100644 index f7a9ac0..0000000 --- a/tests/test_execdir_substring.out +++ /dev/null @@ -1,19 +0,0 @@ --./a- --./b- --./bar- --./bar- --./basic- --./baz- --./c- --./d- --./e- --./f- --./foo- --./foo- --./foo- --./g- --./h- --./i- --./j- --./k- --./l- diff --git a/tests/test_execdir_ulimit.out b/tests/test_execdir_ulimit.out deleted file mode 100644 index 7f53982..0000000 --- a/tests/test_execdir_ulimit.out +++ /dev/null @@ -1,40 +0,0 @@ -./0 -./1 -./2 -./3 -./4 -./5 -./6 -./7 -./8 -./9 -./A -./B -./C -./a -./b -./c -./d -./e -./f -./g -./h -./i -./j -./k -./l -./m -./n -./o -./p -./q -./r -./s -./scratch -./t -./u -./v -./w -./x -./y -./z diff --git a/tests/test_executable.out b/tests/test_executable.out deleted file mode 100644 index 49c1b21..0000000 --- a/tests/test_executable.out +++ /dev/null @@ -1,4 +0,0 @@ -perms -perms/rwx -perms/rx -perms/wx diff --git a/tests/test_exit.out b/tests/test_exit.out deleted file mode 100644 index cf4d5a9..0000000 --- a/tests/test_exit.out +++ /dev/null @@ -1 +0,0 @@ -basic/g diff --git a/tests/test_exit_no_implicit_print.out b/tests/test_exit_no_implicit_print.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_expr_flag_path.out b/tests/test_expr_flag_path.out deleted file mode 100644 index e67f10b..0000000 --- a/tests/test_expr_flag_path.out +++ /dev/null @@ -1,2 +0,0 @@ -links/skip/broken -links/skip/link diff --git a/tests/test_expr_path_flag.out b/tests/test_expr_path_flag.out deleted file mode 100644 index e67f10b..0000000 --- a/tests/test_expr_path_flag.out +++ /dev/null @@ -1,2 +0,0 @@ -links/skip/broken -links/skip/link diff --git a/tests/test_f.out b/tests/test_f.out deleted file mode 100644 index 77eac77..0000000 --- a/tests/test_f.out +++ /dev/null @@ -1,4 +0,0 @@ -( -(/b -- --/a diff --git a/tests/test_false.out b/tests/test_false.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_files0_from_file.out b/tests/test_files0_from_file.out deleted file mode 100644 index 1d87e6b..0000000 --- a/tests/test_files0_from_file.out +++ /dev/null @@ -1,33 +0,0 @@ - - /j - /j -! -!- -!-/e -!-/e -!/d -!/d -( -(- -(-/c -(-/c -(/b -(/b -) -)/g -)/g -, -,/f -,/f -- --/a --/a -... -.../h -.../h -[ -[/k -[/k -\ -\/i -\/i diff --git a/tests/test_files0_from_stdin.out b/tests/test_files0_from_stdin.out deleted file mode 100644 index 1d87e6b..0000000 --- a/tests/test_files0_from_stdin.out +++ /dev/null @@ -1,33 +0,0 @@ - - /j - /j -! -!- -!-/e -!-/e -!/d -!/d -( -(- -(-/c -(-/c -(/b -(/b -) -)/g -)/g -, -,/f -,/f -- --/a --/a -... -.../h -.../h -[ -[/k -[/k -\ -\/i -\/i diff --git a/tests/test_flag_comma.out b/tests/test_flag_comma.out deleted file mode 100644 index 3574388..0000000 --- a/tests/test_flag_comma.out +++ /dev/null @@ -1,2 +0,0 @@ -, -,/f diff --git a/tests/test_flag_double_dash.out b/tests/test_flag_double_dash.out deleted file mode 100644 index 774cc7c..0000000 --- a/tests/test_flag_double_dash.out +++ /dev/null @@ -1,7 +0,0 @@ -./a -./b -./c/d -./e/f -./j/foo -./k/foo/bar -./l/foo/bar/baz diff --git a/tests/test_flag_expr_path.out b/tests/test_flag_expr_path.out deleted file mode 100644 index e67f10b..0000000 --- a/tests/test_flag_expr_path.out +++ /dev/null @@ -1,2 +0,0 @@ -links/skip/broken -links/skip/link diff --git a/tests/test_flag_weird_names.out b/tests/test_flag_weird_names.out deleted file mode 100644 index c395659..0000000 --- a/tests/test_flag_weird_names.out +++ /dev/null @@ -1,28 +0,0 @@ -!- -!- -!-/e -!-/e -(- -(- -(-/c -(-/c -) -) -)/g -)/g -, -, -,/f -,/f -- -- --/a --/a -./! -./! -./!/d -./!/d -./( -./( -./(/b -./(/b diff --git a/tests/test_flags.out b/tests/test_flags.out deleted file mode 100644 index 11998ed..0000000 --- a/tests/test_flags.out +++ /dev/null @@ -1 +0,0 @@ -scratch/bar diff --git a/tests/test_follow.out b/tests/test_follow.out deleted file mode 100644 index ec9e861..0000000 --- a/tests/test_follow.out +++ /dev/null @@ -1,17 +0,0 @@ -links -links/broken -links/deeply -links/deeply/nested -links/deeply/nested/broken -links/deeply/nested/dir -links/deeply/nested/file -links/deeply/nested/link -links/file -links/hardlink -links/notdir -links/skip -links/skip/broken -links/skip/dir -links/skip/file -links/skip/link -links/symlink diff --git a/tests/test_follow_comma.out b/tests/test_follow_comma.out deleted file mode 100644 index 920b3d3..0000000 --- a/tests/test_follow_comma.out +++ /dev/null @@ -1,23 +0,0 @@ -. -./ -./ /j -./! -./!- -./!-/e -./!/d -./( -./(- -./(-/c -./(/b -./) -./)/g -./, -./,/f -./- -./-/a -./... -./.../h -./[ -./[/k -./\ -./\/i diff --git a/tests/test_fprint.out b/tests/test_fprint.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_fprint.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_fprint0.out b/tests/test_fprint0.out deleted file mode 100644 index 1347444..0000000 Binary files a/tests/test_fprint0.out and /dev/null differ diff --git a/tests/test_fprint_append.out b/tests/test_fprint_append.out deleted file mode 100644 index 6c21751..0000000 --- a/tests/test_fprint_append.out +++ /dev/null @@ -1,38 +0,0 @@ -basic -basic -basic/a -basic/a -basic/b -basic/b -basic/c -basic/c -basic/c/d -basic/c/d -basic/e -basic/e -basic/e/f -basic/e/f -basic/g -basic/g -basic/g/h -basic/g/h -basic/i -basic/i -basic/j -basic/j -basic/j/foo -basic/j/foo -basic/k -basic/k -basic/k/foo -basic/k/foo -basic/k/foo/bar -basic/k/foo/bar -basic/l -basic/l -basic/l/foo -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz -basic/l/foo/bar/baz diff --git a/tests/test_fprint_duplicate.out b/tests/test_fprint_duplicate.out deleted file mode 100644 index 2575f35..0000000 --- a/tests/test_fprint_duplicate.out +++ /dev/null @@ -1,57 +0,0 @@ -basic -basic -basic -basic/a -basic/a -basic/a -basic/b -basic/b -basic/b -basic/c -basic/c -basic/c -basic/c/d -basic/c/d -basic/c/d -basic/e -basic/e -basic/e -basic/e/f -basic/e/f -basic/e/f -basic/g -basic/g -basic/g -basic/g/h -basic/g/h -basic/g/h -basic/i -basic/i -basic/i -basic/j -basic/j -basic/j -basic/j/foo -basic/j/foo -basic/j/foo -basic/k -basic/k -basic/k -basic/k/foo -basic/k/foo -basic/k/foo -basic/k/foo/bar -basic/k/foo/bar -basic/k/foo/bar -basic/l -basic/l -basic/l -basic/l/foo -basic/l/foo -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz -basic/l/foo/bar/baz -basic/l/foo/bar/baz diff --git a/tests/test_fprint_duplicate_stdout.out b/tests/test_fprint_duplicate_stdout.out deleted file mode 100644 index 6c21751..0000000 --- a/tests/test_fprint_duplicate_stdout.out +++ /dev/null @@ -1,38 +0,0 @@ -basic -basic -basic/a -basic/a -basic/b -basic/b -basic/c -basic/c -basic/c/d -basic/c/d -basic/e -basic/e -basic/e/f -basic/e/f -basic/g -basic/g -basic/g/h -basic/g/h -basic/i -basic/i -basic/j -basic/j -basic/j/foo -basic/j/foo -basic/k -basic/k -basic/k/foo -basic/k/foo -basic/k/foo/bar -basic/k/foo/bar -basic/l -basic/l -basic/l/foo -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar -basic/l/foo/bar/baz -basic/l/foo/bar/baz diff --git a/tests/test_fprint_truncate.out b/tests/test_fprint_truncate.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_fprint_truncate.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_fprintf.out b/tests/test_fprintf.out deleted file mode 100644 index 77ce17a..0000000 --- a/tests/test_fprintf.out +++ /dev/null @@ -1,19 +0,0 @@ -%p(basic) %d(0) %f(basic) %h(.) %H(basic) %P() %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/a) %d(1) %f(a) %h(basic) %H(basic) %P(a) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/b) %d(1) %f(b) %h(basic) %H(basic) %P(b) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/c) %d(1) %f(c) %h(basic) %H(basic) %P(c) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/c/d) %d(2) %f(d) %h(basic/c) %H(basic) %P(c/d) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/e) %d(1) %f(e) %h(basic) %H(basic) %P(e) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/e/f) %d(2) %f(f) %h(basic/e) %H(basic) %P(e/f) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/g) %d(1) %f(g) %h(basic) %H(basic) %P(g) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/g/h) %d(2) %f(h) %h(basic/g) %H(basic) %P(g/h) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/i) %d(1) %f(i) %h(basic) %H(basic) %P(i) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/j) %d(1) %f(j) %h(basic) %H(basic) %P(j) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/j/foo) %d(2) %f(foo) %h(basic/j) %H(basic) %P(j/foo) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/k) %d(1) %f(k) %h(basic) %H(basic) %P(k) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/k/foo) %d(2) %f(foo) %h(basic/k) %H(basic) %P(k/foo) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/k/foo/bar) %d(3) %f(bar) %h(basic/k/foo) %H(basic) %P(k/foo/bar) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/l) %d(1) %f(l) %h(basic) %H(basic) %P(l) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/l/foo) %d(2) %f(foo) %h(basic/l) %H(basic) %P(l/foo) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/l/foo/bar) %d(3) %f(bar) %h(basic/l/foo) %H(basic) %P(l/foo/bar) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/l/foo/bar/baz) %d(4) %f(baz) %h(basic/l/foo/bar) %H(basic) %P(l/foo/bar/baz) %m(644) %M(-rw-r--r--) %y(f) diff --git a/tests/test_fstype.out b/tests/test_fstype.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_fstype.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_gid.out b/tests/test_gid.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_gid.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_gid_minus.out b/tests/test_gid_minus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_gid_minus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_gid_minus_plus.out b/tests/test_gid_minus_plus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_gid_minus_plus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_gid_name.out b/tests/test_gid_name.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_gid_name.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_gid_plus.out b/tests/test_gid_plus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_gid_plus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_gid_plus_plus.out b/tests/test_gid_plus_plus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_gid_plus_plus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_group_id.out b/tests/test_group_id.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_group_id.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_group_name.out b/tests/test_group_name.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_group_name.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_group_nogroup.out b/tests/test_group_nogroup.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_group_nogroup.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_hidden.out b/tests/test_hidden.out deleted file mode 100644 index e65ede9..0000000 --- a/tests/test_hidden.out +++ /dev/null @@ -1 +0,0 @@ -weirdnames/... diff --git a/tests/test_hidden_root.out b/tests/test_hidden_root.out deleted file mode 100644 index 8c1371b..0000000 --- a/tests/test_hidden_root.out +++ /dev/null @@ -1,5 +0,0 @@ -... -.../../... -./... -./... -././... diff --git a/tests/test_ilname.out b/tests/test_ilname.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_implicit_and.out b/tests/test_implicit_and.out deleted file mode 100644 index 722962c..0000000 --- a/tests/test_implicit_and.out +++ /dev/null @@ -1,2 +0,0 @@ -basic/k/foo -basic/l/foo diff --git a/tests/test_iname.out b/tests/test_iname.out deleted file mode 100644 index a9e5d42..0000000 --- a/tests/test_iname.out +++ /dev/null @@ -1,4 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_inum.out b/tests/test_inum.out deleted file mode 100644 index ebcaf79..0000000 --- a/tests/test_inum.out +++ /dev/null @@ -1 +0,0 @@ -basic/k/foo/bar diff --git a/tests/test_inum_automount.out b/tests/test_inum_automount.out deleted file mode 100644 index 99c7511..0000000 --- a/tests/test_inum_automount.out +++ /dev/null @@ -1 +0,0 @@ -scratch/mnt diff --git a/tests/test_inum_bind_mount.out b/tests/test_inum_bind_mount.out deleted file mode 100644 index a520de3..0000000 --- a/tests/test_inum_bind_mount.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch/bar -scratch/foo diff --git a/tests/test_inum_mount.out b/tests/test_inum_mount.out deleted file mode 100644 index 99c7511..0000000 --- a/tests/test_inum_mount.out +++ /dev/null @@ -1 +0,0 @@ -scratch/mnt diff --git a/tests/test_ipath.out b/tests/test_ipath.out deleted file mode 100644 index ae1ae21..0000000 --- a/tests/test_ipath.out +++ /dev/null @@ -1,7 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_iregex.out b/tests/test_iregex.out deleted file mode 100644 index cfc113b..0000000 --- a/tests/test_iregex.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/c/d -basic/e/f -basic/g/h diff --git a/tests/test_iwholename.out b/tests/test_iwholename.out deleted file mode 100644 index ae1ae21..0000000 --- a/tests/test_iwholename.out +++ /dev/null @@ -1,7 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_links.out b/tests/test_links.out deleted file mode 100644 index 996ffc8..0000000 --- a/tests/test_links.out +++ /dev/null @@ -1,2 +0,0 @@ -links/file -links/hardlink diff --git a/tests/test_links_minus.out b/tests/test_links_minus.out deleted file mode 100644 index eda26f1..0000000 --- a/tests/test_links_minus.out +++ /dev/null @@ -1 +0,0 @@ -links/deeply/nested/file diff --git a/tests/test_links_plus.out b/tests/test_links_plus.out deleted file mode 100644 index 996ffc8..0000000 --- a/tests/test_links_plus.out +++ /dev/null @@ -1,2 +0,0 @@ -links/file -links/hardlink diff --git a/tests/test_lname.out b/tests/test_lname.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_maxdepth.out b/tests/test_maxdepth.out deleted file mode 100644 index 7575ae4..0000000 --- a/tests/test_maxdepth.out +++ /dev/null @@ -1,10 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_mindepth.out b/tests/test_mindepth.out deleted file mode 100644 index 3b461cf..0000000 --- a/tests/test_mindepth.out +++ /dev/null @@ -1,18 +0,0 @@ -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_mnewer.out b/tests/test_mnewer.out deleted file mode 100644 index 7f6c0dd..0000000 --- a/tests/test_mnewer.out +++ /dev/null @@ -1,4 +0,0 @@ -times -times/b -times/c -times/l diff --git a/tests/test_mount.out b/tests/test_mount.out deleted file mode 100644 index f7839fb..0000000 --- a/tests/test_mount.out +++ /dev/null @@ -1,4 +0,0 @@ -scratch -scratch/foo -scratch/foo/bar -scratch/mnt diff --git a/tests/test_msince.out b/tests/test_msince.out deleted file mode 100644 index 650e550..0000000 --- a/tests/test_msince.out +++ /dev/null @@ -1,3 +0,0 @@ -times -times/c -times/l diff --git a/tests/test_mtime_units.out b/tests/test_mtime_units.out deleted file mode 100644 index f7f63b0..0000000 --- a/tests/test_mtime_units.out +++ /dev/null @@ -1,5 +0,0 @@ -times -times/a -times/b -times/c -times/l diff --git a/tests/test_name.out b/tests/test_name.out deleted file mode 100644 index a9e5d42..0000000 --- a/tests/test_name.out +++ /dev/null @@ -1,4 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_name_backslash.out b/tests/test_name_backslash.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_name_bracket.out b/tests/test_name_bracket.out deleted file mode 100644 index 5ff3c0c..0000000 --- a/tests/test_name_bracket.out +++ /dev/null @@ -1 +0,0 @@ -weirdnames/[ diff --git a/tests/test_name_character_class.out b/tests/test_name_character_class.out deleted file mode 100644 index e9d47b1..0000000 --- a/tests/test_name_character_class.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_name_double_backslash.out b/tests/test_name_double_backslash.out deleted file mode 100644 index 45ceda0..0000000 --- a/tests/test_name_double_backslash.out +++ /dev/null @@ -1 +0,0 @@ -weirdnames/\ diff --git a/tests/test_name_root.out b/tests/test_name_root.out deleted file mode 100644 index 511198f..0000000 --- a/tests/test_name_root.out +++ /dev/null @@ -1 +0,0 @@ -basic/a diff --git a/tests/test_name_root_depth.out b/tests/test_name_root_depth.out deleted file mode 100644 index cf4d5a9..0000000 --- a/tests/test_name_root_depth.out +++ /dev/null @@ -1 +0,0 @@ -basic/g diff --git a/tests/test_name_slash.out b/tests/test_name_slash.out deleted file mode 100644 index b498fd4..0000000 --- a/tests/test_name_slash.out +++ /dev/null @@ -1 +0,0 @@ -/ diff --git a/tests/test_name_slashes.out b/tests/test_name_slashes.out deleted file mode 100644 index 187b81f..0000000 --- a/tests/test_name_slashes.out +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/tests/test_name_star_star.out b/tests/test_name_star_star.out deleted file mode 100644 index a9e5d42..0000000 --- a/tests/test_name_star_star.out +++ /dev/null @@ -1,4 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_name_trailing_slash.out b/tests/test_name_trailing_slash.out deleted file mode 100644 index daff2f5..0000000 --- a/tests/test_name_trailing_slash.out +++ /dev/null @@ -1 +0,0 @@ -basic/g/ diff --git a/tests/test_newer.out b/tests/test_newer.out deleted file mode 100644 index 7f6c0dd..0000000 --- a/tests/test_newer.out +++ /dev/null @@ -1,4 +0,0 @@ -times -times/b -times/c -times/l diff --git a/tests/test_newer_link.out b/tests/test_newer_link.out deleted file mode 100644 index d2dcdd1..0000000 --- a/tests/test_newer_link.out +++ /dev/null @@ -1 +0,0 @@ -times diff --git a/tests/test_newerma.out b/tests/test_newerma.out deleted file mode 100644 index 7f6c0dd..0000000 --- a/tests/test_newerma.out +++ /dev/null @@ -1,4 +0,0 @@ -times -times/b -times/c -times/l diff --git a/tests/test_newermt.out b/tests/test_newermt.out deleted file mode 100644 index 650e550..0000000 --- a/tests/test_newermt.out +++ /dev/null @@ -1,3 +0,0 @@ -times -times/c -times/l diff --git a/tests/test_newermt_epoch_minus_one.out b/tests/test_newermt_epoch_minus_one.out deleted file mode 100644 index f7f63b0..0000000 --- a/tests/test_newermt_epoch_minus_one.out +++ /dev/null @@ -1,5 +0,0 @@ -times -times/a -times/b -times/c -times/l diff --git a/tests/test_nogroup.out b/tests/test_nogroup.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_nogroup_ulimit.out b/tests/test_nogroup_ulimit.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_nohidden.out b/tests/test_nohidden.out deleted file mode 100644 index d3ec901..0000000 --- a/tests/test_nohidden.out +++ /dev/null @@ -1,21 +0,0 @@ -weirdnames -weirdnames/ -weirdnames/ /j -weirdnames/! -weirdnames/!- -weirdnames/!-/e -weirdnames/!/d -weirdnames/( -weirdnames/(- -weirdnames/(-/c -weirdnames/(/b -weirdnames/) -weirdnames/)/g -weirdnames/, -weirdnames/,/f -weirdnames/- -weirdnames/-/a -weirdnames/[ -weirdnames/[/k -weirdnames/\ -weirdnames/\/i diff --git a/tests/test_nohidden_depth.out b/tests/test_nohidden_depth.out deleted file mode 100644 index d3ec901..0000000 --- a/tests/test_nohidden_depth.out +++ /dev/null @@ -1,21 +0,0 @@ -weirdnames -weirdnames/ -weirdnames/ /j -weirdnames/! -weirdnames/!- -weirdnames/!-/e -weirdnames/!/d -weirdnames/( -weirdnames/(- -weirdnames/(-/c -weirdnames/(/b -weirdnames/) -weirdnames/)/g -weirdnames/, -weirdnames/,/f -weirdnames/- -weirdnames/-/a -weirdnames/[ -weirdnames/[/k -weirdnames/\ -weirdnames/\/i diff --git a/tests/test_not.out b/tests/test_not.out deleted file mode 100644 index b286454..0000000 --- a/tests/test_not.out +++ /dev/null @@ -1,16 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/k/foo/bar -basic/l -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_not_prune.out b/tests/test_not_prune.out deleted file mode 100644 index 59e3c42..0000000 --- a/tests/test_not_prune.out +++ /dev/null @@ -1,13 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_not_reachability.out b/tests/test_not_reachability.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_not_reachability.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_nouser.out b/tests/test_nouser.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_nouser_ulimit.out b/tests/test_nouser_ulimit.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_o.out b/tests/test_o.out deleted file mode 100644 index 1650c4d..0000000 --- a/tests/test_o.out +++ /dev/null @@ -1,13 +0,0 @@ -basic -basic/c -basic/e -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/l -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_ok_closed_stdin.out b/tests/test_ok_closed_stdin.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_ok_plus_semicolon.out b/tests/test_ok_plus_semicolon.out deleted file mode 100644 index 2a3e14f..0000000 --- a/tests/test_ok_plus_semicolon.out +++ /dev/null @@ -1,19 +0,0 @@ -basic + -basic/a + -basic/b + -basic/c + -basic/c/d + -basic/e + -basic/e/f + -basic/g + -basic/g/h + -basic/i + -basic/j + -basic/j/foo + -basic/k + -basic/k/foo + -basic/k/foo/bar + -basic/l + -basic/l/foo + -basic/l/foo/bar + -basic/l/foo/bar/baz + diff --git a/tests/test_ok_stdin.out b/tests/test_ok_stdin.out deleted file mode 100644 index 7acf711..0000000 --- a/tests/test_ok_stdin.out +++ /dev/null @@ -1,19 +0,0 @@ -basic/a? y -basic/b? y -basic/c/d? y -basic/c? y -basic/e/f? y -basic/e? y -basic/g/h? y -basic/g? y -basic/i? y -basic/j/foo? y -basic/j? y -basic/k/foo/bar? y -basic/k/foo? y -basic/k? y -basic/l/foo/bar/baz? y -basic/l/foo/bar? y -basic/l/foo? y -basic/l? y -basic? y diff --git a/tests/test_okdir_closed_stdin.out b/tests/test_okdir_closed_stdin.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_okdir_plus_semicolon.out b/tests/test_okdir_plus_semicolon.out deleted file mode 100644 index 1909d27..0000000 --- a/tests/test_okdir_plus_semicolon.out +++ /dev/null @@ -1,19 +0,0 @@ -./a + -./b + -./bar + -./bar + -./basic + -./baz + -./c + -./d + -./e + -./f + -./foo + -./foo + -./foo + -./g + -./h + -./i + -./j + -./k + -./l + diff --git a/tests/test_okdir_stdin.out b/tests/test_okdir_stdin.out deleted file mode 100644 index ef2a68b..0000000 --- a/tests/test_okdir_stdin.out +++ /dev/null @@ -1,19 +0,0 @@ -./a? y -./b? y -./bar? y -./bar? y -./basic? y -./baz? y -./c? y -./d? y -./e? y -./f? y -./foo? y -./foo? y -./foo? y -./g? y -./h? y -./i? y -./j? y -./k? y -./l? y diff --git a/tests/test_or.out b/tests/test_or.out deleted file mode 100644 index 1650c4d..0000000 --- a/tests/test_or.out +++ /dev/null @@ -1,13 +0,0 @@ -basic -basic/c -basic/e -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/l -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_or_purity.out b/tests/test_or_purity.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_parens.out b/tests/test_parens.out deleted file mode 100644 index a9e5d42..0000000 --- a/tests/test_parens.out +++ /dev/null @@ -1,4 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_path.out b/tests/test_path.out deleted file mode 100644 index ae1ae21..0000000 --- a/tests/test_path.out +++ /dev/null @@ -1,7 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_path_d.out b/tests/test_path_d.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_path_d.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_path_expr_flag.out b/tests/test_path_expr_flag.out deleted file mode 100644 index e67f10b..0000000 --- a/tests/test_path_expr_flag.out +++ /dev/null @@ -1,2 +0,0 @@ -links/skip/broken -links/skip/link diff --git a/tests/test_path_flag_expr.out b/tests/test_path_flag_expr.out deleted file mode 100644 index e67f10b..0000000 --- a/tests/test_path_flag_expr.out +++ /dev/null @@ -1,2 +0,0 @@ -links/skip/broken -links/skip/link diff --git a/tests/test_perm_000.out b/tests/test_perm_000.out deleted file mode 100644 index 5fd30bc..0000000 --- a/tests/test_perm_000.out +++ /dev/null @@ -1 +0,0 @@ -perms/0 diff --git a/tests/test_perm_000_minus.out b/tests/test_perm_000_minus.out deleted file mode 100644 index d7494b8..0000000 --- a/tests/test_perm_000_minus.out +++ /dev/null @@ -1,8 +0,0 @@ -perms -perms/0 -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_perm_000_plus.out b/tests/test_perm_000_plus.out deleted file mode 100644 index d7494b8..0000000 --- a/tests/test_perm_000_plus.out +++ /dev/null @@ -1,8 +0,0 @@ -perms -perms/0 -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_perm_000_slash.out b/tests/test_perm_000_slash.out deleted file mode 100644 index d7494b8..0000000 --- a/tests/test_perm_000_slash.out +++ /dev/null @@ -1,8 +0,0 @@ -perms -perms/0 -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_perm_222.out b/tests/test_perm_222.out deleted file mode 100644 index 1690e43..0000000 --- a/tests/test_perm_222.out +++ /dev/null @@ -1 +0,0 @@ -perms/w diff --git a/tests/test_perm_222_minus.out b/tests/test_perm_222_minus.out deleted file mode 100644 index 1690e43..0000000 --- a/tests/test_perm_222_minus.out +++ /dev/null @@ -1 +0,0 @@ -perms/w diff --git a/tests/test_perm_222_plus.out b/tests/test_perm_222_plus.out deleted file mode 100644 index 9a5b95a..0000000 --- a/tests/test_perm_222_plus.out +++ /dev/null @@ -1,5 +0,0 @@ -perms -perms/rw -perms/rwx -perms/w -perms/wx diff --git a/tests/test_perm_222_slash.out b/tests/test_perm_222_slash.out deleted file mode 100644 index 9a5b95a..0000000 --- a/tests/test_perm_222_slash.out +++ /dev/null @@ -1,5 +0,0 @@ -perms -perms/rw -perms/rwx -perms/w -perms/wx diff --git a/tests/test_perm_644.out b/tests/test_perm_644.out deleted file mode 100644 index 4e64e49..0000000 --- a/tests/test_perm_644.out +++ /dev/null @@ -1 +0,0 @@ -perms/rw diff --git a/tests/test_perm_644_minus.out b/tests/test_perm_644_minus.out deleted file mode 100644 index 2e2576b..0000000 --- a/tests/test_perm_644_minus.out +++ /dev/null @@ -1,3 +0,0 @@ -perms -perms/rw -perms/rwx diff --git a/tests/test_perm_644_plus.out b/tests/test_perm_644_plus.out deleted file mode 100644 index 7e5ae98..0000000 --- a/tests/test_perm_644_plus.out +++ /dev/null @@ -1,7 +0,0 @@ -perms -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_perm_644_slash.out b/tests/test_perm_644_slash.out deleted file mode 100644 index 7e5ae98..0000000 --- a/tests/test_perm_644_slash.out +++ /dev/null @@ -1,7 +0,0 @@ -perms -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_perm_leading_plus_symbolic.out b/tests/test_perm_leading_plus_symbolic.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_perm_leading_plus_symbolic_minus.out b/tests/test_perm_leading_plus_symbolic_minus.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_perm_leading_plus_symbolic_slash.out b/tests/test_perm_leading_plus_symbolic_slash.out deleted file mode 100644 index 7e5ae98..0000000 --- a/tests/test_perm_leading_plus_symbolic_slash.out +++ /dev/null @@ -1,7 +0,0 @@ -perms -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_perm_setid.out b/tests/test_perm_setid.out deleted file mode 100644 index 865a74e..0000000 --- a/tests/test_perm_setid.out +++ /dev/null @@ -1,3 +0,0 @@ -rainbow/sgid -rainbow/sugid -rainbow/suid diff --git a/tests/test_perm_sticky.out b/tests/test_perm_sticky.out deleted file mode 100644 index c07eb61..0000000 --- a/tests/test_perm_sticky.out +++ /dev/null @@ -1,2 +0,0 @@ -rainbow/sticky -rainbow/sticky_ow diff --git a/tests/test_perm_symbolic.out b/tests/test_perm_symbolic.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_perm_symbolic_minus.out b/tests/test_perm_symbolic_minus.out deleted file mode 100644 index 2e2576b..0000000 --- a/tests/test_perm_symbolic_minus.out +++ /dev/null @@ -1,3 +0,0 @@ -perms -perms/rw -perms/rwx diff --git a/tests/test_perm_symbolic_slash.out b/tests/test_perm_symbolic_slash.out deleted file mode 100644 index 7e5ae98..0000000 --- a/tests/test_perm_symbolic_slash.out +++ /dev/null @@ -1,7 +0,0 @@ -perms -perms/r -perms/rw -perms/rwx -perms/rx -perms/w -perms/wx diff --git a/tests/test_permcopy.out b/tests/test_permcopy.out deleted file mode 100644 index 4e64e49..0000000 --- a/tests/test_permcopy.out +++ /dev/null @@ -1 +0,0 @@ -perms/rw diff --git a/tests/test_precedence.out b/tests/test_precedence.out deleted file mode 100644 index 7f589f2..0000000 --- a/tests/test_precedence.out +++ /dev/null @@ -1,4 +0,0 @@ -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar/baz diff --git a/tests/test_print0.out b/tests/test_print0.out deleted file mode 100644 index 1347444..0000000 Binary files a/tests/test_print0.out and /dev/null differ diff --git a/tests/test_printf.out b/tests/test_printf.out deleted file mode 100644 index 77ce17a..0000000 --- a/tests/test_printf.out +++ /dev/null @@ -1,19 +0,0 @@ -%p(basic) %d(0) %f(basic) %h(.) %H(basic) %P() %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/a) %d(1) %f(a) %h(basic) %H(basic) %P(a) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/b) %d(1) %f(b) %h(basic) %H(basic) %P(b) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/c) %d(1) %f(c) %h(basic) %H(basic) %P(c) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/c/d) %d(2) %f(d) %h(basic/c) %H(basic) %P(c/d) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/e) %d(1) %f(e) %h(basic) %H(basic) %P(e) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/e/f) %d(2) %f(f) %h(basic/e) %H(basic) %P(e/f) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/g) %d(1) %f(g) %h(basic) %H(basic) %P(g) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/g/h) %d(2) %f(h) %h(basic/g) %H(basic) %P(g/h) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/i) %d(1) %f(i) %h(basic) %H(basic) %P(i) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/j) %d(1) %f(j) %h(basic) %H(basic) %P(j) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/j/foo) %d(2) %f(foo) %h(basic/j) %H(basic) %P(j/foo) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/k) %d(1) %f(k) %h(basic) %H(basic) %P(k) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/k/foo) %d(2) %f(foo) %h(basic/k) %H(basic) %P(k/foo) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/k/foo/bar) %d(3) %f(bar) %h(basic/k/foo) %H(basic) %P(k/foo/bar) %m(644) %M(-rw-r--r--) %y(f) -%p(basic/l) %d(1) %f(l) %h(basic) %H(basic) %P(l) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/l/foo) %d(2) %f(foo) %h(basic/l) %H(basic) %P(l/foo) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/l/foo/bar) %d(3) %f(bar) %h(basic/l/foo) %H(basic) %P(l/foo/bar) %m(755) %M(drwxr-xr-x) %y(d) -%p(basic/l/foo/bar/baz) %d(4) %f(baz) %h(basic/l/foo/bar) %H(basic) %P(l/foo/bar/baz) %m(644) %M(-rw-r--r--) %y(f) diff --git a/tests/test_printf_H.out b/tests/test_printf_H.out deleted file mode 100644 index 6b605ff..0000000 --- a/tests/test_printf_H.out +++ /dev/null @@ -1,32 +0,0 @@ -%p(basic) %d(0) %f(basic) %h(.) %H(basic) %P() %y(d) -%p(basic/a) %d(1) %f(a) %h(basic) %H(basic) %P(a) %y(f) -%p(basic/b) %d(1) %f(b) %h(basic) %H(basic) %P(b) %y(f) -%p(basic/c) %d(1) %f(c) %h(basic) %H(basic) %P(c) %y(d) -%p(basic/c/d) %d(2) %f(d) %h(basic/c) %H(basic) %P(c/d) %y(f) -%p(basic/e) %d(1) %f(e) %h(basic) %H(basic) %P(e) %y(d) -%p(basic/e/f) %d(2) %f(f) %h(basic/e) %H(basic) %P(e/f) %y(f) -%p(basic/g) %d(1) %f(g) %h(basic) %H(basic) %P(g) %y(d) -%p(basic/g/h) %d(2) %f(h) %h(basic/g) %H(basic) %P(g/h) %y(d) -%p(basic/i) %d(1) %f(i) %h(basic) %H(basic) %P(i) %y(d) -%p(basic/j) %d(1) %f(j) %h(basic) %H(basic) %P(j) %y(d) -%p(basic/j/foo) %d(2) %f(foo) %h(basic/j) %H(basic) %P(j/foo) %y(f) -%p(basic/k) %d(1) %f(k) %h(basic) %H(basic) %P(k) %y(d) -%p(basic/k/foo) %d(2) %f(foo) %h(basic/k) %H(basic) %P(k/foo) %y(d) -%p(basic/k/foo/bar) %d(3) %f(bar) %h(basic/k/foo) %H(basic) %P(k/foo/bar) %y(f) -%p(basic/l) %d(1) %f(l) %h(basic) %H(basic) %P(l) %y(d) -%p(basic/l/foo) %d(2) %f(foo) %h(basic/l) %H(basic) %P(l/foo) %y(d) -%p(basic/l/foo/bar) %d(3) %f(bar) %h(basic/l/foo) %H(basic) %P(l/foo/bar) %y(d) -%p(basic/l/foo/bar/baz) %d(4) %f(baz) %h(basic/l/foo/bar) %H(basic) %P(l/foo/bar/baz) %y(f) -%p(links) %d(0) %f(links) %h(.) %H(links) %P() %y(d) -%p(links/broken) %d(1) %f(broken) %h(links) %H(links) %P(broken) %y(l) -%p(links/deeply) %d(1) %f(deeply) %h(links) %H(links) %P(deeply) %y(d) -%p(links/deeply/nested) %d(2) %f(nested) %h(links/deeply) %H(links) %P(deeply/nested) %y(d) -%p(links/deeply/nested/broken) %d(3) %f(broken) %h(links/deeply/nested) %H(links) %P(deeply/nested/broken) %y(l) -%p(links/deeply/nested/dir) %d(3) %f(dir) %h(links/deeply/nested) %H(links) %P(deeply/nested/dir) %y(d) -%p(links/deeply/nested/file) %d(3) %f(file) %h(links/deeply/nested) %H(links) %P(deeply/nested/file) %y(f) -%p(links/deeply/nested/link) %d(3) %f(link) %h(links/deeply/nested) %H(links) %P(deeply/nested/link) %y(l) -%p(links/file) %d(1) %f(file) %h(links) %H(links) %P(file) %y(f) -%p(links/hardlink) %d(1) %f(hardlink) %h(links) %H(links) %P(hardlink) %y(f) -%p(links/notdir) %d(1) %f(notdir) %h(links) %H(links) %P(notdir) %y(l) -%p(links/skip) %d(1) %f(skip) %h(links) %H(links) %P(skip) %y(l) -%p(links/symlink) %d(1) %f(symlink) %h(links) %H(links) %P(symlink) %y(l) diff --git a/tests/test_printf_Y_error.out b/tests/test_printf_Y_error.out deleted file mode 100644 index 410a9b5..0000000 --- a/tests/test_printf_Y_error.out +++ /dev/null @@ -1,3 +0,0 @@ -(scratch) () d d -(scratch/bar) (foo/bar) l ? -(scratch/foo) () d d diff --git a/tests/test_printf_color.out b/tests/test_printf_color.out deleted file mode 100644 index d9cd1a4..0000000 --- a/tests/test_printf_color.out +++ /dev/null @@ -1,20 +0,0 @@ -. . rainbow ./rainbow rainbow -. ./rainbow exec.sh ./rainbow/exec.sh rainbow/exec.sh -. ./rainbow socket ./rainbow/socket rainbow/socket -. ./rainbow broken ./rainbow/broken rainbow/broken nowhere -. ./rainbow chardev_link ./rainbow/chardev_link rainbow/chardev_link /dev/null -. ./rainbow link.txt ./rainbow/link.txt rainbow/link.txt file.txt -. ./rainbow sticky_ow ./rainbow/sticky_ow rainbow/sticky_ow -. ./rainbow sgid ./rainbow/sgid rainbow/sgid -. ./rainbow pipe ./rainbow/pipe rainbow/pipe -. ./rainbow ow ./rainbow/ow rainbow/ow -. ./rainbow sugid ./rainbow/sugid rainbow/sugid -. ./rainbow suid ./rainbow/suid rainbow/suid -. ./rainbow sticky ./rainbow/sticky rainbow/sticky -. ./rainbow file.dat ./rainbow/file.dat rainbow/file.dat -. ./rainbow file.txt ./rainbow/file.txt rainbow/file.txt -. ./rainbow mh1 ./rainbow/mh1 rainbow/mh1 -. ./rainbow mh2 ./rainbow/mh2 rainbow/mh2 -. ./rainbow star.gz ./rainbow/star.gz rainbow/star.gz -. ./rainbow star.tar ./rainbow/star.tar rainbow/star.tar -. ./rainbow star.tar.gz ./rainbow/star.tar.gz rainbow/star.tar.gz diff --git a/tests/test_printf_empty.out b/tests/test_printf_empty.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_printf_escapes.out b/tests/test_printf_escapes.out deleted file mode 100644 index 20ea120..0000000 --- a/tests/test_printf_escapes.out +++ /dev/null @@ -1 +0,0 @@ -8 8I8I18 diff --git a/tests/test_printf_flags.out b/tests/test_printf_flags.out deleted file mode 100644 index c2c1f0a..0000000 --- a/tests/test_printf_flags.out +++ /dev/null @@ -1,19 +0,0 @@ -|basic | +00 0755 -|basic/a | +01 0644 -|basic/b | +01 0644 -|basic/c | +01 0755 -|basic/c/d | +02 0644 -|basic/e | +01 0755 -|basic/e/f | +02 0644 -|basic/g | +01 0755 -|basic/g/h | +02 0755 -|basic/i | +01 0755 -|basic/j | +01 0755 -|basic/j/fo| +02 0644 -|basic/k | +01 0755 -|basic/k/fo| +02 0755 -|basic/k/fo| +03 0644 -|basic/l | +01 0755 -|basic/l/fo| +02 0755 -|basic/l/fo| +03 0755 -|basic/l/fo| +04 0644 diff --git a/tests/test_printf_l_nonlink.out b/tests/test_printf_l_nonlink.out deleted file mode 100644 index 30df155..0000000 --- a/tests/test_printf_l_nonlink.out +++ /dev/null @@ -1,13 +0,0 @@ -| links -> | -| links/file -> | -| links/skip -> deeply/nested | -| links/broken -> nowhere | -| links/deeply -> | -| links/notdir -> symlink/file | -| links/symlink -> file | -| links/hardlink -> | -| links/deeply/nested -> | -| links/deeply/nested/dir -> | -| links/deeply/nested/file -> | -| links/deeply/nested/link -> file | -| links/deeply/nested/broken -> nowhere | diff --git a/tests/test_printf_leak.out b/tests/test_printf_leak.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_printf_leak.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_printf_nul.out b/tests/test_printf_nul.out deleted file mode 100644 index fdb6c6b..0000000 Binary files a/tests/test_printf_nul.out and /dev/null differ diff --git a/tests/test_printf_slash.out b/tests/test_printf_slash.out deleted file mode 100644 index 5571971..0000000 --- a/tests/test_printf_slash.out +++ /dev/null @@ -1 +0,0 @@ -(/)/(/) diff --git a/tests/test_printf_slashes.out b/tests/test_printf_slashes.out deleted file mode 100644 index 5571971..0000000 --- a/tests/test_printf_slashes.out +++ /dev/null @@ -1 +0,0 @@ -(/)/(/) diff --git a/tests/test_printf_times.out b/tests/test_printf_times.out deleted file mode 100644 index 7e7d256..0000000 --- a/tests/test_printf_times.out +++ /dev/null @@ -1,3 +0,0 @@ -times/a | Sat Dec 14 00:00:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668800.0000000000 | Sat Dec 14 00:00:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668800.0000000000 -times/b | Sat Dec 14 00:01:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668860.0000000000 | Sat Dec 14 00:01:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668860.0000000000 -times/c | Sat Dec 14 00:02:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668920.0000000000 | Sat Dec 14 00:02:00.0000000000 1991 1991-12-14 00:12:00.0000000000 692668920.0000000000 diff --git a/tests/test_printf_trailing_slash.out b/tests/test_printf_trailing_slash.out deleted file mode 100644 index 017ac0d..0000000 --- a/tests/test_printf_trailing_slash.out +++ /dev/null @@ -1,19 +0,0 @@ -(.)/(basic/) -(basic)/(a) -(basic)/(b) -(basic)/(c) -(basic)/(e) -(basic)/(g) -(basic)/(i) -(basic)/(j) -(basic)/(k) -(basic)/(l) -(basic/c)/(d) -(basic/e)/(f) -(basic/g)/(h) -(basic/j)/(foo) -(basic/k)/(foo) -(basic/k/foo)/(bar) -(basic/l)/(foo) -(basic/l/foo)/(bar) -(basic/l/foo/bar)/(baz) diff --git a/tests/test_printf_trailing_slashes.out b/tests/test_printf_trailing_slashes.out deleted file mode 100644 index fd27101..0000000 --- a/tests/test_printf_trailing_slashes.out +++ /dev/null @@ -1,19 +0,0 @@ -(.)/(basic///) -(basic//)/(a) -(basic//)/(b) -(basic//)/(c) -(basic//)/(e) -(basic//)/(g) -(basic//)/(i) -(basic//)/(j) -(basic//)/(k) -(basic//)/(l) -(basic///c)/(d) -(basic///e)/(f) -(basic///g)/(h) -(basic///j)/(foo) -(basic///k)/(foo) -(basic///k/foo)/(bar) -(basic///l)/(foo) -(basic///l/foo)/(bar) -(basic///l/foo/bar)/(baz) diff --git a/tests/test_printf_types.out b/tests/test_printf_types.out deleted file mode 100644 index 8144c7c..0000000 --- a/tests/test_printf_types.out +++ /dev/null @@ -1,11 +0,0 @@ -(loops) () d d -(loops/broken) (nowhere) l N -(loops/deeply) () d d -(loops/deeply/nested) () d d -(loops/deeply/nested/dir) () d d -(loops/deeply/nested/loop) (../../deeply) l d -(loops/file) () f f -(loops/loop) (loop) l L -(loops/notdir) (symlink/file) l N -(loops/skip) (deeply/nested/loop/nested) l d -(loops/symlink) (file) l f diff --git a/tests/test_printf_w.out b/tests/test_printf_w.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_printx.out b/tests/test_printx.out deleted file mode 100644 index 04bf9a9..0000000 --- a/tests/test_printx.out +++ /dev/null @@ -1,23 +0,0 @@ -weirdnames -weirdnames/! -weirdnames/!- -weirdnames/!-/e -weirdnames/!/d -weirdnames/( -weirdnames/(- -weirdnames/(-/c -weirdnames/(/b -weirdnames/) -weirdnames/)/g -weirdnames/, -weirdnames/,/f -weirdnames/- -weirdnames/-/a -weirdnames/... -weirdnames/.../h -weirdnames/[ -weirdnames/[/k -weirdnames/\ -weirdnames/\ /j -weirdnames/\\ -weirdnames/\\/i diff --git a/tests/test_prune.out b/tests/test_prune.out deleted file mode 100644 index e9d47b1..0000000 --- a/tests/test_prune.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_prune_file.out b/tests/test_prune_file.out deleted file mode 100644 index 7575ae4..0000000 --- a/tests/test_prune_file.out +++ /dev/null @@ -1,10 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/e -basic/g -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_prune_or_print.out b/tests/test_prune_or_print.out deleted file mode 100644 index 59e3c42..0000000 --- a/tests/test_prune_or_print.out +++ /dev/null @@ -1,13 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/l diff --git a/tests/test_quit.out b/tests/test_quit.out deleted file mode 100644 index cf4d5a9..0000000 --- a/tests/test_quit.out +++ /dev/null @@ -1 +0,0 @@ -basic/g diff --git a/tests/test_quit_after_print.out b/tests/test_quit_after_print.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_quit_after_print.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_quit_before_print.out b/tests/test_quit_before_print.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_quit_child.out b/tests/test_quit_child.out deleted file mode 100644 index fb683c7..0000000 --- a/tests/test_quit_child.out +++ /dev/null @@ -1,2 +0,0 @@ -basic/g -basic/g/h diff --git a/tests/test_quit_depth.out b/tests/test_quit_depth.out deleted file mode 100644 index fb683c7..0000000 --- a/tests/test_quit_depth.out +++ /dev/null @@ -1,2 +0,0 @@ -basic/g -basic/g/h diff --git a/tests/test_quit_depth_child.out b/tests/test_quit_depth_child.out deleted file mode 100644 index 72b086d..0000000 --- a/tests/test_quit_depth_child.out +++ /dev/null @@ -1 +0,0 @@ -basic/g/h diff --git a/tests/test_quit_implicit_print.out b/tests/test_quit_implicit_print.out deleted file mode 100644 index 15a13db..0000000 --- a/tests/test_quit_implicit_print.out +++ /dev/null @@ -1 +0,0 @@ -basic diff --git a/tests/test_readable.out b/tests/test_readable.out deleted file mode 100644 index 386feba..0000000 --- a/tests/test_readable.out +++ /dev/null @@ -1,5 +0,0 @@ -perms -perms/r -perms/rw -perms/rwx -perms/rx diff --git a/tests/test_regex.out b/tests/test_regex.out deleted file mode 100644 index cfc113b..0000000 --- a/tests/test_regex.out +++ /dev/null @@ -1,3 +0,0 @@ -basic/c/d -basic/e/f -basic/g/h diff --git a/tests/test_regex_invalid_utf8.out b/tests/test_regex_invalid_utf8.out deleted file mode 100644 index 03f3f58..0000000 --- a/tests/test_regex_invalid_utf8.out +++ /dev/null @@ -1 +0,0 @@ -scratch/â„ diff --git a/tests/test_regex_parens.out b/tests/test_regex_parens.out deleted file mode 100644 index 0f0971e..0000000 --- a/tests/test_regex_parens.out +++ /dev/null @@ -1 +0,0 @@ -./( diff --git a/tests/test_regextype_ed.out b/tests/test_regextype_ed.out deleted file mode 100644 index 0f0971e..0000000 --- a/tests/test_regextype_ed.out +++ /dev/null @@ -1 +0,0 @@ -./( diff --git a/tests/test_regextype_emacs.out b/tests/test_regextype_emacs.out deleted file mode 100644 index 95942b4..0000000 --- a/tests/test_regextype_emacs.out +++ /dev/null @@ -1,6 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_regextype_grep.out b/tests/test_regextype_grep.out deleted file mode 100644 index a9e5d42..0000000 --- a/tests/test_regextype_grep.out +++ /dev/null @@ -1,4 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/l/foo diff --git a/tests/test_regextype_posix_basic.out b/tests/test_regextype_posix_basic.out deleted file mode 100644 index 0f0971e..0000000 --- a/tests/test_regextype_posix_basic.out +++ /dev/null @@ -1 +0,0 @@ -./( diff --git a/tests/test_regextype_posix_extended.out b/tests/test_regextype_posix_extended.out deleted file mode 100644 index 0f0971e..0000000 --- a/tests/test_regextype_posix_extended.out +++ /dev/null @@ -1 +0,0 @@ -./( diff --git a/tests/test_regextype_sed.out b/tests/test_regextype_sed.out deleted file mode 100644 index 0f0971e..0000000 --- a/tests/test_regextype_sed.out +++ /dev/null @@ -1 +0,0 @@ -./( diff --git a/tests/test_rm.out b/tests/test_rm.out deleted file mode 100644 index fb188b9..0000000 --- a/tests/test_rm.out +++ /dev/null @@ -1 +0,0 @@ -scratch diff --git a/tests/test_s.out b/tests/test_s.out deleted file mode 100644 index 6b790c2..0000000 --- a/tests/test_s.out +++ /dev/null @@ -1,12 +0,0 @@ -weirdnames -weirdnames/ -weirdnames/! -weirdnames/!- -weirdnames/( -weirdnames/(- -weirdnames/) -weirdnames/, -weirdnames/- -weirdnames/... -weirdnames/[ -weirdnames/\ diff --git a/tests/test_samefile.out b/tests/test_samefile.out deleted file mode 100644 index 996ffc8..0000000 --- a/tests/test_samefile.out +++ /dev/null @@ -1,2 +0,0 @@ -links/file -links/hardlink diff --git a/tests/test_samefile_broken.out b/tests/test_samefile_broken.out deleted file mode 100644 index 21d6316..0000000 --- a/tests/test_samefile_broken.out +++ /dev/null @@ -1 +0,0 @@ -links/broken diff --git a/tests/test_samefile_notdir.out b/tests/test_samefile_notdir.out deleted file mode 100644 index 6e6658d..0000000 --- a/tests/test_samefile_notdir.out +++ /dev/null @@ -1 +0,0 @@ -links/notdir diff --git a/tests/test_samefile_symlink.out b/tests/test_samefile_symlink.out deleted file mode 100644 index 299a572..0000000 --- a/tests/test_samefile_symlink.out +++ /dev/null @@ -1 +0,0 @@ -links/symlink diff --git a/tests/test_size.out b/tests/test_size.out deleted file mode 100644 index eeabbd7..0000000 --- a/tests/test_size.out +++ /dev/null @@ -1,6 +0,0 @@ -basic/a -basic/b -basic/c/d -basic/e/f -basic/j/foo -basic/k/foo/bar diff --git a/tests/test_size_T.out b/tests/test_size_T.out deleted file mode 100644 index 279f3f1..0000000 --- a/tests/test_size_T.out +++ /dev/null @@ -1 +0,0 @@ -basic/l/foo/bar/baz diff --git a/tests/test_size_big.out b/tests/test_size_big.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/test_size_bytes.out b/tests/test_size_bytes.out deleted file mode 100644 index 279f3f1..0000000 --- a/tests/test_size_bytes.out +++ /dev/null @@ -1 +0,0 @@ -basic/l/foo/bar/baz diff --git a/tests/test_size_plus.out b/tests/test_size_plus.out deleted file mode 100644 index 279f3f1..0000000 --- a/tests/test_size_plus.out +++ /dev/null @@ -1 +0,0 @@ -basic/l/foo/bar/baz diff --git a/tests/test_stderr_fails_silently.out b/tests/test_stderr_fails_silently.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_stderr_fails_silently.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_true.out b/tests/test_true.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_true.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_type_bind_mount.out b/tests/test_type_bind_mount.out deleted file mode 100644 index 6435159..0000000 --- a/tests/test_type_bind_mount.out +++ /dev/null @@ -1 +0,0 @@ -scratch/null diff --git a/tests/test_type_d.out b/tests/test_type_d.out deleted file mode 100644 index e604709..0000000 --- a/tests/test_type_d.out +++ /dev/null @@ -1,12 +0,0 @@ -basic -basic/c -basic/e -basic/g -basic/g/h -basic/i -basic/j -basic/k -basic/k/foo -basic/l -basic/l/foo -basic/l/foo/bar diff --git a/tests/test_type_f.out b/tests/test_type_f.out deleted file mode 100644 index 6218a0c..0000000 --- a/tests/test_type_f.out +++ /dev/null @@ -1,7 +0,0 @@ -basic/a -basic/b -basic/c/d -basic/e/f -basic/j/foo -basic/k/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_type_l.out b/tests/test_type_l.out deleted file mode 100644 index f2c8b19..0000000 --- a/tests/test_type_l.out +++ /dev/null @@ -1 +0,0 @@ -links/skip diff --git a/tests/test_type_multi.out b/tests/test_type_multi.out deleted file mode 100644 index 3cae08a..0000000 --- a/tests/test_type_multi.out +++ /dev/null @@ -1,7 +0,0 @@ -links -links/deeply -links/deeply/nested -links/deeply/nested/dir -links/deeply/nested/file -links/file -links/hardlink diff --git a/tests/test_uid.out b/tests/test_uid.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_uid.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_uid_minus.out b/tests/test_uid_minus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_uid_minus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_uid_minus_plus.out b/tests/test_uid_minus_plus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_uid_minus_plus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_uid_name.out b/tests/test_uid_name.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_uid_name.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_uid_plus.out b/tests/test_uid_plus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_uid_plus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_uid_plus_plus.out b/tests/test_uid_plus_plus.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_uid_plus_plus.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_unique.out b/tests/test_unique.out deleted file mode 100644 index 289cbde..0000000 --- a/tests/test_unique.out +++ /dev/null @@ -1,2 +0,0 @@ -links/file -links/symlink diff --git a/tests/test_unique_depth.out b/tests/test_unique_depth.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_unique_depth.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_user_id.out b/tests/test_user_id.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_user_id.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_user_name.out b/tests/test_user_name.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_user_name.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_user_nouser.out b/tests/test_user_nouser.out deleted file mode 100644 index a7ccfe4..0000000 --- a/tests/test_user_nouser.out +++ /dev/null @@ -1,19 +0,0 @@ -basic -basic/a -basic/b -basic/c -basic/c/d -basic/e -basic/e/f -basic/g -basic/g/h -basic/i -basic/j -basic/j/foo -basic/k -basic/k/foo -basic/k/foo/bar -basic/l -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_weird_names.out b/tests/test_weird_names.out deleted file mode 100644 index c395659..0000000 --- a/tests/test_weird_names.out +++ /dev/null @@ -1,28 +0,0 @@ -!- -!- -!-/e -!-/e -(- -(- -(-/c -(-/c -) -) -)/g -)/g -, -, -,/f -,/f -- -- --/a --/a -./! -./! -./!/d -./!/d -./( -./( -./(/b -./(/b diff --git a/tests/test_wholename.out b/tests/test_wholename.out deleted file mode 100644 index ae1ae21..0000000 --- a/tests/test_wholename.out +++ /dev/null @@ -1,7 +0,0 @@ -basic/e/f -basic/j/foo -basic/k/foo -basic/k/foo/bar -basic/l/foo -basic/l/foo/bar -basic/l/foo/bar/baz diff --git a/tests/test_writable.out b/tests/test_writable.out deleted file mode 100644 index 9a5b95a..0000000 --- a/tests/test_writable.out +++ /dev/null @@ -1,5 +0,0 @@ -perms -perms/rw -perms/rwx -perms/w -perms/wx diff --git a/tests/test_xattr.out b/tests/test_xattr.out deleted file mode 100644 index 109e7c9..0000000 --- a/tests/test_xattr.out +++ /dev/null @@ -1,3 +0,0 @@ -scratch/xattr -scratch/xattr_2 -scratch/xattr_link diff --git a/tests/test_xattrname.out b/tests/test_xattrname.out deleted file mode 100644 index 0285ac1..0000000 --- a/tests/test_xattrname.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch/xattr -scratch/xattr_link diff --git a/tests/test_xdev.out b/tests/test_xdev.out deleted file mode 100644 index f7839fb..0000000 --- a/tests/test_xdev.out +++ /dev/null @@ -1,4 +0,0 @@ -scratch -scratch/foo -scratch/foo/bar -scratch/mnt diff --git a/tests/test_xtype_bind_mount.out b/tests/test_xtype_bind_mount.out deleted file mode 100644 index 16804ea..0000000 --- a/tests/test_xtype_bind_mount.out +++ /dev/null @@ -1,2 +0,0 @@ -scratch/link -scratch/null diff --git a/tests/test_xtype_f.out b/tests/test_xtype_f.out deleted file mode 100644 index e6ba322..0000000 --- a/tests/test_xtype_f.out +++ /dev/null @@ -1,5 +0,0 @@ -links/deeply/nested/file -links/deeply/nested/link -links/file -links/hardlink -links/symlink diff --git a/tests/test_xtype_l.out b/tests/test_xtype_l.out deleted file mode 100644 index f29c978..0000000 --- a/tests/test_xtype_l.out +++ /dev/null @@ -1,3 +0,0 @@ -links/broken -links/deeply/nested/broken -links/notdir diff --git a/tests/test_xtype_multi.out b/tests/test_xtype_multi.out deleted file mode 100644 index 558e89c..0000000 --- a/tests/test_xtype_multi.out +++ /dev/null @@ -1,10 +0,0 @@ -links -links/deeply -links/deeply/nested -links/deeply/nested/dir -links/deeply/nested/file -links/deeply/nested/link -links/file -links/hardlink -links/skip -links/symlink diff --git a/tests/test_xtype_reorder.out b/tests/test_xtype_reorder.out deleted file mode 100644 index e69de29..0000000 diff --git a/tests/tests.sh b/tests/tests.sh index 64bd04d..d957cf1 100755 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -16,6 +16,8 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # ############################################################################ +shopt -s extdebug + set -euP umask 022 @@ -92,7 +94,7 @@ function usage() { cat <&1 >/dev/null) - [ -n "$errors" ] -} - -function test_L_loops_continue() { - bfs_diff -L loops - [ $? -eq $EX_BFS ] -} - -function test_X() { - bfs_diff -X weirdnames - [ $? -eq $EX_BFS ] -} - -function test_follow() { - bfs_diff links -follow -} - -function test_L_depth() { - bfs_diff -L links -depth -} - -function test_samefile() { - bfs_diff links -samefile links/file -} - -function test_samefile_symlink() { - bfs_diff links -samefile links/symlink -} - -function test_H_samefile_symlink() { - bfs_diff -H links -samefile links/symlink -} - -function test_L_samefile_symlink() { - bfs_diff -L links -samefile links/symlink -} - -function test_samefile_broken() { - bfs_diff links -samefile links/broken -} - -function test_H_samefile_broken() { - bfs_diff -H links -samefile links/broken -} - -function test_L_samefile_broken() { - bfs_diff -L links -samefile links/broken -} - -function test_samefile_notdir() { - bfs_diff links -samefile links/notdir -} - -function test_H_samefile_notdir() { - bfs_diff -H links -samefile links/notdir -} - -function test_L_samefile_notdir() { - bfs_diff -L links -samefile links/notdir -} - -function test_xtype_l() { - bfs_diff links -xtype l -} - -function test_xtype_f() { - bfs_diff links -xtype f -} - -function test_L_xtype_l() { - bfs_diff -L links -xtype l -} - -function test_L_xtype_f() { - bfs_diff -L links -xtype f -} - -function test_xtype_multi() { - bfs_diff links -xtype f,d,c -} - -function test_xtype_reorder() { - # Make sure -xtype is not reordered in front of anything -- if -xtype runs - # before -links 100, it will report an ELOOP error - bfs_diff loops -links 100 -xtype l - invoke_bfs loops -links 100 -xtype l -} - -function test_xtype_depth() { - # Make sure -xtype is considered side-effecting for facts_when_impure - fail invoke_bfs loops -xtype l -depth 100 -} - -function test_iname() { - skip_unless invoke_bfs -quit -iname PATTERN - bfs_diff basic -iname '*F*' -} - -function test_ipath() { - skip_unless invoke_bfs -quit -ipath PATTERN - bfs_diff basic -ipath 'basic/*F*' -} - -function test_iwholename() { - skip_unless invoke_bfs -quit -iwholename PATTERN - bfs_diff basic -iwholename 'basic/*F*' -} - -function test_lname() { - bfs_diff links -lname '[aq]' -} - -function test_ilname() { - skip_unless invoke_bfs -quit -ilname PATTERN - bfs_diff links -ilname '[AQ]' -} - -function test_L_lname() { - bfs_diff -L links -lname '[aq]' -} - -function test_L_ilname() { - skip_unless invoke_bfs -quit -ilname PATTERN - bfs_diff -L links -ilname '[AQ]' -} - -function test_user_name() { - bfs_diff basic -user "$(id -un)" -} - -function test_user_id() { - bfs_diff basic -user "$(id -u)" -} - -function test_user_nouser() { - # Regression test: this was wrongly optimized to -false - bfs_diff basic -user "$(id -u)" \! -nouser -} - -function test_group_name() { - bfs_diff basic -group "$(id -gn)" -} - -function test_group_id() { - bfs_diff basic -group "$(id -g)" -} - -function test_group_nogroup() { - # Regression test: this was wrongly optimized to -false - bfs_diff basic -group "$(id -g)" \! -nogroup -} - -function test_daystart() { - bfs_diff basic -daystart -mtime 0 -} - -function test_daystart_twice() { - bfs_diff basic -daystart -daystart -mtime 0 -} - -function test_newerma() { - bfs_diff times -newerma times/a -} - -function test_newermt() { - bfs_diff times -newermt 1991-12-14T00:01 -} - -function test_newermt_epoch_minus_one() { - bfs_diff times -newermt 1969-12-31T23:59:59Z -} - -function test_newermt_invalid() { - fail invoke_bfs times -newermt not_a_date_time -} - -function test_newerma_nonexistent() { - fail invoke_bfs times -newerma basic/nonexistent -} - -function test_newermq() { - fail invoke_bfs times -newermq times/a -} - -function test_newerqm() { - fail invoke_bfs times -newerqm times/a -} - -function test_size() { - bfs_diff basic -type f -size 0 -} - -function test_size_plus() { - bfs_diff basic -type f -size +0 -} - -function test_size_bytes() { - bfs_diff basic -type f -size +0c -} - -function test_size_big() { - bfs_diff basic -size 9223372036854775807 -} - -function test_exec() { - bfs_diff basic -exec echo {} \; -} - -function test_exec_nonexistent() { - # Failure to execute the command should lead to an error message and - # non-zero exit status. See https://unix.stackexchange.com/q/704522/56202 - - local stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} \; 2>&1 >/dev/null) - [ -n "$stderr" ] || return 1 - - bfs_diff basic -print -exec "$TESTS/nonexistent" {} \; -print - (($? == EX_BFS)) -} - -function test_exec_nopath() { - ( - unset PATH - invoke_bfs basic -exec echo {} \; >"$OUT" - ) - - sort_output - diff_output -} - -function test_exec_nothing() { - # Regression test: don't segfault on missing command - fail invoke_bfs basic -exec \; -} - -function test_exec_plus() { - bfs_diff basic -exec "$TESTS/sort-args.sh" {} + -} - -function test_exec_plus_nonexistent() { - local stderr=$(invoke_bfs basic -exec "$TESTS/nonexistent" {} + 2>&1 >/dev/null) - [ -n "$stderr" ] || return 1 - - bfs_diff basic -exec "$TESTS/nonexistent" {} + -print - (($? == EX_BFS)) -} - -function test_exec_plus_status() { - # -exec ... {} + should always return true, but if the command fails, bfs - # should exit with a non-zero status - bfs_diff basic -exec false {} + -print - (($? == EX_BFS)) -} - -function test_exec_plus_semicolon() { - # POSIX says: - # Only a that immediately follows an argument containing only the two characters "{}" - # shall punctuate the end of the primary expression. Other uses of the shall not be - # treated as special. - bfs_diff basic -exec echo foo {} bar + baz \; -} - -function test_exec_substring() { - bfs_diff basic -exec echo '-{}-' \; -} - -function test_exec_flush() { - # IO streams should be flushed before executing programs - invoke_bfs basic -print0 -exec echo found \; | tr '\0' ' ' >"$OUT" - sort_output - diff_output -} - -function test_exec_flush_fail() { - # Failure to flush streams before exec should be caught - skip_unless test -e /dev/full - fail invoke_bfs basic -print0 -exec true \; >/dev/full -} - -function test_exec_flush_fprint() { - # Even non-stdstreams should be flushed - bfs_diff basic/a -fprint scratch/foo -exec cat scratch/foo \; -} - -function test_exec_flush_fprint_fail() { - skip_unless test -e /dev/full - fail invoke_bfs basic/a -fprint /dev/full -exec true \; -} - -function test_exec_plus_flush() { - invoke_bfs basic/a -print0 -exec echo found {} + >"$OUT" - diff_output -} - -function test_exec_plus_flush_fail() { - skip_unless test -e /dev/full - fail invoke_bfs basic/a -print0 -exec echo found {} + >/dev/full -} - -function test_execdir() { - bfs_diff basic -execdir echo {} \; -} - -function test_execdir_nonexistent() { - local stderr=$(invoke_bfs basic -execdir "$TESTS/nonexistent" {} \; 2>&1 >/dev/null) - [ -n "$stderr" ] || return 1 - - bfs_diff basic -print -execdir "$TESTS/nonexistent" {} \; -print - (($? == EX_BFS)) -} - -function test_execdir_plus() { - local tree=$(invoke_bfs -D tree 2>&1 -quit) - - if [[ "$tree" == *"-S dfs"* ]]; then - skip - fi - - bfs_diff basic -execdir "$TESTS/sort-args.sh" {} + -} - -function test_execdir_plus_nonexistent() { - local stderr=$(invoke_bfs basic -execdir "$TESTS/nonexistent" {} + 2>&1 >/dev/null) - [ -n "$stderr" ] || return 1 - - bfs_diff basic -execdir "$TESTS/nonexistent" {} + -print - (($? == EX_BFS)) -} - -function test_execdir_substring() { - bfs_diff basic -execdir echo '-{}-' \; -} - -function test_execdir_plus_semicolon() { - bfs_diff basic -execdir echo foo {} bar + baz \; -} - -function test_execdir_pwd() { - local TMP_REAL=$(cd "$TMP" && pwd) - local OFFSET=$((${#TMP_REAL} + 2)) - bfs_diff basic -execdir bash -c "pwd | cut -b$OFFSET-" \; -} - -function test_execdir_slash() { - # Don't prepend ./ for absolute paths in -execdir - bfs_diff / -maxdepth 0 -execdir echo {} \; -} - -function test_execdir_slash_pwd() { - bfs_diff / -maxdepth 0 -execdir pwd \; -} - -function test_execdir_slashes() { - bfs_diff /// -maxdepth 0 -execdir echo {} \; -} - -function test_execdir_ulimit() { - rm -rf scratch/* - mkdir -p scratch/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z - mkdir -p scratch/a/b/c/d/e/f/g/h/i/j/k/l/m/0/1/2/3/4/5/6/7/8/9/A/B/C - - closefrom 4 - ulimit -n 13 - bfs_diff scratch -execdir echo {} \; -} - -function test_weird_names() { - cd weirdnames - bfs_diff '-' '(-' '!-' ',' ')' './(' './!' \( \! -print -o -print \) -} - -function test_flag_weird_names() { - cd weirdnames - bfs_diff -L '-' '(-' '!-' ',' ')' './(' './!' \( \! -print -o -print \) -} - -function test_flag_comma() { - # , is a filename until a non-flag is seen - cd weirdnames - bfs_diff -L ',' -print -} - -function test_follow_comma() { - # , is an operator after a non-flag is seen - cd weirdnames - bfs_diff -follow ',' -print -} - -function test_fprint() { - invoke_bfs basic -fprint "$OUT" - sort_output - diff_output -} - -function test_fprint_duplicate() { - touchp scratch/$TEST.out - ln scratch/$TEST.out scratch/$TEST.hard - ln -s $TEST.out scratch/$TEST.soft - - invoke_bfs basic -fprint scratch/$TEST.out -fprint scratch/$TEST.hard -fprint scratch/$TEST.soft - sort scratch/$TEST.out >"$OUT" - diff_output -} - -function test_fprint_duplicate_stdout() { - invoke_bfs basic -fprint "$OUT" -print >"$OUT" - sort_output - diff_output -} - -function test_fprint_noarg() { - fail invoke_bfs basic -fprint -} - -function test_fprint_nonexistent() { - fail invoke_bfs basic -fprint scratch/nonexistent/path -} - -function test_fprint_truncate() { - printf "basic\nbasic\n" >"$OUT" - - invoke_bfs basic -maxdepth 0 -fprint "$OUT" - sort_output - diff_output -} - -function test_double_dash() { - cd basic - bfs_diff -- . -type f -} - -function test_flag_double_dash() { - cd basic - bfs_diff -L -- . -type f -} - -function test_ignore_readdir_race() { - rm -rf scratch/* - $TOUCH scratch/{foo,bar} - - # -links 1 forces a stat() call, which will fail for the second file - invoke_bfs scratch -mindepth 1 -ignore_readdir_race -links 1 -exec "$TESTS/remove-sibling.sh" {} \; -} - -function test_ignore_readdir_race_root() { - # Make sure -ignore_readdir_race doesn't suppress ENOENT at the root - fail invoke_bfs basic/nonexistent -ignore_readdir_race -} - -function test_ignore_readdir_race_notdir() { - # Check -ignore_readdir_race handling when a directory is replaced with a file - rm -rf scratch/* - touchp scratch/foo/bar - - invoke_bfs scratch -mindepth 1 -ignore_readdir_race -execdir rm -r {} \; -execdir $TOUCH {} \; -} - -function test_perm_000() { - bfs_diff perms -perm 000 -} - -function test_perm_000_minus() { - bfs_diff perms -perm -000 -} - -function test_perm_000_slash() { - bfs_diff perms -perm /000 -} - -function test_perm_000_plus() { - bfs_diff perms -perm +000 -} - -function test_perm_222() { - bfs_diff perms -perm 222 -} - -function test_perm_222_minus() { - bfs_diff perms -perm -222 -} - -function test_perm_222_slash() { - bfs_diff perms -perm /222 -} - -function test_perm_222_plus() { - bfs_diff perms -perm +222 -} - -function test_perm_644() { - bfs_diff perms -perm 644 -} - -function test_perm_644_minus() { - bfs_diff perms -perm -644 -} - -function test_perm_644_slash() { - bfs_diff perms -perm /644 -} - -function test_perm_644_plus() { - bfs_diff perms -perm +644 -} - -function test_perm_symbolic() { - bfs_diff perms -perm a+r,u=wX,g+wX-w -} - -function test_perm_symbolic_minus() { - bfs_diff perms -perm -a+r,u=wX,g+wX-w -} - -function test_perm_symbolic_slash() { - bfs_diff perms -perm /a+r,u=wX,g+wX-w -} - -function test_perm_symbolic_trailing_comma() { - fail invoke_bfs perms -perm a+r, -} - -function test_perm_symbolic_double_comma() { - fail invoke_bfs perms -perm a+r,,u+w -} - -function test_perm_symbolic_missing_action() { - fail invoke_bfs perms -perm a -} - -function test_perm_leading_plus_symbolic() { - bfs_diff perms -perm +rwx -} - -function test_perm_leading_plus_symbolic_minus() { - bfs_diff perms -perm -+rwx -} - -function test_perm_leading_plus_symbolic_slash() { - bfs_diff perms -perm /+rwx -} - -function test_permcopy() { - bfs_diff perms -perm u+rw,g+u-w,o=g -} - -function test_perm_setid() { - bfs_diff rainbow -perm -u+s -o -perm -g+s -} - -function test_perm_sticky() { - bfs_diff rainbow -perm -a+t -} - -function test_prune() { - bfs_diff basic -name foo -prune -} - -function test_prune_file() { - bfs_diff basic -print -name '?' -prune -} - -function test_prune_or_print() { - bfs_diff basic -name foo -prune -o -print -} - -function test_not_prune() { - bfs_diff basic \! \( -name foo -prune \) -} - -function test_ok_nothing() { - # Regression test: don't segfault on missing command - fail invoke_bfs basic -ok \; -} - -function test_ok_stdin() { - # -ok should *not* close stdin - # See https://savannah.gnu.org/bugs/?24561 - yes | bfs_diff basic -ok bash -c 'printf "%s? " "$1" && head -n1' bash {} \; -} - -function test_okdir_stdin() { - # -okdir should *not* close stdin - yes | bfs_diff basic -okdir bash -c 'printf "%s? " "$1" && head -n1' bash {} \; -} - -function test_ok_plus_semicolon() { - # The -ok primary shall be equivalent to -exec, except that the use of a - # to punctuate the end of the primary expression need not be - # supported, ... - # - # bfs chooses not to support it, for compatibility with most other find - # implementations. - - yes | bfs_diff basic -ok echo {} + \; -} - -function test_okdir_plus_semicolon() { - yes | bfs_diff basic -okdir echo {} + \; -} - -function test_delete() { - rm -rf scratch/* - touchp scratch/foo/bar/baz - - # Don't try to delete '.' - (cd scratch && invoke_bfs . -delete) - - bfs_diff scratch -} - -function test_delete_many() { - # Test for https://github.com/tavianator/bfs/issues/67 - - rm -rf scratch/* - mkdir scratch/foo - $TOUCH scratch/foo/{1..256} - - invoke_bfs scratch/foo -delete - bfs_diff scratch -} - -function test_L_delete() { - rm -rf scratch/* - mkdir scratch/foo - mkdir scratch/bar - ln -s ../foo scratch/bar/baz - - # Don't try to rmdir() a symlink - invoke_bfs -L scratch/bar -delete || return 1 - - bfs_diff scratch -} - -function test_rm() { - rm -rf scratch/* - touchp scratch/foo/bar/baz - - (cd scratch && invoke_bfs . -rm) - - bfs_diff scratch -} - -function test_regex() { - bfs_diff basic -regex 'basic/./.' -} - -function test_iregex() { - bfs_diff basic -iregex 'basic/[A-Z]/[a-z]' -} - -function test_regex_parens() { - cd weirdnames - bfs_diff . -regex '\./\((\)' -} - -function test_regex_error() { - fail invoke_bfs basic -regex '[' -} - -function test_regex_invalid_utf8() { - rm -rf scratch/* - - # Incomplete UTF-8 sequences - skip_unless touch scratch/$'\xC3' - skip_unless touch scratch/$'\xE2\x84' - skip_unless touch scratch/$'\xF0\x9F\x92' - - bfs_diff scratch -regex 'scratch/..' -} - -function test_E() { - cd weirdnames - bfs_diff -E . -regex '\./(\()' -} - -function test_regextype_posix_basic() { - cd weirdnames - bfs_diff -regextype posix-basic -regex '\./\((\)' -} - -function test_regextype_posix_extended() { - cd weirdnames - bfs_diff -regextype posix-extended -regex '\./(\()' -} - -function test_regextype_ed() { - cd weirdnames - bfs_diff -regextype ed -regex '\./\((\)' -} - -function test_regextype_emacs() { - skip_unless invoke_bfs -regextype emacs -quit - - bfs_diff basic -regextype emacs -regex '.*/\(f+o?o?\|bar\)' -} - -function test_regextype_grep() { - skip_unless invoke_bfs -regextype grep -quit - - bfs_diff basic -regextype grep -regex '.*/f\+o\?o\?' -} - -function test_regextype_sed() { - cd weirdnames - bfs_diff -regextype sed -regex '\./\((\)' -} - -function test_d_path() { - bfs_diff -d basic -} - -function test_path_d() { - bfs_diff basic -d -} - -function test_f() { - cd weirdnames - bfs_diff -f '-' -f '(' -} - -function test_s() { - invoke_bfs -s weirdnames -maxdepth 1 >"$OUT" - diff_output -} - -function test_hidden() { - bfs_diff weirdnames -hidden -} - -function test_hidden_root() { - cd weirdnames - bfs_diff . ./. ... ./... .../.. -hidden -} - -function test_nohidden() { - bfs_diff weirdnames -nohidden -} - -function test_nohidden_depth() { - bfs_diff weirdnames -depth -nohidden -} - -function test_depth_n() { - bfs_diff basic -depth 2 -} - -function test_depth_n_plus() { - bfs_diff basic -depth +2 -} - -function test_depth_n_minus() { - bfs_diff basic -depth -2 -} - -function test_depth_depth_n() { - bfs_diff basic -depth -depth 2 -} - -function test_depth_depth_n_plus() { - bfs_diff basic -depth -depth +2 -} - -function test_depth_depth_n_minus() { - bfs_diff basic -depth -depth -2 -} - -function test_depth_overflow() { - bfs_diff basic -depth -4294967296 -} - -function test_gid_name() { - bfs_diff basic -gid "$(id -gn)" -} - -function test_uid_name() { - bfs_diff basic -uid "$(id -un)" -} - -function test_mnewer() { - bfs_diff times -mnewer times/a -} - -function test_H_mnewer() { - bfs_diff -H times -mnewer times/l -} - -function test_msince() { - bfs_diff times -msince 1991-12-14T00:01 -} - -function test_mtime_units() { - bfs_diff times -mtime +500w400d300h200m100s -} - -function test_size_T() { - bfs_diff basic -type f -size 1T -} - -function test_quit() { - bfs_diff basic/g -print -name g -quit -} - -function test_quit_child() { - bfs_diff basic/g -print -name h -quit -} - -function test_quit_depth() { - bfs_diff basic/g -depth -print -name g -quit -} - -function test_quit_depth_child() { - bfs_diff basic/g -depth -print -name h -quit -} - -function test_quit_after_print() { - bfs_diff basic basic -print -quit -} - -function test_quit_before_print() { - bfs_diff basic basic -quit -print -} - -function test_quit_implicit_print() { - bfs_diff basic -name basic -o -quit -} - -function test_inum() { - bfs_diff basic -inum "$(inum basic/k/foo/bar)" -} - -function test_nogroup() { - bfs_diff basic -nogroup -} - -function test_nogroup_ulimit() { - closefrom 4 - ulimit -n 16 - bfs_diff deep -nogroup -} - -function test_nouser() { - bfs_diff basic -nouser -} - -function test_nouser_ulimit() { - closefrom 4 - ulimit -n 16 - bfs_diff deep -nouser -} - -function test_ls() { - invoke_bfs rainbow -ls >scratch/test_ls.out -} - -function test_L_ls() { - invoke_bfs -L rainbow -ls >scratch/test_L_ls.out -} - -function test_fls() { - invoke_bfs rainbow -fls scratch/test_fls.out -} - -function test_printf() { - bfs_diff basic -printf '%%p(%p) %%d(%d) %%f(%f) %%h(%h) %%H(%H) %%P(%P) %%m(%m) %%M(%M) %%y(%y)\n' -} - -function test_printf_empty() { - bfs_diff basic -printf '' -} - -function test_printf_slash() { - bfs_diff / -maxdepth 0 -printf '(%h)/(%f)\n' -} - -function test_printf_slashes() { - bfs_diff /// -maxdepth 0 -printf '(%h)/(%f)\n' -} - -function test_printf_trailing_slash() { - bfs_diff basic/ -printf '(%h)/(%f)\n' -} - -function test_printf_trailing_slashes() { - bfs_diff basic/// -printf '(%h)/(%f)\n' -} - -function test_printf_flags() { - bfs_diff basic -printf '|%- 10.10p| %+03d %#4m\n' -} - -function test_printf_types() { - bfs_diff loops -printf '(%p) (%l) %y %Y\n' -} - -function test_printf_escapes() { - bfs_diff basic -maxdepth 0 -printf '\18\118\1118\11118\n\cfoo' -} - -function test_printf_times() { - bfs_diff times -type f -printf '%p | %a %AY-%Am-%Ad %AH:%AI:%AS %T@ | %t %TY-%Tm-%Td %TH:%TI:%TS %T@\n' -} - -function test_printf_leak() { - # Memory leak regression test - bfs_diff basic -maxdepth 0 -printf '%p' -} - -function test_printf_nul() { - # NUL byte regression test - invoke_bfs basic/a basic/b -maxdepth 0 -printf '%h\0%f\n' >"$OUT" - diff_output -} - -function test_printf_w() { - # Birth times may not be supported, so just check that %w/%W/%B can be parsed - bfs_diff times -false -printf '%w %WY %BY\n' -} - -function test_printf_Y_error() { - rm -rf scratch/* - mkdir scratch/foo - chmod -x scratch/foo - ln -s foo/bar scratch/bar - - bfs_diff scratch -printf '(%p) (%l) %y %Y\n' - local ret=$? - - chmod +x scratch/foo - rm -rf scratch/* - - [ $ret -eq $EX_BFS ] -} - -function test_printf_H() { - bfs_diff basic links -printf '%%p(%p) %%d(%d) %%f(%f) %%h(%h) %%H(%H) %%P(%P) %%y(%y)\n' -} - -function test_printf_u_g_ulimit() { - closefrom 4 - ulimit -n 16 - [ "$(invoke_bfs deep -printf '%u %g\n' | uniq)" = "$(id -un) $(id -gn)" ] -} - -function test_printf_l_nonlink() { - bfs_diff links -printf '| %26p -> %-26l |\n' -} - -function test_printf_incomplete_escape() { - fail invoke_bfs basic -printf '\' -} - -function test_printf_invalid_escape() { - fail invoke_bfs basic -printf '\!' -} - -function test_printf_incomplete_format() { - fail invoke_bfs basic -printf '%' -} - -function test_printf_invalid_format() { - fail invoke_bfs basic -printf '%!' -} - -function test_printf_duplicate_flag() { - fail invoke_bfs basic -printf '%--p' -} - -function test_printf_must_be_numeric() { - fail invoke_bfs basic -printf '%+p' -} - -function test_printf_color() { - bfs_diff -color -path './rainbow*' -printf '%H %h %f %p %P %l\n' -} - -function test_printf_everything() { - local everything=(%{a,b,c,d,D,f,F,g,G,h,H,i,k,l,m,M,n,p,P,s,S,t,u,U,y,Y}) - everything+=(%{A,C,T}{%,+,@,a,A,b,B,c,C,d,D,e,F,g,G,h,H,I,j,k,l,m,M,n,p,r,R,s,S,t,T,u,U,V,w,W,x,X,y,Y,z,Z}) - - # Check if we have birth times - if ! fail invoke_bfs basic -printf '%w' -quit >/dev/null; then - everything+=(%w %{B,W}{%,+,@,a,A,b,B,c,C,d,D,e,F,g,G,h,H,I,j,k,l,m,M,n,p,r,R,s,S,t,T,u,U,V,w,W,x,X,y,Y,z,Z}) - fi - - invoke_bfs rainbow -printf "${everything[*]}\n" >/dev/null -} - -function test_fprintf() { - invoke_bfs basic -fprintf "$OUT" '%%p(%p) %%d(%d) %%f(%f) %%h(%h) %%H(%H) %%P(%P) %%m(%m) %%M(%M) %%y(%y)\n' - sort_output - diff_output -} - -function test_fprintf_nofile() { - fail invoke_bfs basic -fprintf -} - -function test_fprintf_noformat() { - fail invoke_bfs basic -fprintf /dev/null -} - -function test_fstype() { - fstype=$(invoke_bfs basic -maxdepth 0 -printf '%F\n') - bfs_diff basic -fstype "$fstype" -} - -function test_path_flag_expr() { - bfs_diff links/skip -H -type l -} - -function test_path_expr_flag() { - bfs_diff links/skip -type l -H -} - -function test_flag_expr_path() { - bfs_diff -H -type l links/skip -} - -function test_expr_flag_path() { - bfs_diff -type l -H links/skip -} - -function test_expr_path_flag() { - bfs_diff -type l links/skip -H -} - -function test_parens() { - bfs_diff basic \( -name '*f*' \) -} - -function test_bang() { - bfs_diff basic \! -name foo -} - -function test_not() { - bfs_diff basic -not -name foo -} - -function test_implicit_and() { - bfs_diff basic -name foo -type d -} - -function test_a() { - bfs_diff basic -name foo -a -type d -} - -function test_and() { - bfs_diff basic -name foo -and -type d -} - -function test_o() { - bfs_diff basic -name foo -o -type d -} - -function test_or() { - bfs_diff basic -name foo -or -type d -} - -function test_comma() { - bfs_diff basic -name '*f*' -print , -print -} - -function test_precedence() { - bfs_diff basic \( -name foo -type d -o -name bar -a -type f \) -print , \! -empty -type f -print -} - -function test_incomplete() { - fail invoke_bfs basic \( -} - -function test_missing_paren() { - fail invoke_bfs basic \( -print -} - -function test_extra_paren() { - fail invoke_bfs basic -print \) -} - -function test_color() { - bfs_diff rainbow -color -} - -function test_color_L() { - bfs_diff -L rainbow -color -} - -function test_color_rs_lc_rc_ec() { - LS_COLORS="rs=RS:lc=LC:rc=RC:ec=EC:" bfs_diff rainbow -color -} - -function test_color_escapes() { - LS_COLORS="lc=\e[:rc=\155\::ec=^[\x5B\x6d:" bfs_diff rainbow -color -} - -function test_color_nul() { - LS_COLORS="ec=\33[m\0:" invoke_bfs rainbow -color -maxdepth 0 >"$OUT" - diff_output -} - -function test_color_ln_target() { - LS_COLORS="ln=target:or=01;31:mi=01;33:" bfs_diff rainbow -color -} - -function test_color_L_ln_target() { - LS_COLORS="ln=target:or=01;31:mi=01;33:" bfs_diff -L rainbow -color -} - -function test_color_mh() { - LS_COLORS="mh=01:" bfs_diff rainbow -color -} - -function test_color_mh0() { - LS_COLORS="mh=00:" bfs_diff rainbow -color -} - -function test_color_or() { - LS_COLORS="or=01:" bfs_diff rainbow -color -} - -function test_color_mi() { - LS_COLORS="mi=01:" bfs_diff rainbow -color -} - -function test_color_or_mi() { - LS_COLORS="or=01;31:mi=01;33:" bfs_diff rainbow -color -} - -function test_color_or_mi0() { - LS_COLORS="or=01;31:mi=00:" bfs_diff rainbow -color -} - -function test_color_or0_mi() { - LS_COLORS="or=00:mi=01;33:" bfs_diff rainbow -color -} - -function test_color_or0_mi0() { - LS_COLORS="or=00:mi=00:" bfs_diff rainbow -color -} - -function test_color_su_sg0() { - LS_COLORS="su=37;41:sg=00:" bfs_diff rainbow -color -} - -function test_color_su0_sg() { - LS_COLORS="su=00:sg=30;43:" bfs_diff rainbow -color -} - -function test_color_su0_sg0() { - LS_COLORS="su=00:sg=00:" bfs_diff rainbow -color -} - -function test_color_st_tw_ow0() { - LS_COLORS="st=37;44:tw=40;32:ow=00:" bfs_diff rainbow -color -} - -function test_color_st_tw0_ow() { - LS_COLORS="st=37;44:tw=00:ow=34;42:" bfs_diff rainbow -color -} - -function test_color_st_tw0_ow0() { - LS_COLORS="st=37;44:tw=00:ow=00:" bfs_diff rainbow -color -} - -function test_color_st0_tw_ow() { - LS_COLORS="st=00:tw=40;32:ow=34;42:" bfs_diff rainbow -color -} - -function test_color_st0_tw_ow0() { - LS_COLORS="st=00:tw=40;32:ow=00:" bfs_diff rainbow -color -} - -function test_color_st0_tw0_ow() { - LS_COLORS="st=00:tw=00:ow=34;42:" bfs_diff rainbow -color -} - -function test_color_st0_tw0_ow0() { - LS_COLORS="st=00:tw=00:ow=00:" bfs_diff rainbow -color -} - -function test_color_ext() { - LS_COLORS="*.txt=01:" bfs_diff rainbow -color -} - -function test_color_ext0() { - LS_COLORS="*.txt=00:" bfs_diff rainbow -color -} - -function test_color_ext_override() { - LS_COLORS="*.tar.gz=01;31:*.TAR=01;32:*.gz=01;33:" bfs_diff rainbow -color -} - -function test_color_ext_underride() { - LS_COLORS="*.gz=01;33:*.TAR=01;32:*.tar.gz=01;31:" bfs_diff rainbow -color -} - -function test_color_missing_colon() { - LS_COLORS="*.txt=01" bfs_diff rainbow -color -} - -function test_color_no_stat() { - LS_COLORS="mh=0:ex=0:sg=0:su=0:st=0:ow=0:tw=0:*.txt=01:" bfs_diff rainbow -color -} - -function test_color_L_no_stat() { - LS_COLORS="mh=0:ex=0:sg=0:su=0:st=0:ow=0:tw=0:*.txt=01:" bfs_diff -L rainbow -color -} - -function test_color_star() { - # Regression test: don't segfault on LS_COLORS="*" - LS_COLORS="*" bfs_diff rainbow -color -} - -function test_color_ls() { - rm -rf scratch/* - touchp scratch/foo/bar/baz - ln -s foo/bar/baz scratch/link - ln -s foo/bar/nowhere scratch/broken - ln -s foo/bar/nowhere/nothing scratch/nested - ln -s foo/bar/baz/qux scratch/notdir - ln -s scratch/foo/bar scratch/relative - mkdir scratch/__bfs__ - ln -s /__bfs__/nowhere scratch/absolute - - LS_COLORS="or=01;31:" invoke_bfs scratch/{,link,broken,nested,notdir,relative,absolute} -color -type l -ls \ - | sed 's/.* -> //' \ - | sort >"$OUT" - - diff_output -} - -function test_deep() { - closefrom 4 - - ulimit -n 16 - bfs_diff deep -type f -exec bash -c 'echo "${1:0:6}/.../${1##*/} (${#1})"' bash {} \; -} - -function test_deep_strict() { - closefrom 4 - - # Not even enough fds to keep the root open - ulimit -n 7 - bfs_diff deep -type f -exec bash -c 'echo "${1:0:6}/.../${1##*/} (${#1})"' bash {} \; -} - -function test_exit() { - invoke_bfs basic -name foo -exit 42 - if [ $? -ne 42 ]; then - return 1 - fi - - invoke_bfs basic -name qux -exit 42 - if [ $? -ne 0 ]; then - return 1 - fi - - bfs_diff basic/g -print -name g -exit -} - -function test_exit_no_implicit_print() { - bfs_diff basic -not -name foo -o -exit -} - -function test_printx() { - bfs_diff weirdnames -printx -} - -function test_and_purity() { - # Regression test: (-a lhs(pure) rhs(always_false)) <==> rhs is only valid if rhs is pure - bfs_diff basic -name nonexistent \( -print , -false \) -} - -function test_or_purity() { - # Regression test: (-o lhs(pure) rhs(always_true)) <==> rhs is only valid if rhs is pure - bfs_diff basic -name '*' -o -print -} - -function test_double_negation() { - bfs_diff basic \! \! -name 'foo' -} - -function test_not_reachability() { - bfs_diff basic -print \! -quit -print -} - -function test_comma_reachability() { - bfs_diff basic -print -quit , -print -} - -function test_de_morgan_not() { - bfs_diff basic \! \( -name 'foo' -o \! -type f \) -} - -function test_de_morgan_and() { - bfs_diff basic \( \! -name 'foo' -a \! -type f \) -} - -function test_de_morgan_or() { - bfs_diff basic \( \! -name 'foo' -o \! -type f \) -} - -function test_and_false_or_true() { - # Test (-a lhs(always_true) -false) <==> (! lhs), - # (-o lhs(always_false) -true) <==> (! lhs) - bfs_diff basic -prune -false -o -true -} - -function test_comma_redundant_true() { - # Test (, lhs(always_true) -true) <==> lhs - bfs_diff basic -prune , -true -} - -function test_comma_redundant_false() { - # Test (, lhs(always_false) -false) <==> lhs - bfs_diff basic -print -not -prune , -false -} - -function test_data_flow_depth() { - bfs_diff basic -depth +1 -depth -4 -} - -function test_data_flow_group() { - bfs_diff basic \( -group "$(id -g)" -nogroup \) -o \( -group "$(id -g)" -o -nogroup \) -} - -function test_data_flow_user() { - bfs_diff basic \( -user "$(id -u)" -nouser \) -o \( -user "$(id -u)" -o -nouser \) -} - -function test_data_flow_hidden() { - bfs_diff basic \( -hidden -not -hidden \) -o \( -hidden -o -not -hidden \) -} - -function test_data_flow_sparse() { - bfs_diff basic \( -sparse -not -sparse \) -o \( -sparse -o -not -sparse \) -} - -function test_data_flow_type() { - bfs_diff basic \! \( -type f -o \! -type f \) -} - -function test_data_flow_and_swap() { - bfs_diff basic \! -type f -a -type d -} - -function test_data_flow_or_swap() { - bfs_diff basic \! \( -type f -o \! -type d \) -} - -function test_print_error() { - skip_unless test -e /dev/full - fail invoke_bfs basic -maxdepth 0 >/dev/full -} - -function test_fprint_error() { - skip_unless test -e /dev/full - fail invoke_bfs basic -maxdepth 0 -fprint /dev/full -} - -function test_fprint_noerror() { - # Regression test: /dev/full should not fail until actually written to - skip_unless test -e /dev/full - invoke_bfs basic -false -fprint /dev/full -} - -function test_fprint_error_stdout() { - skip_unless test -e /dev/full - fail invoke_bfs basic -maxdepth 0 -fprint /dev/full >/dev/full -} - -function test_fprint_error_stderr() { - skip_unless test -e /dev/full - fail invoke_bfs basic -maxdepth 0 -fprint /dev/full 2>/dev/full -} - -function test_print0() { - invoke_bfs basic/a basic/b -print0 >"$OUT" - diff_output -} - -function test_fprint0() { - invoke_bfs basic/a basic/b -fprint0 "$OUT" - diff_output -} - -function test_closed_stdin() { - bfs_diff basic <&- -} - -function test_ok_closed_stdin() { - bfs_diff basic -ok echo \; <&- -} - -function test_okdir_closed_stdin() { - bfs_diff basic -okdir echo {} \; <&- -} - -function test_closed_stdout() { - fail invoke_bfs basic >&- -} - -function test_closed_stderr() { - fail invoke_bfs basic >&- 2>&- -} - -function test_unique() { - bfs_diff links/{file,symlink,hardlink} -unique -} - -function test_unique_depth() { - bfs_diff basic -unique -depth -} - -function test_L_unique() { - bfs_diff -L links/{file,symlink,hardlink} -unique -} - -function test_L_unique_loops() { - bfs_diff -L loops/deeply/nested -unique -} - -function test_L_unique_depth() { - bfs_diff -L loops/deeply/nested -unique -depth -} - -function test_mount() { - skip_unless test "$SUDO" - skip_if test "$UNAME" = "Darwin" - - rm -rf scratch/* - mkdir scratch/{foo,mnt} - sudo mount -t tmpfs tmpfs scratch/mnt - $TOUCH scratch/foo/bar scratch/mnt/baz - - bfs_diff scratch -mount - local ret=$? - - sudo umount scratch/mnt - return $ret -} - -function test_L_mount() { - skip_unless test "$SUDO" - skip_if test "$UNAME" = "Darwin" - - rm -rf scratch/* - mkdir scratch/{foo,mnt} - sudo mount -t tmpfs tmpfs scratch/mnt - ln -s ../mnt scratch/foo/bar - $TOUCH scratch/mnt/baz - ln -s ../mnt/baz scratch/foo/qux - - bfs_diff -L scratch -mount - local ret=$? - - sudo umount scratch/mnt - return $ret -} - -function test_xdev() { - skip_unless test "$SUDO" - skip_if test "$UNAME" = "Darwin" - - rm -rf scratch/* - mkdir scratch/{foo,mnt} - sudo mount -t tmpfs tmpfs scratch/mnt - $TOUCH scratch/foo/bar scratch/mnt/baz - - bfs_diff scratch -xdev - local ret=$? - - sudo umount scratch/mnt - return $ret -} - -function test_L_xdev() { - skip_unless test "$SUDO" - skip_if test "$UNAME" = "Darwin" - - rm -rf scratch/* - mkdir scratch/{foo,mnt} - sudo mount -t tmpfs tmpfs scratch/mnt - ln -s ../mnt scratch/foo/bar - $TOUCH scratch/mnt/baz - ln -s ../mnt/baz scratch/foo/qux - - bfs_diff -L scratch -xdev - local ret=$? - - sudo umount scratch/mnt - return $ret -} - -function test_inum_mount() { - skip_unless test "$SUDO" - skip_if test "$UNAME" = "Darwin" - - rm -rf scratch/* - mkdir scratch/{foo,mnt} - sudo mount -t tmpfs tmpfs scratch/mnt - - bfs_diff scratch -inum "$(inum scratch/mnt)" - local ret=$? - - sudo umount scratch/mnt - return $ret -} - -function test_inum_bind_mount() { - skip_unless test "$SUDO" - skip_unless test "$UNAME" = "Linux" - - rm -rf scratch/* - $TOUCH scratch/{foo,bar} - sudo mount --bind scratch/{foo,bar} - - bfs_diff scratch -inum "$(inum scratch/bar)" - local ret=$? - - sudo umount scratch/bar - return $ret -} - -function test_type_bind_mount() { - skip_unless test "$SUDO" - skip_unless test "$UNAME" = "Linux" - - rm -rf scratch/* - $TOUCH scratch/{file,null} - sudo mount --bind /dev/null scratch/null - - bfs_diff scratch -type c - local ret=$? - - sudo umount scratch/null - return $ret -} - -function test_xtype_bind_mount() { - skip_unless test "$SUDO" - skip_unless test "$UNAME" = "Linux" - - rm -rf scratch/* - $TOUCH scratch/{file,null} - sudo mount --bind /dev/null scratch/null - ln -s /dev/null scratch/link - - bfs_diff -L scratch -type c - local ret=$? - - sudo umount scratch/null - return $ret -} - -function test_inum_automount() { - # bfs shouldn't trigger automounts unless it descends into them - - skip_unless test "$SUDO" - skip_unless command -v systemd-mount &>/dev/null - - rm -rf scratch/* - mkdir scratch/{foo,mnt} - skip_unless sudo systemd-mount -A -o bind basic scratch/mnt - - local before=$(inum scratch/mnt) - bfs_diff scratch -inum "$before" -prune - local ret=$? - local after=$(inum scratch/mnt) - - sudo systemd-umount scratch/mnt - - ((ret == 0 && before == after)) -} - -function set_acl() { - case "$UNAME" in - Darwin) - chmod +a "$(id -un) allow read,write" "$1" - ;; - FreeBSD) - if [ "$(getconf ACL_NFS4 "$1")" -gt 0 ]; then - setfacl -m "u:$(id -un):rw::allow" "$1" - else - setfacl -m "u:$(id -un):rw" "$1" - fi - ;; - *) - setfacl -m "u:$(id -un):rw" "$1" - ;; - esac -} - -function test_acl() { - rm -rf scratch/* - - skip_unless invoke_bfs scratch -quit -acl - - $TOUCH scratch/{normal,acl} - skip_unless set_acl scratch/acl - ln -s acl scratch/link - - bfs_diff scratch -acl -} - -function test_L_acl() { - rm -rf scratch/* - - skip_unless invoke_bfs scratch -quit -acl - - $TOUCH scratch/{normal,acl} - skip_unless set_acl scratch/acl - ln -s acl scratch/link - - bfs_diff -L scratch -acl -} - -function test_capable() { - skip_unless test "$SUDO" - skip_unless test "$UNAME" = "Linux" - - rm -rf scratch/* - - skip_unless invoke_bfs scratch -quit -capable - - $TOUCH scratch/{normal,capable} - sudo setcap all+ep scratch/capable - ln -s capable scratch/link - - bfs_diff scratch -capable -} - -function test_L_capable() { - skip_unless test "$SUDO" - skip_unless test "$UNAME" = "Linux" - - rm -rf scratch/* - - skip_unless invoke_bfs scratch -quit -capable - - $TOUCH scratch/{normal,capable} - sudo setcap all+ep scratch/capable - ln -s capable scratch/link - - bfs_diff -L scratch -capable -} - -function make_xattrs() { - rm -rf scratch/* - - $TOUCH scratch/{normal,xattr,xattr_2} - ln -s xattr scratch/link - ln -s normal scratch/xattr_link - - case "$UNAME" in - Darwin) - xattr -w bfs_test true scratch/xattr \ - && xattr -w bfs_test_2 true scratch/xattr_2 \ - && xattr -s -w bfs_test true scratch/xattr_link - ;; - FreeBSD) - setextattr user bfs_test true scratch/xattr \ - && setextattr user bfs_test_2 true scratch/xattr_2 \ - && setextattr -h user bfs_test true scratch/xattr_link - ;; - *) - # Linux tmpfs doesn't support the user.* namespace, so we use the security.* - # namespace, which is writable by root and readable by others - [ "$SUDO" ] \ - && sudo setfattr -n security.bfs_test scratch/xattr \ - && sudo setfattr -n security.bfs_test_2 scratch/xattr_2 \ - && sudo setfattr -h -n security.bfs_test scratch/xattr_link - ;; - esac -} - -function test_xattr() { - skip_unless invoke_bfs scratch -quit -xattr - skip_unless make_xattrs - bfs_diff scratch -xattr -} - -function test_L_xattr() { - skip_unless invoke_bfs scratch -quit -xattr - skip_unless make_xattrs - bfs_diff -L scratch -xattr -} - -function test_xattrname() { - skip_unless invoke_bfs scratch -quit -xattr - skip_unless make_xattrs - - case "$UNAME" in - Darwin|FreeBSD) - bfs_diff scratch -xattrname bfs_test - ;; - *) - bfs_diff scratch -xattrname security.bfs_test - ;; - esac -} - -function test_L_xattrname() { - skip_unless invoke_bfs scratch -quit -xattr - skip_unless make_xattrs - - case "$UNAME" in - Darwin|FreeBSD) - bfs_diff -L scratch -xattrname bfs_test - ;; - *) - bfs_diff -L scratch -xattrname security.bfs_test - ;; - esac -} - -function test_help() { - invoke_bfs -help | grep -E '\{...?\}' && return 1 - invoke_bfs -D help | grep -E '\{...?\}' && return 1 - invoke_bfs -S help | grep -E '\{...?\}' && return 1 - invoke_bfs -regextype help | grep -E '\{...?\}' && return 1 - - return 0 -} - -function test_version() { - invoke_bfs -version >/dev/null -} - -function test_warn() { - local stderr=$(invoke_bfs basic -warn -depth -prune 2>&1 >/dev/null) - [ -n "$stderr" ] -} - -function test_nowarn() { - local stderr=$(invoke_bfs basic -nowarn -depth -prune 2>&1 >/dev/null) - [ -z "$stderr" ] -} - -function test_typo() { - invoke_bfs -dikkiq 2>&1 | grep follow >/dev/null -} - -function test_D_multi() { - bfs_diff -D opt,tree,unknown basic -} - -function test_D_all() { - bfs_diff -D all basic -} - -function test_O0() { - bfs_diff -O0 basic -not \( -type f -not -type f \) -} - -function test_O1() { - bfs_diff -O1 basic -not \( -type f -not -type f \) -} - -function test_O2() { - bfs_diff -O2 basic -not \( -type f -not -type f \) -} - -function test_O3() { - bfs_diff -O3 basic -not \( -type f -not -type f \) -} - -function test_Ofast() { - bfs_diff -Ofast basic -not \( -xtype f -not -xtype f \) -} - -function test_S() { - invoke_bfs -S "$1" -s basic >"$OUT" - diff_output -} - -function test_S_bfs() { - test_S bfs -} - -function test_S_dfs() { - test_S dfs -} - -function test_S_ids() { - test_S ids -} - -function test_exclude_name() { - bfs_diff basic -exclude -name foo -} - -function test_exclude_depth() { - bfs_diff basic -depth -exclude -name foo -} - -function test_exclude_mindepth() { - bfs_diff basic -mindepth 3 -exclude -name foo -} - -function test_exclude_print() { - fail invoke_bfs basic -exclude -print -} - -function test_exclude_exclude() { - fail invoke_bfs basic -exclude -exclude -name foo -} - -function test_flags() { - skip_unless invoke_bfs scratch -quit -flags offline - - rm -rf scratch/* - - $TOUCH scratch/{foo,bar} - skip_unless chflags offline scratch/bar - - bfs_diff scratch -flags -offline,nohidden -} - -function test_files0_from_file() { - cd weirdnames - invoke_bfs -mindepth 1 -fprintf ../scratch/files0.in "%P\0" - bfs_diff -files0-from ../scratch/files0.in -} - -function test_files0_from_stdin() { - cd weirdnames - invoke_bfs -mindepth 1 -printf "%P\0" | bfs_diff -files0-from - -} - -function test_files0_from_none() { - printf "" | fail invoke_bfs -files0-from - -} - -function test_files0_from_empty() { - printf "\0" | fail invoke_bfs -files0-from - -} - -function test_files0_from_nowhere() { - fail invoke_bfs -files0-from -} - -function test_files0_from_nothing() { - fail invoke_bfs -files0-from basic/nonexistent -} - -function test_files0_from_ok() { - printf "basic\0" | fail invoke_bfs -files0-from - -ok echo {} \; -} - -function test_stderr_fails_silently() { - skip_unless test -e /dev/full - bfs_diff -D all basic 2>/dev/full -} - -function test_stderr_fails_loudly() { - skip_unless test -e /dev/full - fail invoke_bfs -D all basic -false -fprint /dev/full 2>/dev/full -} - -function test_unexpected_operator() { - fail invoke_bfs \! -o -print -} - -function test_and_incomplete() { - fail invoke_bfs -print -a -} - -function test_or_incomplete() { - fail invoke_bfs -print -o -} - -function test_comma_incomplete() { - fail invoke_bfs -print , -} - -BOL='\n' -EOL='\n' - -function update_eol() { - # Put the cursor at the last column, then write a space so the next - # character will wrap - EOL="\\033[${COLUMNS}G " -} - - if [ "$VERBOSE_TESTS" ]; then BOL='' elif [ -t 1 ]; then @@ -3478,11 +686,12 @@ for TEST in "${enabled_tests[@]}"; do fi OUT="$TMP/$TEST.out" + mkdir -p "${OUT%/*}" if [ "$VERBOSE_ERRORS" ]; then - ("$TEST") + (. "$TESTS/$TEST.sh") else - ("$TEST") 2>"$TMP/stderr" + (. "$TESTS/$TEST.sh") 2>"$TMP/stderr" fi status=$? -- cgit v1.2.3