class SignalCli < Formula desc "CLI and dbus interface for WhisperSystems/libsignal-service-java" homepage "https://github.com/AsamK/signal-cli" url "https://github.com/AsamK/signal-cli/releases/download/v0.6.3/signal-cli-0.6.3.tar.gz" sha256 "a9b48055444a118a2a500d5782245bb378a80832114fca9bb0bd76cfb48b6dbf" bottle :unneeded depends_on :java => "1.7+" def install libexec.install Dir["lib", "bin"] (bin/"signal-cli").write_env_script libexec/"bin/signal-cli", Language::Java.java_home_env("1.7+") end test do # test 1: checks class loading is working and version is correct output = shell_output("#{bin}/signal-cli --version") assert_match "signal-cli #{version}", output # test 2: ensure crypto is working begin io = IO.popen("#{bin}/signal-cli link", :err => [:child, :out]) sleep 8 ensure Process.kill("SIGINT", io.pid) Process.wait(io.pid) end assert_match "tsdevice:/?uuid=", io.read end end