about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-02-26 17:31:46 -0800
committerEric Wong <normalperson@yhbt.net>2009-03-03 11:13:02 -0800
commit528b30a9a3f2de1f0f44ef1a4ac65519a0770d58 (patch)
treef1ee6d641421cf14d49723235628995f02286ac0
parente66ab79b8b5bc5311c750bf03868a7b2574f4ea1 (diff)
downloadunicorn-528b30a9a3f2de1f0f44ef1a4ac65519a0770d58.tar.gz
Ensure the output fits in a standard ANSI terminal so it's easy
to read for all users regardless of what interface they're
working from.
-rwxr-xr-xbin/unicorn20
-rw-r--r--test/exec/test_exec.rb16
2 files changed, 26 insertions, 10 deletions
diff --git a/bin/unicorn b/bin/unicorn
index 0956d6f..c306c98 100755
--- a/bin/unicorn
+++ b/bin/unicorn
@@ -47,13 +47,13 @@ opts = OptionParser.new("", 24, '  ') do |opts|
 
   # some of these switches exist for rackup command-line compatibility,
 
-  opts.on("-o", "--host HOST", "listen on HOST (default: 0.0.0.0)") do |h|
-    warn "The --host/-o option is not recommended, see --listen/-l"
+  opts.on("-o", "--host HOST",
+          "listen on HOST (default: #{Unicorn::Const::DEFAULT_HOST})") do |h|
     host = h
   end
 
-  opts.on("-p", "--port PORT", "use PORT (default: 8080)") do |p|
-    warn "The --port/-p option is not recommended, see --listen/-l"
+  opts.on("-p", "--port PORT",
+          "use PORT (default: #{Unicorn::Const::DEFAULT_PORT})") do |p|
     port = p.to_i
   end
 
@@ -71,10 +71,10 @@ opts = OptionParser.new("", 24, '  ') do |opts|
   end
 
   # Unicorn-specific stuff
-  opts.on("-l", "--listen <address:port|/path/to/socket>",
-          "listen on address:port or UNIX socket " \
-          "(default: 0.0.0.0:8080)" \
-          "  this may be specified multiple times") do |address|
+  opts.on("-l", "--listen {HOST:PORT|PATH}",
+          "listen on HOST:PORT or PATH",
+          "this may be specified multiple times",
+          "(default: #{Unicorn::Const::DEFAULT_LISTEN})") do |address|
     listeners << address
   end
 
@@ -87,7 +87,7 @@ opts = OptionParser.new("", 24, '  ') do |opts|
   end
 
   # I'm avoiding Unicorn-specific config options on the command-line.
-  # IMNSHO, config options on the command-line are redundant given a
+  # IMNSHO, config options on the command-line are redundant given
   # config files and make things unnecessarily complicated with multiple
   # places to look for a config option.
 
@@ -99,7 +99,7 @@ opts = OptionParser.new("", 24, '  ') do |opts|
     exit
   end
 
-  opts.on_tail("--version", "Show version") do
+  opts.on_tail("-v", "--version", "Show version") do
     puts "unicorn v#{Unicorn::Const::UNICORN_VERSION}"
     exit
   end
diff --git a/test/exec/test_exec.rb b/test/exec/test_exec.rb
index 5ba5d9c..fb26195 100644
--- a/test/exec/test_exec.rb
+++ b/test/exec/test_exec.rb
@@ -102,6 +102,22 @@ end # after_fork
     assert_shutdown(pid)
   end
 
+  def test_help
+    redirect_test_io do
+      assert(system($unicorn_bin, "-h"), "help text returns true")
+    end
+    assert_equal 0, File.stat("test_stderr.#$$.log").size
+    assert_not_equal 0, File.stat("test_stdout.#$$.log").size
+    lines = File.readlines("test_stdout.#$$.log")
+
+    # Be considerate of the on-call technician working from their
+    # mobile phone or netbook on a slow connection :)
+    assert lines.size < 24, "help height fits in an ANSI terminal window"
+    lines.each do |line|
+      assert line.size < 80, "help width fits in an ANSI terminal window"
+    end
+  end
+
   def test_broken_reexec_config
     File.open("config.ru", "wb") { |fp| fp.syswrite(HI) }
     pid_file = "#{@tmpdir}/test.pid"