38 lines
1020 B
Ruby
Raw Normal View History

# frozen_string_literal: true
require "cmd/shared_examples/args_parse"
2024-03-21 21:52:32 -07:00
require "dev-cmd/test"
require "sandbox"
2024-03-21 21:52:32 -07:00
RSpec.describe Homebrew::DevCmd::Test do
it_behaves_like "parseable arguments"
it "tests a given Formula", :integration_test do
install_test_formula "testball", <<~'RUBY'
2017-02-23 06:05:13 +01:00
test do
assert_equal "test", shell_output("#{bin}/test")
2017-02-23 06:05:13 +01:00
end
2018-07-11 15:17:40 +02:00
RUBY
2017-02-23 06:05:13 +01:00
expect { brew "test", "--verbose", "testball" }
2017-02-23 06:05:13 +01:00
.to output(/Testing testball/).to_stdout
.and not_to_output.to_stderr
.and be_a_success
end
it "blocks network access when test phase is offline", :integration_test do
if Sandbox.available?
install_test_formula "testball_offline_test", <<~RUBY
deny_network_access! :test
test do
system "curl", "example.org"
end
RUBY
expect { brew "test", "--verbose", "testball_offline_test" }
.to output(/curl: \(6\) Could not resolve host: example\.org/).to_stdout
.and be_a_failure
end
end
2017-02-23 06:05:13 +01:00
end