Unlike Open3, Wopen3 does not throw away the exit code of the executed (grandchild) process. Only a child process is spawned and the exit status is returned in $? as normal.
Wincent Colaiuta
gem "wopen3", "~> 0.3"