diff --git a/test/bacon-ui/Rakefile b/test/bacon-ui/Rakefile index da4d8386..47c4b96f 100644 --- a/test/bacon-ui/Rakefile +++ b/test/bacon-ui/Rakefile @@ -5,6 +5,29 @@ require 'motion/project/template/ios' Motion::Project::App.setup do |app| # Use `rake config' to see complete project settings. app.name = 'MacBacon UI' - app.sdk_version = '6.1' app.frameworks << 'CoreGraphics' + app.deployment_target = ENV['deployment_target'] if ENV['deployment_target'] +end + +namespace :spec do + desc "Run on all available iOS SDKs" + task :all do + sdk_versions = Dir.glob(File.join(App.config.platforms_dir, "#{App.config.deploy_platform}.platform/Developer/SDKs/#{App.config.deploy_platform}*.sdk")).map do |path| + File.basename(path).scan(/#{App.config.deploy_platform}(.*)\.sdk/)[0][0] + end + counter = 0 + sdk_versions.each do |sdk_version| + App.info "Info", "Running specs on iOS #{sdk_version} SDK." + sh "rake clean" + begin + sh "rake spec deployment_target=#{sdk_version}" + rescue RuntimeError + counter += $?.exitstatus + end + end + if counter > 0 + App.info "Failed", "A total of #{counter} failures occurred." + exit counter + end + end end