blob: 29df2741163d406cc7811b42edd739711c886280 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 | class Redir < Formula
  homepage "http://sammy.net/~sammy/hacks/"
  url "https://github.com/TracyWebTech/redir/archive/2.2.1-9.tar.gz"
  version "2.2.1-9"
  sha1 "84ae75104d79432bbc15f67e4dc2980e0912b2b6"
  bottle do
    cellar :any
    sha256 "76c6d218033c27de7a5030e8d9fe1356e0a152e3a31e4210b589314643b9fd0d" => :yosemite
    sha256 "19b1d25bc23f38eeecd22c9ed2eac4640e63e97d7a192e7bc71b822d5d29afe0" => :mavericks
    sha256 "7b363f804ba92db19815e67697fa28247fe346be4733c48b9b306e2797a3344b" => :mountain_lion
  end
  def install
    system "make"
    bin.install "redir"
    man1.install "redir.man"
  end
  test do
    redir_pid = fork do
      exec "#{bin}/redir", "--cport=12345", "--lport=54321"
    end
    Process.detach(redir_pid)
    nc_pid = fork do
      exec "nc -l 12345"
    end
    # Give time to processes start
    sleep(1)
    begin
      # Check if the process is running
      system "kill", "-0", redir_pid
      # Check if the port redirect works
      system "nc", "-z", "localhost", "54321"
    ensure
      Process.kill("TERM", redir_pid)
      Process.kill("TERM", nc_pid)
      Process.wait(nc_pid)
    end
  end
end
 |