Issue #10362 has been updated by jeremyevans0 (Jeremy Evans).

Status changed from Open to Closed

`system` was made more strict for redirection errors between Ruby 2.2 and 2.3:

```
speedstar$ ruby22 -e "p system('true', out: %w(bad/file.txt w))"
nil

speedstar$ ruby23 -e "p system('true', out: %w(bad/file.txt w))" 
-e:1:in `system': No such file or directory - bad/file.txt (Errno::ENOENT)
        from -e:1:in `<main>'
```

----------------------------------------
Bug #10362: spawn doesn't raise exception on redirection error
https://bugs.ruby-lang.org/issues/10362#change-79233

* Author: bdimych (Dmitry Bolshakov)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
~~~
irb(main):002:0*
irb(main):003:0*
irb(main):004:0* system 'cmd', '/c', 'echo', 'aaa'
aaa
=> true
irb(main):005:0>
irb(main):006:0*
irb(main):007:0*
irb(main):008:0* system 'cmd', '/c', 'echo', 'aaa', :out => ['bad/file.txt', 'w']
=> nil
irb(main):009:0>
irb(main):010:0*
irb(main):011:0*
irb(main):012:0*
irb(main):013:0* system 'cmd', '/c', 'echo', 'aaa', :out => File.open('bad/file.txt', 'w')
Errno::ENOENT: No such file or directory - bad/file.txt
        from (irb):13:in `initialize'
        from (irb):13:in `open'
        from (irb):13
        from C:/Ruby200/bin/irb:12:in `<main>'
irb(main):014:0>
irb(main):015:0*
irb(main):016:0*
~~~

exception is much more descriptive than just nil



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>