1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/open3.rb (Open3.capture3): renamed from Open3.poutput3.

(Open3.capture2): renamed from Open3.poutput2.
  (lOpen3.capture2e): renamed from Open3.poutput2e.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20569 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2008-12-07 08:45:31 +00:00
parent 0884ca04bf
commit c0264efadd
3 changed files with 37 additions and 31 deletions

View file

@ -1,3 +1,9 @@
Sun Dec 7 17:44:06 2008 Tanaka Akira <akr@fsij.org>
* lib/open3.rb (Open3.capture3): renamed from Open3.poutput3.
(Open3.capture2): renamed from Open3.poutput2.
(lOpen3.capture2e): renamed from Open3.poutput2e.
Sun Dec 7 11:48:04 2008 Tanaka Akira <akr@fsij.org>
* lib/open3.rb (Open3.poutput3): :binmode option implemented.

View file

@ -15,9 +15,9 @@
# - Open3.popen3 : pipes for stdin, stdout, stderr
# - Open3.popen2 : pipes for stdin, stdout
# - Open3.popen2e : pipes for stdin, merged stdout and stderr
# - Open3.poutput3 : give a string for stdin. get strings for stdout, stderr
# - Open3.poutput2 : give a string for stdin. get a string for stdout
# - Open3.poutput2e : give a string for stdin. get a string for merged stdout and stderr
# - Open3.capture3 : give a string for stdin. get strings for stdout, stderr
# - Open3.capture2 : give a string for stdin. get a string for stdout
# - Open3.capture2e : give a string for stdin. get a string for merged stdout and stderr
# - Open3.pipeline_rw : pipes for first stdin and last stdout of a pipeline
# - Open3.pipeline_r : pipe for last stdout of a pipeline
# - Open3.pipeline_w : pipe for first stdin of a pipeline
@ -201,9 +201,9 @@ module Open3
private :popen_run
end
# Open3.poutput3 captures the standard output and the standard error of a command.
# Open3.capture3 captures the standard output and the standard error of a command.
#
# stdout_str, stderr_str, status = Open3.poutput3([env,] cmd... [, opts])
# stdout_str, stderr_str, status = Open3.capture3([env,] cmd... [, opts])
#
# The arguments cmd and opts are passed to Open3.popen3 except opts[:stdin_data].
#
@ -219,9 +219,9 @@ module Open3
# a -> b
# }
# End
# layouted_graph, dot_log = Open3.poutput3("dot -v", :stdin_data=>graph)
# layouted_graph, dot_log = Open3.capture3("dot -v", :stdin_data=>graph)
#
# o, e, s = Open3.poutput3("echo a; sort >&2", :stdin_data=>"foo\nbar\nbaz\n")
# o, e, s = Open3.capture3("echo a; sort >&2", :stdin_data=>"foo\nbar\nbaz\n")
# p o #=> "a\n"
# p e #=> "bar\nbaz\nfoo\n"
# p s #=> #<Process::Status: pid 32682 exit 0>
@ -230,16 +230,16 @@ module Open3
# # However, if the image stored really in a file,
# # system("convert", "-thumbnail", "80", filename, "png:-") is better
# # because memory consumption.
# # But if the image is stored in a DB or generated by gnuplot Open3.poutput2 example,
# # Open3.poutput3 is considerable.
# # But if the image is stored in a DB or generated by gnuplot Open3.capture2 example,
# # Open3.capture3 is considerable.
# #
# image = File.read("/usr/share/openclipart/png/animals/mammals/sheep-md-v0.1.png", :binmode=>true)
# thumnail, err, s = Open3.poutput3("convert -thumbnail 80 - png:-", :stdin_data=>image, :binmode=>true)
# thumnail, err, s = Open3.capture3("convert -thumbnail 80 - png:-", :stdin_data=>image, :binmode=>true)
# if s.success?
# STDOUT.binmode; print thumnail
# end
#
def poutput3(*cmd, &block)
def capture3(*cmd, &block)
if Hash === cmd.last
opts = cmd.pop.dup
else
@ -262,11 +262,11 @@ module Open3
[out_reader.value, err_reader.value, t.value]
}
end
module_function :poutput3
module_function :capture3
# Open3.poutput2 captures the standard output of a command.
# Open3.capture2 captures the standard output of a command.
#
# stdout_str, status = Open3.poutput2([env,] cmd... [, opts])
# stdout_str, status = Open3.capture2([env,] cmd... [, opts])
#
# The arguments cmd and opts are passed to Open3.popen2 except opts[:stdin_data].
#
@ -275,7 +275,7 @@ module Open3
# If opts[:binmode] is true, internal pipes are set to binary mode.
#
# # factor is a command for integer factorization.
# o, s = Open3.poutput2("factor", :stdin_data=>"42")
# o, s = Open3.capture2("factor", :stdin_data=>"42")
# p o #=> "42: 2 3 7\n"
#
# # generate x**2 graph in png using gnuplot.
@ -288,9 +288,9 @@ module Open3
# 4 5
# e
# End
# image, s = Open3.poutput2("gnuplot", :stdin_data=>gnuplot_commands, :binmode=>true)
# image, s = Open3.capture2("gnuplot", :stdin_data=>gnuplot_commands, :binmode=>true)
#
def poutput2(*cmd, &block)
def capture2(*cmd, &block)
if Hash === cmd.last
opts = cmd.pop.dup
else
@ -311,11 +311,11 @@ module Open3
[out_reader.value, t.value]
}
end
module_function :poutput2
module_function :capture2
# Open3.poutput2e captures the standard output and the standard error of a command.
# Open3.capture2e captures the standard output and the standard error of a command.
#
# stdout_and_stderr_str, status = Open3.poutput2e([env,] cmd... [, opts])
# stdout_and_stderr_str, status = Open3.capture2e([env,] cmd... [, opts])
#
# The arguments cmd and opts are passed to Open3.popen2e except opts[:stdin_data].
#
@ -326,9 +326,9 @@ module Open3
# Example:
#
# # capture make log
# make_log, s = Open3.poutput2e("make")
# make_log, s = Open3.capture2e("make")
#
def poutput2e(*cmd, &block)
def capture2e(*cmd, &block)
if Hash === cmd.last
opts = cmd.pop.dup
else
@ -349,7 +349,7 @@ module Open3
[outerr_reader.value, t.value]
}
end
module_function :poutput2e
module_function :capture2e
# Open3.pipeline_rw starts a list of commands as a pipeline with pipes
# which connects stdin of the first command and stdout of the last command.

