Check whether a file has the length it is expected to.
+ - test_grep [!] [<grep-options>] <pattern> <file>
+
+ Check whether <file> contains a line matching <pattern>, or
+ with '!' that no line matches. Use this instead of bare
+ 'grep <pattern> <file>' in test assertions. On failure,
+ test_grep prints the contents of <file> for easier debugging,
+ whereas a bare 'grep' would fail silently.
+
+ For negation, pass '!' as the first argument:
+
+ test_grep ! "^diff --git" actual
+
+ Do not negate by writing '! test_grep', as that suppresses the
+ diagnostic output.
+
+ test_grep should only be used as a test assertion. When grep
+ is used as a data filter (e.g. 'grep -v "^index" actual >filtered')
+ or inside a command substitution (e.g. '$(grep -c ...)'), plain
+ 'grep' is the right choice because the exit code is not the
+ assertion itself.
+
+ test_grep requires <file> to exist and will BUG otherwise, so
+ use it only where the file is guaranteed to exist at that point.
+ When a file's presence is conditional (a backend-specific file,
+ or a path that only exists on some platforms, such as an NTFS
+ 8.3 short name), guard the assertion on that condition (a
+ prerequisite, or a 'test -e' on the path) and use test_grep
+ inside the guard:
+
+ if test_have_prereq REFFILES
+ then
+ test_grep ! "$refname" .git/packed-refs
+ fi
+
- test_path_is_file <path>
test_path_is_dir <path>
test_path_is_missing <path>