Add --min-depth and --exact-depth
Add new `--min-depth <depth>` and `--exact-depth <depth>` options in addition to the existing
option to limit the maximum depth.

closes #404
We have `--max-depth` option, but there is no `--min-depth` counterpart. It could be used exactly like it's been used with `find`.

Add --min-depth option
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ffd43278c..39b5e14d7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,8 @@
   This can be useful to speed up searches in cases where you know that there are only N results.
   Using this option is also (slightly) faster than piping to `head -n <count>` where `fd` can only
   exit when it finds the search results `<count> + 1`.
+- Add new `--min-depth <depth>` and `--exact-depth <depth>` options in addition to the existing option
+  to limit the maximum depth. See #404.
 - Add the alias `-1` for `--max-results=1`, see #561. (@SimplyDanny).
 - Support additional ANSI font styles in `LS_COLORS`: faint, slow blink, rapid blink, dimmed, hidden and strikethrough.
 
diff --git a/doc/fd.1 b/doc/fd.1
index d1334e339..6575c2a4f 100644
--- a/doc/fd.1
+++ b/doc/fd.1
@@ -110,6 +110,12 @@ Limit directory traversal to at most
 .I d
 levels of depth. By default, there is no limit on the search depth.
 .TP
+.BI "\-\-min\-depth " d
+Only show search results starting at the given depth. See also: '--max-depth' and '--exact-depth'.
+.TP
+.BI "\-\-exact\-depth " d
+Only show search results at the exact given depth. This is an alias for '--min-depth <depth> --max-depth <depth>'.
+.TP
 .BI "\-t, \-\-type " filetype
 Filter search by type:
 .RS
