| # Copyright 2018 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| DEPS = [ |
| 'flutter/os_utils', |
| 'flutter/osx_sdk', |
| 'flutter/retry', |
| 'recipe_engine/file', |
| 'recipe_engine/json', |
| 'recipe_engine/path', |
| 'recipe_engine/platform', |
| 'recipe_engine/properties', |
| 'recipe_engine/raw_io', |
| 'recipe_engine/step', |
| ] |
| |
| |
| def RunSteps(api): |
| with api.osx_sdk('mac'): |
| api.step('gn', ['gn', 'gen', 'out/Release']) |
| api.step('ninja', ['ninja', '-C', 'out/Release']) |
| with api.osx_sdk('mac', devicelab=True): |
| api.step('gn', ['gn', 'gen', 'out/Release']) |
| api.step('ninja', ['ninja', '-C', 'out/Release']) |
| api.osx_sdk.reset_xcode() |
| |
| |
| def GenTests(api): |
| for platform in ('linux', 'mac', 'win'): |
| yield (api.test(platform) + api.platform.name(platform)) |
| |
| yield api.test( |
| 'explicit_version', api.platform.name('mac'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'cleanup_cache': True |
| } |
| } |
| ) |
| ) |
| |
| sdk_app_path = api.path['cache'].join( |
| 'osx_sdk', 'xcode_deadbeef', 'XCode.app' |
| ) |
| |
| yield api.test( |
| 'explicit_runtime_version', |
| api.platform.name('mac'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-13-0', 'ios-14-0'] |
| } |
| } |
| ), |
| api.step_data( |
| 'list runtimes', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 13.0 - com.apple.CoreSimulator.SimRuntime.iOS-13-0\n' + |
| 'iOS 14.0 - com.apple.CoreSimulator.SimRuntime.iOS-14-0' |
| ) |
| ), |
| api.os_utils.is_symlink(False), |
| ) |
| |
| yield api.test( |
| 'no_runtime_version', |
| api.platform.name('mac'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': '123abc', |
| } |
| } |
| ), |
| api.os_utils.is_symlink(False), |
| api.path.exists(sdk_app_path), |
| ) |
| |
| yield api.test( |
| 'automatic_version', |
| api.platform.name('mac'), |
| api.platform.mac_release('10.15.6'), |
| ) |
| |
| yield api.test( |
| 'ancient_version', |
| api.platform.name('mac'), |
| api.platform.mac_release('10.1.0'), |
| ) |
| |
| yield api.test( |
| 'explicit_package_source', api.platform.name('mac'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': '123abc', |
| 'xcode_cipd_package_source': 'some/package', |
| 'cleanup_cache': True, |
| } |
| } |
| ) |
| ) |
| |
| yield api.test( |
| 'explicit_invalid_runtime_version_with_mac_13', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4', 'ios-16-2'] |
| } |
| } |
| ), |
| status='INFRA_FAILURE' |
| ) |
| |
| yield api.test( |
| 'mac_13_explicit_runtime_version_already_mounted', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c'] |
| } |
| } |
| ), |
| api.step_data( |
| 'install runtimes.list runtimes', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 16.4 (16.4 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4' |
| ) |
| ), |
| api.step_data( |
| 'install runtimes.list xcode runtime dmg ios-16-4_14e300c', |
| stdout=api.raw_io.output_text( |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/.cipd\n' + |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/iOS_16-4.dmg' |
| ) |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg', |
| retcode=1 |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg (2)', |
| api.json.output({ |
| 'result': { |
| 'pin': {'package': 'xxx', 'instance_id': 'xxx'}, |
| 'registered_by': |
| 'xxx', |
| 'registered_ts': |
| 'xxx', |
| 'tags': [ |
| { |
| 'tag': 'ios_runtime_build:20e247', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }, |
| { |
| 'tag': 'ios_runtime_version:ios-16-4', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }, |
| ], |
| } |
| }), |
| ), |
| api.step_data( |
| 'list runtimes', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 16.4 (16.4 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4' |
| ) |
| ), |
| ) |
| |
| yield api.test( |
| 'mac_13_explicit_runtime_version_not_mounted', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c'] |
| } |
| } |
| ), |
| api.step_data( |
| 'install runtimes.list runtimes', |
| stdout=api.raw_io.output_text('== Runtimes ==\n') |
| ), |
| api.step_data( |
| 'install runtimes.list xcode runtime dmg ios-16-4_14e300c', |
| stdout=api.raw_io.output_text( |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/.cipd\n' + |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/iOS_16-4.dmg' |
| ) |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg', |
| retcode=1 |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg (2)', |
| api.json.output({ |
| 'result': { |
| 'pin': {'package': 'xxx', 'instance_id': 'xxx'}, |
| 'registered_by': |
| 'xxx', |
| 'registered_ts': |
| 'xxx', |
| 'tags': [ |
| { |
| 'tag': 'ios_runtime_build:20e247', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }, |
| { |
| 'tag': 'ios_runtime_version:ios-16-4', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }, |
| ], |
| } |
| }), |
| ), |
| api.step_data( |
| 'list runtimes', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 16.4 (16.4 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4' |
| ) |
| ), |
| ) |
| |
| yield api.test( |
| 'mac_13_explicit_runtime_version_build_verion_failure', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c'] |
| } |
| } |
| ), |
| api.step_data( |
| 'install runtimes.list runtimes', |
| stdout=api.raw_io.output_text('== Runtimes ==\n') |
| ), |
| api.step_data( |
| 'install runtimes.list xcode runtime dmg ios-16-4_14e300c', |
| stdout=api.raw_io.output_text( |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/.cipd\n' + |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/iOS_16-4.dmg' |
| ) |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg', |
| retcode=1 |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg (2)', |
| api.json.output({ |
| 'result': { |
| 'pin': {'package': 'xxx', 'instance_id': 'xxx'}, |
| 'registered_by': |
| 'xxx', |
| 'registered_ts': |
| 'xxx', |
| 'tags': [{ |
| 'tag': 'ios_runtime_build_invalid_tag', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }], |
| } |
| }), |
| ), |
| status='INFRA_FAILURE' |
| ) |
| |
| yield api.test( |
| 'mac_13_explicit_runtime_version_fails_to_find_dmg', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c'] |
| } |
| } |
| ), |
| api.step_data( |
| 'install runtimes.list runtimes', |
| stdout=api.raw_io.output_text('== Runtimes ==\n') |
| ), |
| api.step_data( |
| 'install runtimes.list xcode runtime dmg ios-16-4_14e300c', |
| stdout=api.raw_io.output_text( |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/.cipd\n' |
| ) |
| ), |
| status='INFRA_FAILURE' |
| ) |
| |
| yield api.test( |
| 'mac_13_explicit_runtime_version_clean', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c'], |
| 'cleanup_cache': True, |
| } |
| } |
| ), |
| api.step_data( |
| 'Cleaning up runtimes cache.Cleaning up mounted simulator runtimes', |
| stdout=api.raw_io.output_text('No matching images found to delete'), |
| stderr=api.raw_io.output_text('No matching images found to delete') |
| ), |
| api.step_data( |
| 'Cleaning up runtimes cache.check xcode version', |
| stdout=api.raw_io.output_text( |
| 'Xcode 15.0\n' + |
| 'Build version 15C500b' |
| ) |
| ), |
| api.step_data( |
| 'Cleaning up runtimes cache.list runtimes', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 16.4 (16.2 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4\n' |
| + |
| 'iOS 16.2 (16.2 - 20C52) - com.apple.CoreSimulator.SimRuntime.iOS-16-2' |
| ) |
| ), |
| api.step_data( |
| 'Cleaning up runtimes cache.list runtimes (2)', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 16.4 (16.2 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4' |
| ) |
| ), |
| api.step_data( |
| 'install runtimes.list xcode runtime dmg ios-16-4_14e300c', |
| stdout=api.raw_io.output_text( |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/.cipd\n' + |
| '[CACHE]/osx_sdk/xcode_runtime_dmg_ios-16-4_14e300c/iOS_17_Simulator_Runtime.dmg' |
| ) |
| ), |
| api.step_data( |
| 'install runtimes.cipd describe ios-16-4_14e300c.cipd describe infra_internal/ios/xcode/ios_runtime_dmg', |
| api.json.output({ |
| 'result': { |
| 'pin': {'package': 'xxx', 'instance_id': 'xxx'}, |
| 'registered_by': |
| 'xxx', |
| 'registered_ts': |
| 'xxx', |
| 'tags': [ |
| { |
| 'tag': 'ios_runtime_build:20e247', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }, |
| { |
| 'tag': 'ios_runtime_version:ios-16-4', |
| 'registered_by': 'xxx', 'registered_ts': 'xxx' |
| }, |
| ], |
| } |
| }), |
| ), |
| api.step_data( |
| 'list runtimes', |
| stdout=api.raw_io.output_text( |
| '== Runtimes ==\n' + |
| 'iOS 16.4 (16.4 - 20E247) - com.apple.CoreSimulator.SimRuntime.iOS-16-4' |
| ) |
| ), |
| ) |
| |
| yield api.test( |
| 'failed_to_delete_runtimes_err_in_stdout', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c', 'ios-16-2_14c18'], |
| 'cleanup_cache': True, |
| } |
| } |
| ), |
| api.step_data( |
| 'Cleaning up runtimes cache.Cleaning up mounted simulator runtimes', |
| stdout=api.raw_io.output_text('Some error') |
| ), |
| status='INFRA_FAILURE' |
| ) |
| yield api.test( |
| 'failed_to_delete_runtimes_err_in_stderr', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': '123abc', |
| 'runtime_versions': ['ios-16-4_14e300c', 'ios-16-2_14c18'], |
| 'cleanup_cache': True, |
| } |
| } |
| ), |
| api.step_data( |
| 'Cleaning up runtimes cache.Cleaning up mounted simulator runtimes', |
| stderr=api.raw_io.output_text('Some error') |
| ), |
| status='INFRA_FAILURE' |
| ) |
| yield api.test( |
| 'mac_13_cleanup_no_runtimes', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': '123abc', |
| 'cleanup_cache': True, |
| } |
| } |
| ), |
| ) |
| |
| yield api.test( |
| 'mac_13_arm_host', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.platform.arch('arm'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_arm': 'ARM_toolchain_verison', |
| } |
| } |
| ), |
| ) |
| |
| yield api.test( |
| 'mac_13_x86_host', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.platform.arch('intel'), |
| api.properties( |
| **{ |
| '$flutter/osx_sdk': { |
| 'sdk_version': 'deadbeef', |
| 'toolchain_ver_intel': 'INTEL_toolchain_version', |
| } |
| } |
| ), |
| ) |
| |
| yield api.test( |
| 'xcode_install_fails_passes_on_retry', |
| api.platform.name('mac'), |
| api.platform.mac_release('13.5.1'), |
| api.properties(**{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}}), |
| api.path.exists(sdk_app_path), |
| api.step_data( |
| 'install xcode.verify xcode [CACHE]/osx_sdk/xcode_deadbeef/XCode.app.check xcode version', |
| retcode=1 |
| ), |
| api.step_data('install xcode.install xcode from cipd', retcode=1), |
| ) |