Skip to content

feat(builtins): add md5sum, sha1sum, sha256sum checksum builtins#348

Merged
chaliy merged 2 commits intomainfrom
claude/feat-330-checksum-builtins-TjcEQ
Feb 27, 2026
Merged

feat(builtins): add md5sum, sha1sum, sha256sum checksum builtins#348
chaliy merged 2 commits intomainfrom
claude/feat-330-checksum-builtins-TjcEQ

Conversation

@chaliy
Copy link
Copy Markdown
Contributor

@chaliy chaliy commented Feb 27, 2026

Summary

  • Add md5sum, sha1sum, sha256sum builtins using RustCrypto crates (md-5, sha1, sha2)
  • Support stdin and file arguments with GNU coreutils-compatible output format
  • Include unit tests for all three algorithms and spec tests for stdin, file, multi-file, and error cases

Test plan

  • Unit tests: cargo test -p bashkit --lib checksum (4 tests)
  • Spec tests: cargo test -p bashkit --test spec_tests bash_spec (includes checksum.test.sh)
  • Comparison tests: cargo test -p bashkit --test spec_tests bash_comparison (verified against real bash)
  • CI green

Closes #330

Implement checksum computation builtins using RustCrypto crates (md-5,
sha1, sha2). Support stdin and file arguments with standard GNU
coreutils output format (hash  filename).

Includes unit tests for all three algorithms and spec tests covering
stdin, file, multi-file, and missing file error cases.

Closes #330
@chaliy chaliy force-pushed the claude/feat-330-checksum-builtins-TjcEQ branch from 84b1ec0 to fbb9524 Compare February 27, 2026 04:49
@chaliy chaliy force-pushed the claude/feat-330-checksum-builtins-TjcEQ branch from fbb9524 to b331e1a Compare February 27, 2026 05:38
@chaliy chaliy merged commit 09e7aa7 into main Feb 27, 2026
16 checks passed
@chaliy chaliy deleted the claude/feat-330-checksum-builtins-TjcEQ branch February 27, 2026 05:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: add md5sum/sha256sum/sha1sum checksum builtins

2 participants