diff --git a/src/app.rs b/src/app.rs
index 47a71dde1..3b33d0ee9 100644
--- a/src/app.rs
+++ b/src/app.rs
@@ -168,10 +168,11 @@ pub fn build_app() -> App<'static, 'static> {
                 ),
         )
         .arg(
-            Arg::with_name("depth")
+            Arg::with_name("max-depth")
                 .long("max-depth")
                 .short("d")
                 .takes_value(true)
+                .value_name("depth")
                 .help("Set maximum search depth (default: none)")
                 .long_help(
                     "Limit the directory traversal to a given depth. By default, there is no \
@@ -185,6 +186,29 @@ pub fn build_app() -> App<'static, 'static> {
                 .hidden(true)
                 .takes_value(true)
         )
+        .arg(
+            Arg::with_name("min-depth")
+                .long("min-depth")
+                .takes_value(true)
+                .value_name("depth")
+                .hidden_short_help(true)
+                .long_help(
+                    "Only show search results starting at the given depth. \
+                     See also: '--max-depth' and '--exact-depth'",
+                ),
+        )
+        .arg(
+            Arg::with_name("exact-depth")
+                .long("exact-depth")
+                .takes_value(true)
+                .value_name("depth")
+                .hidden_short_help(true)
+                .conflicts_with_all(&["max-depth", "min-depth"])
+                .long_help(
+                    "Only show search results at the exact given depth. This is an alias for \
+                     '--min-depth <depth> --max-depth <depth>'.",
+                ),
+        )
         .arg(
             Arg::with_name("file-type")
                 .long("type")
diff --git a/src/main.rs b/src/main.rs
index 587277853..bf43e4d36 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -226,8 +226,13 @@ fn run() -> Result<ExitCode> {
         one_file_system: matches.is_present("one-file-system"),
         null_separator: matches.is_present("null_separator"),
         max_depth: matches
-            .value_of("depth")
+            .value_of("max-depth")
             .or_else(|| matches.value_of("rg-depth"))
+            .or_else(|| matches.value_of("exact-depth"))
+            .and_then(|n| usize::from_str_radix(n, 10).ok()),
+        min_depth: matches
+            .value_of("min-depth")
+            .or_else(|| matches.value_of("exact-depth"))
             .and_then(|n| usize::from_str_radix(n, 10).ok()),
         threads: std::cmp::max(
             matches
@@ -296,7 +301,13 @@ fn run() -> Result<ExitCode> {
             .value_of("max-results")
             .and_then(|n| usize::from_str_radix(n, 10).ok())
             .filter(|&n| n != 0)
-            .or_else(|| if matches.is_present("max-one-result") { Some(1) } else { None }),
+            .or_else(|| {
+                if matches.is_present("max-one-result") {
+                    Some(1)
+                } else {
+                    None
+                }
+            }),
     };
 
     let re = RegexBuilder::new(&pattern_regex)
diff --git a/src/options.rs b/src/options.rs
index e7fb44566..3f52516a6 100644
--- a/src/options.rs
+++ b/src/options.rs
@@ -40,6 +40,9 @@ pub struct Options {
     /// all files under subdirectories of the current directory, etc.
     pub max_depth: Option<usize>,
 
+    /// The minimum depth for reported entries, or `None`.
+    pub min_depth: Option<usize>,
+
     /// The number of threads to use.
     pub threads: usize,
 
diff --git a/src/walk.rs b/src/walk.rs
index 2181a41ac..34b862c21 100644
--- a/src/walk.rs
+++ b/src/walk.rs
@@ -283,6 +283,13 @@ impl DirEntry {
             DirEntry::BrokenSymlink(_) => None,
         }
     }
+
+    pub fn depth(&self) -> Option<usize> {
+        match self {
+            DirEntry::Normal(e) => Some(e.depth()),
+            DirEntry::BrokenSymlink(_) => None,
+        }
+    }
 }
 
 fn spawn_senders(
@@ -338,6 +345,12 @@ fn spawn_senders(
                 }
             };
 
+            if let Some(min_depth) = config.min_depth {
+                if entry.depth().map_or(true, |d| d < min_depth) {
+                    return ignore::WalkState::Continue;
+                }
+            }
+
             // Check the name first, since it doesn't require metadata
             let entry_path = entry.path();
 

diff --git a/tests/tests.rs b/tests/tests.rs
index 1b8a24483..e4239890c 100644
--- a/tests/tests.rs
+++ b/tests/tests.rs
@@ -669,6 +669,40 @@ fn test_max_depth() {
     );
 }
 
+/// Minimum depth (--min-depth)
+#[test]
+fn test_min_depth() {
+    let te = TestEnv::new(DEFAULT_DIRS, DEFAULT_FILES);
+
+    te.assert_output(
+        &["--min-depth", "3"],
+        "one/two/c.foo
+        one/two/C.Foo2
+        one/two/three
+        one/two/three/d.foo
+        one/two/three/directory_foo",
+    );
+
+    te.assert_output(
+        &["--min-depth", "4"],
+        "one/two/three/d.foo
+        one/two/three/directory_foo",
+    );
+}
+
+/// Exact depth (--exact-depth)
+#[test]
+fn test_exact_depth() {
+    let te = TestEnv::new(DEFAULT_DIRS, DEFAULT_FILES);
+
+    te.assert_output(
+        &["--exact-depth", "3"],
+        "one/two/c.foo
+        one/two/C.Foo2
+        one/two/three",
+    );
+}
+
 /// Absolute paths (--absolute-path)
 #[test]
 fn test_absolute_path() {

{"test_exact_depth": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "test_min_depth": {"run": "NONE", "test": "FAIL", "fix": "PASS"}}
{"exec::input::path_tests::remove_ext_dir": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_bib_format_returns_none": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_no_ignore_aliases": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::basename_empty": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_modified_asolute": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::byte_plus_multiplier": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_invalid_unit_returns_none_1": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_print0": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::hidden": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_bb_format_returns_none": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_type_empty": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_bad_format_returns_none_2": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_extension": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_case_insensitive": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_custom_ignore_files": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::is_within_greater_than": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::is_within_less_than_equal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_glob_searches": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_case_sensitive_glob_searches": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_invalid_unit_returns_none_2": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_exec": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_excludes": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::is_within_less_than": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exit_codes::tests::success_if_no_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_full_path_glob_searches": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_missing_unit_returns_none": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_multi_file": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::remove_ext_utf8": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_type_executable": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "regex_helper::pattern_has_uppercase_char_advanced": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_hidden": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_follow": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::byte_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_custom_path_separator": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exit_codes::tests::general_error_if_at_least_one_error": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::remove_ext_empty": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filesystem::tests::strip_current_dir_basic": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_bad_format_returns_none_1": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_plus_multiplier": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::basename_utf8_1": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_smart_case_glob_searches": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_symlink_as_root": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_implicit_absolute_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_with_parent": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::basename_dir": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_symlink_as_absolute_root": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_max_depth": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::byte_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::remove_ext_simple": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_with_basename_no_extension": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_multiple_batch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_glob_searches_with_extension": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_follow_broken_symlink": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exit_codes::tests::success_when_no_results": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "regex_helper::pattern_has_uppercase_char_simple": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_modified_relative": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_absolute_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_missing_number_returns_none": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_single_batch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_minus_multiplier": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_no_ignore_vcs": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_normalized_absolute_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::dirname_dir": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_explicit_root_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::dirname_utf8_1": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_invalid_unit_returns_none_3": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_symlink_and_full_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::basename_utf8_0": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_fixed_strings": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_bad_format_returns_none_3": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_full_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_plus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_symlink_and_absolute_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_symlink_and_full_path_abs_path": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_minus_multiplier": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_base_directory": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_max_results": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_exec_batch": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mega_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_size": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::dirname_root": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::dirname_simple": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_with_no_extension": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::dirname_utf8_0": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_exec_invalid_utf8": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_minus_suffix_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_with_placeholder": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tebi_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_multiple": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kilo_plus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_file_system_boundaries": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_regex_searches": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_plus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::ensure_missing_symbol_returns_none": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::time::tests::is_time_filter_applicable": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_type": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_gitignore_and_fdignore": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_case_sensitive": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::kibi_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::tests::tokens_with_basename": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::is_within_greater_than_equal": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::tera_minus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_no_ignore": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_custom_ignore_precedence": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_simple": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_regex_overrides_glob": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "exec::input::path_tests::basename_simple": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_smart_case": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::mebi_minus_upper": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "test_invalid_utf8": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::gibi_minus": {"run": "PASS", "test": "PASS", "fix": "PASS"}, "filter::size::tests::giga_plus_suffix": {"run": "PASS", "test": "PASS", "fix": "PASS"}}
{"test_exact_depth": {"run": "NONE", "test": "FAIL", "fix": "PASS"}, "test_min_depth": {"run": "NONE", "test": "FAIL", "fix": "PASS"}}
{"passed_count": 165, "failed_count": 0, "skipped_count": 0, "passed_tests": ["exec::input::path_tests::remove_ext_dir", "filter::size::tests::ensure_bib_format_returns_none", "test_no_ignore_aliases", "exec::input::path_tests::basename_empty", "filter::size::tests::tera_plus_upper", "test_modified_asolute", "filter::size::tests::byte_plus_multiplier", "filter::size::tests::ensure_invalid_unit_returns_none_1", "test_print0", "exec::input::path_tests::hidden", "filter::size::tests::tera_plus_suffix", "filter::size::tests::ensure_bb_format_returns_none", "test_type_empty", "filter::size::tests::ensure_bad_format_returns_none_2", "filter::size::tests::mega_minus_suffix_upper", "test_extension", "test_case_insensitive", "filter::size::tests::mega_minus_upper", "filter::size::tests::tera_minus", "test_custom_ignore_files", "filter::size::tests::is_within_greater_than", "filter::size::tests::kilo_minus_suffix", "filter::size::tests::kibi_plus_suffix", "filter::size::tests::is_within_less_than_equal", "filter::size::tests::mega_minus_suffix", "filter::size::tests::gibi_plus_upper", "test_glob_searches", "filter::size::tests::tebi_plus", "filter::size::tests::giga_minus_upper", "test_case_sensitive_glob_searches", "filter::size::tests::tebi_minus_suffix", "filter::size::tests::mega_plus_suffix", "filter::size::tests::ensure_invalid_unit_returns_none_2", "test_exec", "test_excludes", "filter::size::tests::is_within_less_than", "filter::size::tests::kibi_minus_suffix", "exit_codes::tests::success_if_no_error", "filter::size::tests::giga_plus", "test_full_path_glob_searches", "filter::size::tests::ensure_missing_unit_returns_none", "filter::size::tests::giga_plus_suffix_upper", "filter::size::tests::kibi_minus_suffix_upper", "filter::size::tests::tebi_plus_suffix_upper", "test_multi_file", "exec::input::path_tests::remove_ext_utf8", "filter::size::tests::kibi_minus_upper", "test_type_executable", "regex_helper::pattern_has_uppercase_char_advanced", "filter::size::tests::kilo_minus", "filter::size::tests::kibi_plus_suffix_upper", "filter::size::tests::tebi_minus_suffix_upper", "test_hidden", "filter::size::tests::mebi_minus", "filter::size::tests::tebi_minus", "filter::size::tests::giga_minus_suffix", "test_follow", "filter::size::tests::byte_plus", "test_custom_path_separator", "exit_codes::tests::general_error_if_at_least_one_error", "exec::input::path_tests::remove_ext_empty", "filesystem::tests::strip_current_dir_basic", "filter::size::tests::ensure_bad_format_returns_none_1", "filter::size::tests::kibi_plus_multiplier", "exec::input::path_tests::basename_utf8_1", "test_smart_case_glob_searches", "filter::size::tests::gibi_minus_suffix", "filter::size::tests::mega_minus", "filter::size::tests::kilo_minus_upper", "filter::size::tests::mebi_plus_suffix", "test_symlink_as_root", "test_implicit_absolute_path", "exec::tests::tokens_with_parent", "exec::input::path_tests::basename_dir", "filter::size::tests::giga_plus_upper", "filter::size::tests::gibi_minus_upper", "filter::size::tests::kilo_minus_suffix_upper", "test_symlink_as_absolute_root", "test_max_depth", "filter::size::tests::gibi_plus_suffix_upper", "filter::size::tests::byte_minus", "filter::size::tests::giga_minus_suffix_upper", "exec::input::path_tests::remove_ext_simple", "filter::size::tests::tera_plus_suffix_upper", "exec::tests::tokens_with_basename_no_extension", "exec::tests::tokens_multiple_batch", "test_glob_searches_with_extension", "test_follow_broken_symlink", "filter::size::tests::mebi_minus_suffix_upper", "exit_codes::tests::success_when_no_results", "filter::size::tests::mebi_plus_suffix_upper", "regex_helper::pattern_has_uppercase_char_simple", "filter::size::tests::tera_minus_upper", "test_modified_relative", "filter::size::tests::mega_plus_suffix_upper", "filter::size::tests::mega_plus", "test_absolute_path", "filter::size::tests::ensure_missing_number_returns_none", "filter::size::tests::gibi_minus_suffix_upper", "exec::tests::tokens_single_batch", "filter::size::tests::kibi_minus_multiplier", "filter::size::tests::kibi_plus_upper", "test_no_ignore_vcs", "test_normalized_absolute_path", "exec::input::path_tests::dirname_dir", "test_explicit_root_path", "exec::input::path_tests::dirname_utf8_1", "filter::size::tests::ensure_invalid_unit_returns_none_3", "test_symlink_and_full_path", "filter::size::tests::tebi_plus_suffix", "filter::size::tests::gibi_plus_suffix", "filter::size::tests::kilo_plus", "exec::input::path_tests::basename_utf8_0", "test_fixed_strings", "filter::size::tests::ensure_bad_format_returns_none_3", "test_full_path", "filter::size::tests::kilo_plus_suffix_upper", "test_symlink_and_absolute_path", "filter::size::tests::kilo_plus_suffix", "test_symlink_and_full_path_abs_path", "filter::size::tests::kilo_minus_multiplier", "test_base_directory", "test_max_results", "test_exec_batch", "filter::size::tests::tebi_plus_upper", "filter::size::tests::mega_plus_upper", "test_size", "exec::input::path_tests::dirname_root", "exec::input::path_tests::dirname_simple", "exec::tests::tokens_with_no_extension", "filter::size::tests::tera_plus", "filter::size::tests::mebi_minus_suffix", "exec::input::path_tests::dirname_utf8_0", "filter::size::tests::giga_minus", "filter::size::tests::mebi_plus_upper", "filter::size::tests::gibi_plus", "test_exec_invalid_utf8", "filter::size::tests::tera_minus_suffix_upper", "exec::tests::tokens_with_placeholder", "filter::size::tests::tebi_minus_upper", "exec::tests::tokens_multiple", "filter::size::tests::kilo_plus_upper", "test_file_system_boundaries", "filter::size::tests::kibi_plus", "test_regex_searches", "filter::size::tests::mebi_plus", "filter::size::tests::ensure_missing_symbol_returns_none", "filter::time::tests::is_time_filter_applicable", "test_type", "test_gitignore_and_fdignore", "test_case_sensitive", "filter::size::tests::kibi_minus", "exec::tests::tokens_with_basename", "filter::size::tests::is_within_greater_than_equal", "filter::size::tests::tera_minus_suffix", "test_no_ignore", "test_custom_ignore_precedence", "test_simple", "test_regex_overrides_glob", "exec::input::path_tests::basename_simple", "test_smart_case", "filter::size::tests::mebi_minus_upper", "test_invalid_utf8", "filter::size::tests::gibi_minus", "filter::size::tests::giga_plus_suffix"], "failed_tests": [], "skipped_tests": []}
{"passed_count": 165, "failed_count": 2, "skipped_count": 0, "passed_tests": ["exec::input::path_tests::remove_ext_dir", "filter::size::tests::ensure_bib_format_returns_none", "test_no_ignore_aliases", "exec::input::path_tests::basename_empty", "filter::size::tests::tera_plus_upper", "test_modified_asolute", "filter::size::tests::byte_plus_multiplier", "filter::size::tests::ensure_invalid_unit_returns_none_1", "test_print0", "exec::input::path_tests::hidden", "filter::size::tests::tera_plus_suffix", "filter::size::tests::ensure_bb_format_returns_none", "test_type_empty", "filter::size::tests::ensure_bad_format_returns_none_2", "filter::size::tests::mega_minus_suffix_upper", "test_extension", "test_case_insensitive", "filter::size::tests::mega_minus_upper", "filter::size::tests::tera_minus", "test_custom_ignore_files", "filter::size::tests::is_within_greater_than", "filter::size::tests::kilo_minus_suffix", "filter::size::tests::kibi_plus_suffix", "filter::size::tests::is_within_less_than_equal", "filter::size::tests::mega_minus_suffix", "filter::size::tests::gibi_plus_upper", "test_glob_searches", "filter::size::tests::tebi_plus", "filter::size::tests::giga_minus_upper", "test_case_sensitive_glob_searches", "filter::size::tests::tebi_minus_suffix", "filter::size::tests::mega_plus_suffix", "filter::size::tests::ensure_invalid_unit_returns_none_2", "test_exec", "test_excludes", "filter::size::tests::is_within_less_than", "filter::size::tests::kibi_minus_suffix", "exit_codes::tests::success_if_no_error", "filter::size::tests::giga_plus", "test_full_path_glob_searches", "filter::size::tests::ensure_missing_unit_returns_none", "filter::size::tests::giga_plus_suffix_upper", "filter::size::tests::kibi_minus_suffix_upper", "filter::size::tests::tebi_plus_suffix_upper", "test_multi_file", "exec::input::path_tests::remove_ext_utf8", "filter::size::tests::kibi_minus_upper", "test_type_executable", "regex_helper::pattern_has_uppercase_char_advanced", "filter::size::tests::kibi_plus_suffix_upper", "filter::size::tests::kilo_minus", "filter::size::tests::tebi_minus_suffix_upper", "test_hidden", "filter::size::tests::mebi_minus", "filter::size::tests::tebi_minus", "filter::size::tests::giga_minus_suffix", "test_follow", "filter::size::tests::byte_plus", "test_custom_path_separator", "exit_codes::tests::general_error_if_at_least_one_error", "exec::input::path_tests::remove_ext_empty", "filesystem::tests::strip_current_dir_basic", "filter::size::tests::ensure_bad_format_returns_none_1", "filter::size::tests::kibi_plus_multiplier", "exec::input::path_tests::basename_utf8_1", "test_smart_case_glob_searches", "filter::size::tests::mega_minus", "filter::size::tests::gibi_minus_suffix", "filter::size::tests::kilo_minus_upper", "filter::size::tests::mebi_plus_suffix", "test_symlink_as_root", "test_implicit_absolute_path", "exec::tests::tokens_with_parent", "exec::input::path_tests::basename_dir", "filter::size::tests::giga_plus_upper", "filter::size::tests::kilo_minus_suffix_upper", "filter::size::tests::gibi_minus_upper", "test_symlink_as_absolute_root", "test_max_depth", "filter::size::tests::gibi_plus_suffix_upper", "filter::size::tests::byte_minus", "filter::size::tests::giga_minus_suffix_upper", "exec::input::path_tests::remove_ext_simple", "filter::size::tests::tera_plus_suffix_upper", "exec::tests::tokens_with_basename_no_extension", "exec::tests::tokens_multiple_batch", "test_glob_searches_with_extension", "test_follow_broken_symlink", "filter::size::tests::mebi_minus_suffix_upper", "exit_codes::tests::success_when_no_results", "filter::size::tests::mebi_plus_suffix_upper", "regex_helper::pattern_has_uppercase_char_simple", "filter::size::tests::tera_minus_upper", "test_modified_relative", "filter::size::tests::mega_plus", "filter::size::tests::mega_plus_suffix_upper", "test_absolute_path", "filter::size::tests::ensure_missing_number_returns_none", "filter::size::tests::gibi_minus_suffix_upper", "exec::tests::tokens_single_batch", "filter::size::tests::kibi_minus_multiplier", "filter::size::tests::kibi_plus_upper", "test_no_ignore_vcs", "test_normalized_absolute_path", "exec::input::path_tests::dirname_dir", "test_explicit_root_path", "exec::input::path_tests::dirname_utf8_1", "filter::size::tests::ensure_invalid_unit_returns_none_3", "test_symlink_and_full_path", "filter::size::tests::tebi_plus_suffix", "filter::size::tests::gibi_plus_suffix", "filter::size::tests::kilo_plus", "exec::input::path_tests::basename_utf8_0", "test_fixed_strings", "filter::size::tests::ensure_bad_format_returns_none_3", "test_full_path", "filter::size::tests::kilo_plus_suffix_upper", "test_symlink_and_absolute_path", "filter::size::tests::kilo_plus_suffix", "test_symlink_and_full_path_abs_path", "filter::size::tests::kilo_minus_multiplier", "test_base_directory", "test_max_results", "test_exec_batch", "filter::size::tests::tebi_plus_upper", "filter::size::tests::mega_plus_upper", "test_size", "exec::input::path_tests::dirname_root", "exec::input::path_tests::dirname_simple", "exec::tests::tokens_with_no_extension", "filter::size::tests::mebi_minus_suffix", "filter::size::tests::tera_plus", "exec::input::path_tests::dirname_utf8_0", "filter::size::tests::giga_minus", "filter::size::tests::mebi_plus_upper", "filter::size::tests::gibi_plus", "test_exec_invalid_utf8", "filter::size::tests::tera_minus_suffix_upper", "filter::size::tests::tebi_minus_upper", "exec::tests::tokens_with_placeholder", "exec::tests::tokens_multiple", "filter::size::tests::kilo_plus_upper", "test_file_system_boundaries", "filter::size::tests::kibi_plus", "test_regex_searches", "filter::size::tests::mebi_plus", "filter::size::tests::ensure_missing_symbol_returns_none", "filter::time::tests::is_time_filter_applicable", "test_type", "test_gitignore_and_fdignore", "test_case_sensitive", "filter::size::tests::kibi_minus", "exec::tests::tokens_with_basename", "filter::size::tests::is_within_greater_than_equal", "filter::size::tests::tera_minus_suffix", "test_no_ignore", "test_custom_ignore_precedence", "test_simple", "test_regex_overrides_glob", "exec::input::path_tests::basename_simple", "test_smart_case", "filter::size::tests::mebi_minus_upper", "test_invalid_utf8", "filter::size::tests::gibi_minus", "filter::size::tests::giga_plus_suffix"], "failed_tests": ["test_exact_depth", "test_min_depth"], "skipped_tests": []}
{"passed_count": 167, "failed_count": 0, "skipped_count": 0, "passed_tests": ["exec::input::path_tests::remove_ext_dir", "filter::size::tests::ensure_bib_format_returns_none", "test_no_ignore_aliases", "exec::input::path_tests::basename_empty", "filter::size::tests::tera_plus_upper", "test_modified_asolute", "filter::size::tests::byte_plus_multiplier", "filter::size::tests::ensure_invalid_unit_returns_none_1", "test_print0", "exec::input::path_tests::hidden", "filter::size::tests::tera_plus_suffix", "filter::size::tests::ensure_bb_format_returns_none", "test_type_empty", "filter::size::tests::ensure_bad_format_returns_none_2", "filter::size::tests::mega_minus_suffix_upper", "test_extension", "test_case_insensitive", "filter::size::tests::mega_minus_upper", "filter::size::tests::tera_minus", "test_custom_ignore_files", "filter::size::tests::kilo_minus_suffix", "filter::size::tests::is_within_greater_than", "filter::size::tests::kibi_plus_suffix", "filter::size::tests::is_within_less_than_equal", "filter::size::tests::mega_minus_suffix", "filter::size::tests::gibi_plus_upper", "test_glob_searches", "filter::size::tests::tebi_plus", "test_exact_depth", "filter::size::tests::giga_minus_upper", "test_case_sensitive_glob_searches", "filter::size::tests::tebi_minus_suffix", "filter::size::tests::mega_plus_suffix", "filter::size::tests::ensure_invalid_unit_returns_none_2", "test_exec", "test_excludes", "filter::size::tests::is_within_less_than", "filter::size::tests::kibi_minus_suffix", "exit_codes::tests::success_if_no_error", "filter::size::tests::giga_plus", "test_full_path_glob_searches", "filter::size::tests::ensure_missing_unit_returns_none", "filter::size::tests::giga_plus_suffix_upper", "filter::size::tests::kibi_minus_suffix_upper", "filter::size::tests::tebi_plus_suffix_upper", "test_multi_file", "exec::input::path_tests::remove_ext_utf8", "filter::size::tests::kibi_minus_upper", "test_type_executable", "filter::size::tests::kibi_plus_suffix_upper", "filter::size::tests::kilo_minus", "regex_helper::pattern_has_uppercase_char_advanced", "filter::size::tests::tebi_minus_suffix_upper", "test_hidden", "filter::size::tests::mebi_minus", "filter::size::tests::tebi_minus", "filter::size::tests::giga_minus_suffix", "test_follow", "filter::size::tests::byte_plus", "test_custom_path_separator", "exit_codes::tests::general_error_if_at_least_one_error", "exec::input::path_tests::remove_ext_empty", "filter::size::tests::ensure_bad_format_returns_none_1", "filesystem::tests::strip_current_dir_basic", "filter::size::tests::kibi_plus_multiplier", "exec::input::path_tests::basename_utf8_1", "test_smart_case_glob_searches", "filter::size::tests::gibi_minus_suffix", "filter::size::tests::mega_minus", "filter::size::tests::kilo_minus_upper", "filter::size::tests::mebi_plus_suffix", "test_symlink_as_root", "test_implicit_absolute_path", "exec::tests::tokens_with_parent", "exec::input::path_tests::basename_dir", "filter::size::tests::giga_plus_upper", "filter::size::tests::gibi_minus_upper", "filter::size::tests::kilo_minus_suffix_upper", "test_max_depth", "test_symlink_as_absolute_root", "filter::size::tests::gibi_plus_suffix_upper", "filter::size::tests::byte_minus", "filter::size::tests::giga_minus_suffix_upper", "exec::input::path_tests::remove_ext_simple", "filter::size::tests::tera_plus_suffix_upper", "exec::tests::tokens_with_basename_no_extension", "exec::tests::tokens_multiple_batch", "test_glob_searches_with_extension", "test_follow_broken_symlink", "filter::size::tests::mebi_minus_suffix_upper", "exit_codes::tests::success_when_no_results", "filter::size::tests::mebi_plus_suffix_upper", "regex_helper::pattern_has_uppercase_char_simple", "filter::size::tests::tera_minus_upper", "test_min_depth", "test_modified_relative", "filter::size::tests::mega_plus_suffix_upper", "filter::size::tests::mega_plus", "test_absolute_path", "filter::size::tests::ensure_missing_number_returns_none", "filter::size::tests::gibi_minus_suffix_upper", "exec::tests::tokens_single_batch", "filter::size::tests::kibi_minus_multiplier", "filter::size::tests::kibi_plus_upper", "test_normalized_absolute_path", "test_no_ignore_vcs", "exec::input::path_tests::dirname_dir", "test_explicit_root_path", "exec::input::path_tests::dirname_utf8_1", "filter::size::tests::ensure_invalid_unit_returns_none_3", "test_symlink_and_full_path", "filter::size::tests::tebi_plus_suffix", "filter::size::tests::gibi_plus_suffix", "filter::size::tests::kilo_plus", "exec::input::path_tests::basename_utf8_0", "test_fixed_strings", "filter::size::tests::ensure_bad_format_returns_none_3", "test_full_path", "filter::size::tests::kilo_plus_suffix_upper", "test_symlink_and_absolute_path", "filter::size::tests::kilo_plus_suffix", "test_symlink_and_full_path_abs_path", "filter::size::tests::kilo_minus_multiplier", "test_base_directory", "test_max_results", "test_exec_batch", "filter::size::tests::tebi_plus_upper", "filter::size::tests::mega_plus_upper", "test_size", "exec::input::path_tests::dirname_root", "exec::input::path_tests::dirname_simple", "exec::tests::tokens_with_no_extension", "filter::size::tests::mebi_minus_suffix", "filter::size::tests::tera_plus", "exec::input::path_tests::dirname_utf8_0", "filter::size::tests::mebi_plus_upper", "filter::size::tests::giga_minus", "filter::size::tests::gibi_plus", "test_exec_invalid_utf8", "filter::size::tests::tera_minus_suffix_upper", "filter::size::tests::tebi_minus_upper", "exec::tests::tokens_with_placeholder", "exec::tests::tokens_multiple", "filter::size::tests::kilo_plus_upper", "test_file_system_boundaries", "filter::size::tests::kibi_plus", "test_regex_searches", "filter::size::tests::mebi_plus", "filter::size::tests::ensure_missing_symbol_returns_none", "filter::time::tests::is_time_filter_applicable", "test_type", "test_gitignore_and_fdignore", "test_case_sensitive", "filter::size::tests::kibi_minus", "exec::tests::tokens_with_basename", "filter::size::tests::tera_minus_suffix", "filter::size::tests::is_within_greater_than_equal", "test_no_ignore", "test_custom_ignore_precedence", "test_simple", "test_regex_overrides_glob", "exec::input::path_tests::basename_simple", "test_smart_case", "filter::size::tests::mebi_minus_upper", "test_invalid_utf8", "filter::size::tests::gibi_minus", "filter::size::tests::giga_plus_suffix"], "failed_tests": [], "skipped_tests": []}