aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula')
-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