-
Notifications
You must be signed in to change notification settings - Fork 6k
Make sure ios tests fail if they fail #20518
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -370,17 +370,19 @@ def RunObjcTests(ios_variant='ios_debug_sim_unopt'): | |
ios_out_dir = os.path.join(out_dir, ios_variant) | ||
EnsureIosTestsAreBuilt(ios_out_dir) | ||
|
||
pretty = "cat" if subprocess.call(["which", "xcpretty"]) else "xcpretty" | ||
ios_unit_test_dir = os.path.join(buildroot_dir, 'flutter', 'testing', 'ios', 'IosUnitTests') | ||
|
||
# Avoid using xcpretty unless the following can be addressed: | ||
# - Make sure all relevant failure output is printed on a failure. | ||
# - Make sure that a failing exit code is set for CI. | ||
# See https://github.com/flutter/flutter/issues/63742 | ||
Comment on lines
+375
to
+378
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we even mention this? I never want to hide the full Xcode build results when there's an error, it's frustrating when I can't reproduce the failure locally. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I did that thinking that a year or two from now, someone is going to say "Hey, we should add xcpretty to make this easier to read!" again :) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And it'll probably be you or me. 😄 |
||
command = [ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This removes it locally right? Can we just set -o pipefail && here? |
||
'xcodebuild ' | ||
'-sdk iphonesimulator ' | ||
'-scheme IosUnitTests ' | ||
"-destination platform='iOS Simulator,name=iPhone 8' " | ||
'test ' | ||
'FLUTTER_ENGINE=' + ios_variant + | ||
' | ' + pretty | ||
'FLUTTER_ENGINE=' + ios_variant | ||
] | ||
RunCmd(command, cwd=ios_unit_test_dir, shell=True) | ||
|
||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
set -o pipefail
was the magic that worked with xcpretty. When we removed xcpretty it was no longer magical.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fyi @jmagman
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It wasn't being used in the python script, and I couldn't seem to get it working in a way the script liked. Honestly, I'm not sure its worth it. Every time I've ever had a test failure I had to re-run my tests without xcpretty to figure out why.
(@xster same reply to your comment above)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine removing xcpretty, just wanted to explain why this was there and how this broke.