Commit a79304cc authored by Kyle Fuller's avatar Kyle Fuller

Merge pull request #2989 from CocoaPods/validator-xcodebuild-return

[Validator] Error when xcodebuild fails
parents dea9ed7d 195f4500
...@@ -4,6 +4,16 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides ...@@ -4,6 +4,16 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
To install release candidates run `[sudo] gem install cocoapods --pre` To install release candidates run `[sudo] gem install cocoapods --pre`
## Master
##### Bug Fixes
* Ensure that linting fails if xcodebuild doesn't successfully build your Pod.
[Kyle Fuller](https://github.com/kylef)
[#2981](https://github.com/CocoaPods/CocoaPods/issues/2981)
[cocoapods-trunk#33](https://github.com/CocoaPods/cocoapods-trunk/issues/33)
## 0.36.0.beta.1 ## 0.36.0.beta.1
[CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.35.0...0.36.0.beta.1) [CocoaPods](https://github.com/CocoaPods/CocoaPods/compare/0.35.0...0.36.0.beta.1)
......
...@@ -517,7 +517,15 @@ module Pod ...@@ -517,7 +517,15 @@ module Pod
# #
def xcodebuild def xcodebuild
UI.puts 'xcodebuild clean build -target Pods' if config.verbose? UI.puts 'xcodebuild clean build -target Pods' if config.verbose?
`xcodebuild clean build -target Pods 2>&1` output = `xcodebuild clean build -target Pods 2>&1`
unless $?.success?
message = 'Returned a unsuccessful exit code.'
message += ' You can use `--verbose` for more information.' unless config.verbose?
error('xcodebuild', message)
end
output
end end
#-------------------------------------------------------------------------# #-------------------------------------------------------------------------#
......
...@@ -347,6 +347,19 @@ module Pod ...@@ -347,6 +347,19 @@ module Pod
sut.result_type.should == :note sut.result_type.should == :note
end end
it 'checks if xcodebuild returns a successful status code' do
Validator.any_instance.unstub(:xcodebuild)
sut = Validator.new(podspec_path, SourcesManager.master.map(&:url))
sut.stubs(:check_file_patterns)
sut.stubs(:validate_url)
sut.stubs(:`).returns('Output')
$?.stubs(:success?).returns(false)
sut.validate
first = sut.results.map(&:to_s).first
first.should.include '[xcodebuild] Returned a unsuccessful exit code'
sut.result_type.should == :error
end
it 'does filter InputFile errors completely' do it 'does filter InputFile errors completely' do
sut = Validator.new(podspec_path, SourcesManager.master.map(&:url)) sut = Validator.new(podspec_path, SourcesManager.master.map(&:url))
sut.stubs(:check_file_patterns) sut.stubs(:check_file_patterns)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment