diff options
author | Mike Dalessio <mike.dalessio@gmail.com> | 2023-06-07 10:05:04 -0400 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-08-10 09:38:11 +0900 |
commit | d2343368ab7e270118ea6baa9c6418bfed83135c (patch) | |
tree | 0e25287d42464b9812033f613234f3baa11c5517 /spec/ruby/core/io/readlines_spec.rb | |
parent | 984109b8363790723693ec04897b1155d899115f (diff) |
Deprecate Kernel#open and IO support for subprocess creation/forking
Deprecate Kernel#open and IO support for subprocess creation and
forking. This deprecates subprocess creation and forking in
- Kernel#open
- URI.open
- IO.binread
- IO.foreach
- IO.readlines
- IO.read
- IO.write
This behavior is slated to be removed in Ruby 4.0
[Feature #19630]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/7915
Diffstat (limited to 'spec/ruby/core/io/readlines_spec.rb')
-rw-r--r-- | spec/ruby/core/io/readlines_spec.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/spec/ruby/core/io/readlines_spec.rb b/spec/ruby/core/io/readlines_spec.rb index d6c4d539cf..3a6ff3d0f3 100644 --- a/spec/ruby/core/io/readlines_spec.rb +++ b/spec/ruby/core/io/readlines_spec.rb @@ -180,13 +180,20 @@ describe "IO.readlines" do platform_is :windows do cmd = "|cmd.exe /C echo hello&echo line2" end - lines = IO.readlines(cmd) + + lines = nil + suppress_warning do # https://bugs.ruby-lang.org/issues/19630 + lines = IO.readlines(cmd) + end lines.should == ["hello\n", "line2\n"] end platform_is_not :windows do it "gets data from a fork when passed -" do - lines = IO.readlines("|-") + lines = nil + suppress_warning do # https://bugs.ruby-lang.org/issues/19630 + lines = IO.readlines("|-") + end if lines # parent lines.should == ["hello\n", "from a fork\n"] @@ -199,6 +206,16 @@ describe "IO.readlines" do end end + ruby_version_is "3.3" do + # https://bugs.ruby-lang.org/issues/19630 + it "warns about deprecation given a path with a pipe" do + cmd = "|echo ok" + -> { + IO.readlines(cmd) + }.should complain(/IO process creation with a leading '\|'/) + end + end + it_behaves_like :io_readlines, :readlines it_behaves_like :io_readlines_options_19, :readlines end |