Sylvestre Ledru 56d774f576 test: cover slow-path modes that literal tests no longer reach
The buffer-at-a-time fast path now serves the literal patterns that the
existing -l/-L/-q and binary tests used, leaving the line-at-a-time
engine's equivalents uncovered. Add bracket-class (non-literal) tests
for -l/-L/-q and binary handling (notice, -a text, without-match bail,
and the finalize-time notice), plus a fast-path test for a NUL that is
only discovered after a line was already printed.

No dead code was found: the remaining uncovered lines are writer I/O
error-propagation arms and pre-existing filesystem error handlers.
2026-06-04 22:24:27 +02:00
2026-05-28 20:19:53 +02:00
2026-05-28 20:19:53 +02:00
2026-05-31 07:59:22 +00:00
2026-05-31 07:59:22 +00:00
2026-05-28 20:19:53 +02:00
2026-05-28 20:19:53 +02:00
2026-05-28 20:19:53 +02:00
2026-05-28 20:19:53 +02:00

Crates.io Discord License dependency status

CodeCov CodSpeed

Grep, now in Rust

A Rust implementation of GNU Grep. This project is an initial release and may contain bugs.

Install

cargo install uu_grep

Building

Download Rust at: https://rustup.rs/

# Check out this repository
git clone https://github.com/uutils/grep
cd grep

# Build a release version
cargo build --release

# Run!
./target/release/grep --help

# Run tests (if needed; after making changes)
cargo test

Pre-commit hooks

This project uses pre-commit; run pre-commit install to enable the git hooks.

Known Issues

  • Does not take LANG, etc., into account for handling file encodings (non-UTF8 matches are treated as binary)
  • No localization support yet
  • Performances need to be improved

Contributing

To contribute to uutils, please see CONTRIBUTING.

License

uutils is licensed under the MIT License - see the LICENSE file for details

GNU Grep is licensed under the GPL 3.0 or later.

S
Description
No description provided
Readme MIT
1.1 MiB
0 Stars 0 Watchers 0 Forks
Languages
Rust 92.1%
Shell 5.5%
Python 2.4%