
On Xcode 16 beta 3 stderr is: ``` ** BUILD FAILED ** ``` stdout is: ``` Writing result bundle at path: /var/folders/fm/wjzsj_z95ydgn4khxqgbtqx000mfq2/T/flutter_tools.PeJZlH/flutter_ios_build_temp_dirqmiKld/temporary_xcresult_bundle error: lib/main.dart:13:11: Error: A value of type 'String' can't be assigned to a variable of type 'int'. int x = 'String'; ^ Target kernel_snapshot_program failed: Exception Failed to package /Users/m/Projects/test_create. note: Disabling previews because SWIFT_VERSION is set and SWIFT_OPTIMIZATION_LEVEL=-O, expected -Onone (in target 'Runner' from project 'Runner') note: Run script build phase 'Thin Binary' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner') note: Run script build phase 'Run Script' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner') ``` The tool output of `flutter build ios` shows both: ``` Building com.example.testCreate for device (ios-release)... Automatically signing iOS for device deployment using specified development team in Xcode project: S8QB4VV633 Running Xcode build... Xcode build done. 10.1s Failed to build iOS app Error output from Xcode build: â³ ** BUILD FAILED ** Xcode's output: â³ Writing result bundle at path: /var/folders/fm/wjzsj_z95ydgn4khxqgbtqx000mfq2/T/flutter_tools.Dgnlxc/flutt er_ios_build_temp_dirpKTDdk/temporary_xcresult_bundle error: lib/main.dart:13:11: Error: A value of type 'String' can't be assigned to a variable of type 'int'. int x = 'String'; ^ Target kernel_snapshot_program failed: Exception Failed to package /Users/magder/Projects/test_create. note: Disabling previews because SWIFT_VERSION is set and SWIFT_OPTIMIZATION_LEVEL=-O, expected -Onone (in target 'Runner' from project 'Runner') note: Run script build phase 'Run Script' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner') note: Run script build phase 'Thin Binary' will be run during every build because the option to run the script phase "Based on dependency analysis" is unchecked. (in target 'Runner' from project 'Runner') Encountered error while building for device. ``` The point of this test is that you can see the error `int x = 'String';` error in the tool output. https://github.com/flutter/flutter/issues/72608#issuecomment-797473109 I think just updating the test to check stderr or stdout is sufficient without touching the tool behavior. Fixes https://github.com/flutter/flutter/issues/151553
Integration tests
These tests are not hermetic, and use the actual Flutter SDK. While
they don't require actual devices, they run flutter_tester
to test
Dart VM and Flutter integration.
Use this command to run (from the flutter_tools
directory):
../../bin/cache/dart-sdk/bin/dart run test test/integration.shard
You need to have downloaded the Dart SDK in your Flutter clone for this
to work. Running ../../bin/flutter
will automatically download it.
Coverage exclusion
These tests are expensive to run and do not give meaningful coverage
information for the flutter
tool (since they are black-box tests that
run the tool as a subprocess, rather than being unit tests). For this
reason, they are in a separate shard when running on continuous
integration and are not run when calculating coverage.
Adding new test files
When adding a new test file make sure that it ends with _test.dart
, or else it will not be run.