Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions DEPS
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ allowed_hosts = [
]

deps = {
'src': 'https://github.com/flutter/buildroot.git' + '@' + 'a0fb98af7b6f50f17b47ab7968f3f5664d0d6316',
'src': 'https://github.com/flutter/buildroot.git' + '@' + '1bc40a5f916adb93d87e2a2230a0ec43db876c1c',

# Fuchsia compatibility
#
Expand Down Expand Up @@ -517,8 +517,8 @@ deps = {
'src/buildtools/{host_os}-x64/clang': {
'packages': [
{
'package': 'fuchsia/clang/${{platform}}',
'version': 'git_revision:de39621f0f03f20633bdfa50bde97a3908bf6e98'
'package': 'fuchsia/third_party/clang/${{platform}}',
'version': 'git_revision:7e9747b50bcb1be28d4a3236571e8050835497a6'
}
],
'condition': 'host_os == "mac" or host_os == "linux"',
Expand Down
2 changes: 2 additions & 0 deletions flow/layers/performance_overlay_layer_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,8 @@ static void TestPerformanceOverlayLayerGold(int refresh_rate) {
<< "Please either set --golden-dir, or make sure that the unit test is "
<< "run from the right directory (e.g., flutter/engine/src).";

// TODO(https://github.com/flutter/flutter/issues/53784): enable this on all
// platforms.
#if !defined(OS_LINUX)
GTEST_SKIP() << "Skipping golden tests on non-Linux OSes";
#endif // OS_LINUX
Expand Down
8 changes: 7 additions & 1 deletion shell/platform/embedder/tests/embedder_unittests.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1430,7 +1430,7 @@ TEST_F(EmbedderTest,
});

context.GetCompositor().SetPlatformViewRendererCallback(
[&](const FlutterLayer& layer, GrContext *
[&](const FlutterLayer& layer, GrContext*
/* don't use because software compositor */) -> sk_sp<SkImage> {
auto surface = CreateRenderSurface(
layer, nullptr /* null because software compositor */);
Expand Down Expand Up @@ -3001,6 +3001,12 @@ TEST_F(EmbedderTest, VerifyB143464703WithSoftwareBackend) {
auto renderered_scene = context.GetNextSceneImage();

latch.Wait();

// TODO(https://github.com/flutter/flutter/issues/53784): enable this on all
// platforms.
#if !defined(OS_LINUX)
GTEST_SKIP() << "Skipping golden tests on non-Linux OSes";
#endif // OS_LINUX
ASSERT_TRUE(ImageMatchesFixture("verifyb143464703_soft_noxform.png",
renderered_scene));
}
Expand Down
21 changes: 14 additions & 7 deletions sky/tools/create_ios_framework.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
import os


DSYMUTIL = os.path.join(os.path.dirname(__file__), '..', '..', '..',
'buildtools', 'mac-x64', 'clang', 'bin', 'dsymutil')

def main():
parser = argparse.ArgumentParser(description='Creates Flutter.framework')

Expand All @@ -33,27 +36,31 @@ def main():
simulator_dylib = os.path.join(simulator_framework, 'Flutter')

if not os.path.isdir(arm64_framework):
print 'Cannot find iOS arm64 Framework at', arm64_framework
print('Cannot find iOS arm64 Framework at %s' % arm64_framework)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why the change to the prints?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move them to python3 friendly syntax. I'm assuming at some point the bots will be on python3

return 1

if not os.path.isdir(armv7_framework):
print 'Cannot find iOS armv7 Framework at', armv7_framework
print('Cannot find iOS armv7 Framework at %s' % armv7_framework)
return 1

if not os.path.isdir(simulator_framework):
print 'Cannot find iOS simulator Framework at', simulator_framework
print('Cannot find iOS simulator Framework at %s' % simulator_framework)
return 1

if not os.path.isfile(arm64_dylib):
print 'Cannot find iOS arm64 dylib at', arm64_dylib
print('Cannot find iOS arm64 dylib at %s' % arm64_dylib)
return 1

if not os.path.isfile(armv7_dylib):
print 'Cannot find iOS armv7 dylib at', armv7_dylib
print('Cannot find iOS armv7 dylib at %s' % armv7_dylib)
return 1

if not os.path.isfile(simulator_dylib):
print 'Cannot find iOS simulator dylib at', simulator_dylib
print('Cannot find iOS simulator dylib at %s' % simulator_dylib)
return 1

if not os.path.isfile(DSYMUTIL):
print('Cannot find dsymutil at %s' % DSYMUTIL)
return 1

shutil.rmtree(fat_framework, True)
Expand All @@ -76,7 +83,7 @@ def main():

if args.dsym:
dsym_out = os.path.splitext(fat_framework)[0] + '.dSYM'
subprocess.check_call(['dsymutil', '-o', dsym_out, linker_out])
subprocess.check_call([DSYMUTIL, '-o', dsym_out, linker_out])

if args.strip:
# copy unstripped
Expand Down
4 changes: 2 additions & 2 deletions testing/dart/canvas_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ void main() {
final bool areEqual =
await fuzzyGoldenImageCompare(image, 'canvas_test_gradient.png');
expect(areEqual, true);
});
}, skip: !Platform.isLinux); // https://github.com/flutter/flutter/issues/53784

test('Simple dithered gradient', () async {
Paint.enableDithering = true;
Expand All @@ -197,5 +197,5 @@ void main() {
final bool areEqual =
await fuzzyGoldenImageCompare(image, 'canvas_test_dithered_gradient.png');
expect(areEqual, true);
});
}, skip: !Platform.isLinux); // https://github.com/flutter/flutter/issues/53784
}
87 changes: 86 additions & 1 deletion testing/symbols/verify_exported.dart
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,93 @@ int _checkAndroid(String outPath, String nmPath, Iterable<String> builds) {
'JNI_OnLoad': 'T',
'_binary_icudtl_dat_size': 'A',
'_binary_icudtl_dat_start': 'D',
// TODO(fxb/47943): Remove these once Clang lld does not expose them.
// arm
'__adddf3': 'T',
'__addsf3': 'T',
'__aeabi_cdcmpeq': 'T',
'__aeabi_cdcmple': 'T',
'__aeabi_cdrcmple': 'T',
'__aeabi_d2lz': 'T',
'__aeabi_d2uiz': 'T',
'__aeabi_d2ulz': 'T',
'__aeabi_dadd': 'T',
'__aeabi_dcmpeq': 'T',
'__aeabi_dcmpge': 'T',
'__aeabi_dcmpgt': 'T',
'__aeabi_dcmple': 'T',
'__aeabi_dcmplt': 'T',
'__aeabi_ddiv': 'T',
'__aeabi_dmul': 'T',
'__aeabi_drsub': 'T',
'__aeabi_dsub': 'T',
'__aeabi_f2d': 'T',
'__aeabi_fadd': 'T',
'__aeabi_frsub': 'T',
'__aeabi_fsub': 'T',
'__aeabi_i2d': 'T',
'__aeabi_i2f': 'T',
'__aeabi_l2d': 'T',
'__aeabi_l2f': 'T',
'__aeabi_lasr': 'T',
'__aeabi_ldivmod': 'T',
'__aeabi_llsl': 'T',
'__aeabi_llsr': 'T',
'__aeabi_ui2d': 'T',
'__aeabi_ui2f': 'T',
'__aeabi_uidiv': 'T',
'__aeabi_uidivmod': 'T',
'__aeabi_ul2d': 'T',
'__aeabi_ul2f': 'T',
'__aeabi_uldivmod': 'T',
'__ashldi3': 'T',
'__ashrdi3': 'T',
'__cmpdf2': 'T',
'__divdf3': 'T',
'__divdi3': 'T',
'__eqdf2': 'T',
'__extendsfdf2': 'T',
'__fixdfdi': 'T',
'__fixunsdfdi': 'T',
'__fixunsdfsi': 'T',
'__floatdidf': 'T',
'__floatdisf': 'T',
'__floatsidf': 'T',
'__floatsisf': 'T',
'__floatundidf': 'T',
'__floatundisf': 'T',
'__floatunsidf': 'T',
'__floatunsisf': 'T',
'__gedf2': 'T',
'__gnu_ldivmod_helper': 'T',
'__gnu_uldivmod_helper': 'T',
'__gtdf2': 'T',
'__ledf2': 'T',
'__lshrdi3': 'T',
'__ltdf2': 'T',
'__muldf3': 'T',
'__nedf2': 'T',
'__subdf3': 'T',
'__subsf3': 'T',
'__udivdi3': 'T',
'__udivsi3': 'T',
// arm64
'__clz_tab': 'R',
'__udivti3': 'T',
// arm64 && x64
'__emutls_get_address': 'T',
'__emutls_register_common': 'T',
// jit x86
'__moddi3': 'T',
'__umoddi3': 'T',
Comment on lines +189 to +191
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new symbols to whitelist.

I manually checked x64, that's fine with the current list.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This issues has been addressed in upstream by https://reviews.llvm.org/D77280

};
if (!const MapEquality<String, String>().equals(entryMap, expectedSymbols)) {
final Map<String, String> badSymbols = <String, String>{};
for (final String key in entryMap.keys) {
if (entryMap[key] != expectedSymbols[key]) {
badSymbols[key] = entryMap[key];
}
}
if (badSymbols.isNotEmpty) {
print('ERROR: $libFlutter exports the wrong symbols');
print(' Expected $expectedSymbols');
print(' Library has $entryMap.');
Expand Down