aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike Naberezny2014-04-11 16:11:16 -0700
committerBrett Koonce2014-04-12 09:06:52 -0500
commit48efbcb836ca8030232ed6868781cdf8c4c4cea5 (patch)
tree6938de4a0651b99402687aa1bd34051046097fee /Library
parent7c892e10bccd1cdb557c8789dd112508cbea7dcd (diff)
downloadhomebrew-48efbcb836ca8030232ed6868781cdf8c4c4cea5.tar.bz2
yara: add test
Closes #28340. Signed-off-by: Brett Koonce <koonce@gmail.com>
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/yara.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/Library/Formula/yara.rb b/Library/Formula/yara.rb
index 4403c8500..9c33df8b9 100644
--- a/Library/Formula/yara.rb
+++ b/Library/Formula/yara.rb
@@ -23,4 +23,28 @@ class Yara < Formula
"--prefix=#{prefix}"
system "make install"
end
+
+ test do
+ rules = testpath/"commodore.yara"
+ rules.write <<-EOS.undent
+ rule chrout {
+ meta:
+ description = "Calls CBM KERNAL routine CHROUT"
+ strings:
+ $jsr_chrout = {20 D2 FF}
+ $jmp_chrout = {4C D2 FF}
+ condition:
+ $jsr_chrout or $jmp_chrout
+ }
+ EOS
+
+ program = testpath/"zero.prg"
+ File.open(program, "wb") do |f|
+ f.write [0x00, 0xc0, 0xa9, 0x30, 0x4c, 0xd2, 0xff].pack("C*")
+ end
+
+ out = `#{bin}/yara #{rules} #{program}`
+ assert_equal "chrout #{program}\n", out
+ assert_equal 0, $?.exitstatus
+ end
end