popen_spec: add tests for safe_popen_read and safe_popen_write
This commit is contained in:
parent
dcac52df17
commit
40d85ecb40
@ -72,4 +72,32 @@ describe Utils do
|
|||||||
EOS
|
EOS
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "::safe_popen_read" do
|
||||||
|
it "does not raise an error if the command succeeds" do
|
||||||
|
expect(subject.safe_popen_read("sh", "-c", "true")).to eq("")
|
||||||
|
expect($CHILD_STATUS).to be_a_success
|
||||||
|
end
|
||||||
|
|
||||||
|
it "raises an error if the command fails" do
|
||||||
|
expect { subject.safe_popen_read("sh", "-c", "false") }.to raise_error(ErrorDuringExecution)
|
||||||
|
expect($CHILD_STATUS).to be_a_failure
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "::safe_popen_write" do
|
||||||
|
it "does not raise an error if the command succeeds" do
|
||||||
|
expect(
|
||||||
|
subject.safe_popen_write("grep", "success") { |pipe| pipe.write "success\n" }.chomp,
|
||||||
|
).to eq("success")
|
||||||
|
expect($CHILD_STATUS).to be_a_success
|
||||||
|
end
|
||||||
|
|
||||||
|
it "raises an error if the command fails" do
|
||||||
|
expect {
|
||||||
|
subject.safe_popen_write("grep", "success") { |pipe| pipe.write "failure\n" }
|
||||||
|
}.to raise_error(ErrorDuringExecution)
|
||||||
|
expect($CHILD_STATUS).to be_a_failure
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user