View file

@ -123,28 +123,28 @@ class TestOpen3 < Test::Unit::TestCase
}
end
def test_poutput3
o, e, s = Open3.poutput3(RUBY, '-e', 'i=STDIN.read; print i+"o"; STDOUT.flush; STDERR.print i+"e"', :stdin_data=>"i")
def test_capture3
o, e, s = Open3.capture3(RUBY, '-e', 'i=STDIN.read; print i+"o"; STDOUT.flush; STDERR.print i+"e"', :stdin_data=>"i")
assert_equal("io", o)
assert_equal("ie", e)
assert(s.success?)
end
def test_poutput3_flip
o, e, s = Open3.poutput3(RUBY, '-e', 'STDOUT.sync=true; 1000.times { print "o"*1000; STDERR.print "e"*1000 }')
def test_capture3_flip
o, e, s = Open3.capture3(RUBY, '-e', 'STDOUT.sync=true; 1000.times { print "o"*1000; STDERR.print "e"*1000 }')
assert_equal("o"*1000000, o)
assert_equal("e"*1000000, e)
assert(s.success?)
end
def test_poutput2
o, s = Open3.poutput2(RUBY, '-e', 'i=STDIN.read; print i+"o"', :stdin_data=>"i")
def test_capture2
o, s = Open3.capture2(RUBY, '-e', 'i=STDIN.read; print i+"o"', :stdin_data=>"i")
assert_equal("io", o)
assert(s.success?)
end
def test_poutput2e
oe, s = Open3.poutput2e(RUBY, '-e', 'i=STDIN.read; print i+"o"; STDOUT.flush; STDERR.print i+"e"', :stdin_data=>"i")
def test_capture2e
oe, s = Open3.capture2e(RUBY, '-e', 'i=STDIN.read; print i+"o"; STDOUT.flush; STDERR.print i+"e"', :stdin_data=>"i")
assert_equal("ioie", oe)
assert(s.success?)
end