mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00

We have an awful lot of integration tests and they are (comparatively) really slow. Let's kill those that test edge case conditions and focus on those that test that our functionality works as expected. Edge cases can be better tested with unit tests.
29 lines
1.1 KiB
Ruby
29 lines
1.1 KiB
Ruby
describe "brew pull", :integration_test do
|
|
it "fetches a patch from a GitHub commit or pull request and applies it", :needs_network, retry: 3 do
|
|
CoreTap.instance.path.cd do
|
|
system "git", "init"
|
|
system "git", "checkout", "-b", "new-branch"
|
|
end
|
|
|
|
expect { brew "pull", "https://jenkins.brew.sh/job/Homebrew\%20Testing/1028/" }
|
|
.to output(/Testing URLs require `\-\-bottle`!/).to_stderr
|
|
.and not_to_output.to_stdout
|
|
.and be_a_failure
|
|
|
|
expect { brew "pull", "1" }
|
|
.to output(/Fetching patch/).to_stdout
|
|
.and output(/Current branch is new\-branch/).to_stderr
|
|
.and be_a_failure
|
|
|
|
expect { brew "pull", "--bump", "https://api.github.com/repos/Homebrew/homebrew-core/pulls/122" }
|
|
.to output(/Fetching patch/).to_stdout
|
|
.and output(/Can only bump one changed formula/).to_stderr
|
|
.and be_a_failure
|
|
|
|
expect { brew "pull", "https://github.com/Homebrew/brew/pull/1249" }
|
|
.to output(/Fetching patch/).to_stdout
|
|
.and output(/Patch failed to apply/).to_stderr
|
|
.and be_a_failure
|
|
end
|
|
end
|