Commit 0f1fc43a authored by Samuel E. Giddins's avatar Samuel E. Giddins

[Validator] Finally make the xcodebuild failure test work reliably

parent 1399594e
...@@ -521,11 +521,9 @@ module Pod ...@@ -521,11 +521,9 @@ module Pod
def xcodebuild def xcodebuild
command = 'xcodebuild clean build -target Pods CODE_SIGN_IDENTITY=-' command = 'xcodebuild clean build -target Pods CODE_SIGN_IDENTITY=-'
command << ' -sdk iphonesimulator' if consumer.platform_name == :ios command << ' -sdk iphonesimulator' if consumer.platform_name == :ios
output, status = _xcodebuild "#{command} 2>&1"
UI.puts command if config.verbose? unless status.success?
output = `#{command} 2>&1`
unless $?.success?
message = 'Returned a unsuccessful exit code.' message = 'Returned a unsuccessful exit code.'
message += ' You can use `--verbose` for more information.' unless config.verbose? message += ' You can use `--verbose` for more information.' unless config.verbose?
error('xcodebuild', message) error('xcodebuild', message)
...@@ -534,6 +532,17 @@ module Pod ...@@ -534,6 +532,17 @@ module Pod
output output
end end
# Executes the given command in the current working directory.
#
# @return [(String, Status)] The output of the given command and its
# resulting status.
#
def _xcodebuild(command)
UI.puts command if config.verbose
output = `#{command}`
return output, $?
end
#-------------------------------------------------------------------------# #-------------------------------------------------------------------------#
end end
end end
...@@ -364,7 +364,9 @@ module Pod ...@@ -364,7 +364,9 @@ module Pod
validator.stubs(:check_file_patterns) validator.stubs(:check_file_patterns)
validator.stubs(:validate_url) validator.stubs(:validate_url)
validator.stubs(:`).returns('Output') validator.stubs(:`).returns('Output')
$?.stubs(:success?).returns(false) status = mock()
status.stubs(:success?).returns(false)
validator.stubs(:_xcodebuild).returns(['Output', status])
validator.validate validator.validate
first = validator.results.map(&:to_s).first first = validator.results.map(&:to_s).first
first.should.include '[xcodebuild] Returned a unsuccessful exit code' first.should.include '[xcodebuild] Returned a unsuccessful exit code'
......
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