homebrew-core/Formula/crcany.rb

45 lines
1.5 KiB
Ruby

class Crcany < Formula
desc "Compute any CRC, a bit at a time, a byte at a time, and a word at a time"
homepage "https://github.com/madler/crcany"
url "https://github.com/madler/crcany/archive/v2.0.tar.gz"
sha256 "33dbe92f05a0cd9b9e133d0a6f864793d96c5c6055845e0f7220bdf3372aa5bf"
license "Zlib"
head "https://github.com/madler/crcany.git"
bottle do
sha256 cellar: :any_skip_relocation, arm64_big_sur: "6fae645339969bae0ce4cc2af169508a6ace50ccea0c5062ad67706ae573f0ae"
sha256 cellar: :any_skip_relocation, big_sur: "3b798deff0f0bc2c2a472cff81f6ad172f847385908efd95a6affefe7d55b719"
sha256 cellar: :any_skip_relocation, catalina: "302ec3819e25f3478ebdd9dc50e539d3ba7602f479ee9d8bb08c0cc97ccd9d39"
sha256 cellar: :any_skip_relocation, mojave: "7f75a8e8101a52045412398dcc1a1ba26229373251131af3b0cf76bd9d5acae2"
end
def install
system "make"
bin.install "crcany"
end
test do
output = shell_output("#{bin}/crcany -list")
assert_match "CRC-3/GSM (3gsm)", output
assert_match "CRC-64/XZ (64xz)", output
input = "test"
filename = "foobar"
(testpath/filename).write input
expected = <<~EOS
CRC-3/GSM
0x0
EOS
assert_equal expected, pipe_output("#{bin}/crcany -3gsm", input)
assert_equal expected, shell_output("#{bin}/crcany -3gsm #{filename}")
expected = <<~EOS
CRC-64/XZ
0xfa15fda7c10c75a5
EOS
assert_equal expected, pipe_output("#{bin}/crcany -64xz", input)
assert_equal expected, shell_output("#{bin}/crcany -64xz #{filename}")
end
end