361 Commits

Author SHA1 Message Date
Brian Osman
913a683352 Guard SkCanvas bitmap virtuals for deprecation and removal (flutter/engine#17371) 2020-03-27 13:28:03 -04:00
Gary Qian
ba66644dce Locale: empty string equates to null (flutter/engine#17356) 2020-03-27 04:57:07 -07:00
Emmanuel Garcia
2913102440 Revert unobstructed platform views (flutter/engine#17326) 2020-03-25 14:36:10 -07:00
liyuqian
a7073893f4 Rename GPU to raster thread in PerformanceOverlay (flutter/engine#17148)
Rename GPU to raster thread in PerformanceOverlay and update goldens.
2020-03-24 21:43:16 -07:00
Gary Qian
700e276dd4 Add empty string check to Locale toString (flutter/engine#17280) 2020-03-24 15:54:40 -07:00
Emmanuel Garcia
fa2f49dbcb Reland: Implement unobstructed Platform Views on iOS (flutter/engine#17237) 2020-03-20 18:58:55 -07:00
Emmanuel Garcia
3c04f343d3 Revert "Implement unobstructed Platform Views on iOS (#17049)" (flutter/engine#17233)
This reverts commit a1f7b10dfac894be08bd6e8fa2a65063cb8b5277.
2020-03-20 14:46:09 -07:00
Emmanuel Garcia
a1f7b10dfa Implement unobstructed Platform Views on iOS (flutter/engine#17049) 2020-03-20 12:38:58 -07:00
stuartmorgan
8c89674d93 Allow relative resource paths in GLFW embedding (flutter/engine#16944)
Currently every Linux runner has this code to allow relative resource paths; this moves it into the framework so that any embedder can get this behavior without that code needing to be in the template.

Rolls buildroot to pick up std::filesystem support in our libc++
2020-03-17 19:04:18 -07:00
Dan Field
fd0cc9a285 Teach frontend compiler to replace toString with super.toString for selected packages (flutter/engine#17068)
Adds annotation `keepToString` to opt out.
2020-03-17 15:40:09 -07:00
Emmanuel Garcia
257b799767 Migrate embedding to AndroidX (flutter/engine#17075) 2020-03-13 21:19:24 -07:00
George Wright
ead58aad0c Disable flutter_runner_scenic_tests until the instability is resolved (flutter/engine#17141) 2020-03-13 13:56:01 -07:00
Brian Osman
ac523daa3d Canvas: Remove some unused virtuals, and prepare for signature change (flutter/engine#17135)
* Canvas: Remove some unused virtuals, and prepare for signature change

* Better vertices fix

* Add empty placeholders for old signature
2020-03-13 15:25:01 -04:00
Chinmay Garde
8f5f888826 Use the standard [[nodiscard]] attribute instead of an FML macro. (flutter/engine#17100) 2020-03-11 13:36:01 -07:00
Chinmay Garde
ac5feeb766 Gather demangled stack traces and report the same to console on crashes. (flutter/engine#16450)
These should only be used on host binaries for more detailed crash reports.
Installing the handler on targets (iOS/Android) may cause use to break existing
crash reporting mechanisms users may have installed themselves in the process.

This should work on Darwin & Linux for now.

Doing something like int* a = nullptr; *a = 12; or abort or tripping an
assertion should print something the following before program termination. We
can tweak the report further if necessary.

```
[ERROR:flutter/fml/backtrace.cc(110)] Caught signal SIGSEGV during program execution.
Frame 0: 0x10658342c void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)
Frame 1: 0x106555070 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)
Frame 2: 0x106554f81 testing::Test::Run()
Frame 3: 0x106555dc3 testing::TestInfo::Run()
Frame 4: 0x1065570a1 testing::TestSuite::Run()
Frame 5: 0x106562a55 testing::internal::UnitTestImpl::RunAllTests()
Frame 6: 0x10658c22c bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)
Frame 7: 0x1065625c3 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)
Frame 8: 0x106562445 testing::UnitTest::Run()
Frame 9: 0x105c8dc33 RUN_ALL_TESTS()
Frame 10: 0x105c8dbe6 main
Frame 11: 0x7fff7c2dc3d5 start
```

Known issue: This routines that generate the stack trace are not signal safe.
But since we only use the same before the process is terminating, this ought to
be fine. I’ll work in a separate patch to convert all the internals to be signal
safe. In the meantime, this will help us better identify the causes of flakes on
our bots.

Fixes https://github.com/flutter/flutter/issues/50244
2020-03-10 16:31:06 -07:00
Chinmay Garde
52e75cba16 Use the ELF loader to setup AOT symbols in benchmark runner. (flutter/engine#17051)
We no longer package AOT artifacts as discrete blobs. The portable ELF loader
from the testing library may be used instead.

Fixes https://github.com/flutter/flutter/issues/52263
2020-03-10 12:28:24 -07:00
Dan Field
0f559d6392 fix OOL def for dart_isolate_runner (flutter/engine#16941) 2020-03-04 13:56:08 -08:00
gaaclarke
cdf1a0d498 Added compiling the dart code for scenario tests as part of the xcode build (flutter/engine#16937) 2020-03-04 13:36:58 -08:00
Dan Field
19fc68d3d2 Refactor isolate test (flutter/engine#16933)
Make the test harness reusable for other tests that want to launch a Dart VM
2020-03-04 11:10:39 -08:00
gaaclarke
f5761ab436 Fixed the ability to scroll to the top on iOS 13 (flutter/engine#16820) 2020-03-04 10:53:11 -08:00
Dan Field
81efbea9a8 remove usage of Dart_New for paragraph/libtxt (flutter/engine#16837) 2020-02-28 00:15:40 -08:00
Dan Field
0267c56245 Revert "Enable lazy-async-stacks by-default in all modes (#16556)" (flutter/engine#16781)
This reverts commit a39aad4a0305f2525479d055ecc3ddfbf45d303b.
2020-02-24 20:04:40 -08:00
George Wright
a39303aa48 Enable Vulkan-related shell unittests on Fuchsia (flutter/engine#16718)
Also enable tests that were disabled due to MessageLoop flakiness resolved by https://github.com/flutter/engine/pull/16568
2020-02-21 11:01:16 -08:00
freiling
07bfcf19f1 [shell tests] Integrate Vulkan with Shell Tests (flutter/engine#16621)
This change creates a test only implementation of flutter::Surface backed by an
offscreen Vulkan GrContext. Much of the code in this test Surface was lifted
from flutter::VulkanWindow which I was unable to use without extricating it
from the VkSurface/VkSwapchain code which we do not want to use in offscreen
tests. I would recommend refactoring VulkanWindow to separate GrContext
creation and VkSwapchain creation in order to promote greater code reuse
between onscreen and offscreen vulkan paths.

This change is excersised thoroughly by the shell tests and was manually
tested against these tests on Fuchsia on Intel.
2020-02-20 11:37:00 -08:00
vsmenon
a605113c25 opt out dart:ui from nnbd (flutter/engine#16473)
* opt out dart:ui from nnbd

* Annotate tests as well
2020-02-20 11:04:00 -08:00
Martin Kustermann
a39aad4a03 Enable lazy-async-stacks by-default in all modes (flutter/engine#16556)
This was already enabled by-default in AOT mode in [0] - which made the
gen_snapshot invocations use "--lazy-async-stacks --no-causal-async-stacks".

See go/dart-10x-faster-async for more information.

[0] https://github.com/flutter/flutter/commit/347823234fd
2020-02-20 18:31:26 +01:00
Chinmay Garde
2995c54d0d Control test timeouts based on debugger status or command line flags. (flutter/engine#16375) 2020-02-18 15:31:04 -08:00
George Wright
f99b991c2b Revert "[shell tests] Integrate Vulkan with Shell Tests"
This reverts commit 57a8e04df9bd24b313ca4c309e7c8ba904559ea1.
2020-02-14 13:02:38 -08:00
Forrest Reiling
57a8e04df9 [shell tests] Integrate Vulkan with Shell Tests
This change creates a test only implementation of flutter::Surface backed by an
offscreen Vulkan GrContext. Much of the code in this test Surface was lifted
from flutter::VulkanWindow which I was unable to use without extricating it
from the VkSurface/VkSwapchain code which we do not want to use in offscreen
tests. I would recommend refactoring VulkanWindow to separate GrContext
creation and VkSwapchain creation in order to promote greater code reuse
between onscreen and offscreen vulkan paths.

This change is excersised thoroughly by the shell tests and was manually
tested against these tests on Fuchsia on Intel.
2020-02-14 12:56:16 -08:00
George Wright
27d74ce8b4 Move log_listener call into the reboot trap (flutter/engine#16564) 2020-02-12 15:09:38 -08:00
George Wright
eb5b0f4d2a [Fuchsia] Dump syslog output after tests have run (flutter/engine#16561) 2020-02-12 13:12:15 -08:00
Chris Yang
9016c390ee iOS platform view gesture blocking policy. (flutter/engine#15940) 2020-02-11 15:34:59 -08:00
Matt Carroll
d7902954e9 Fix ensureInitializationCompleteAsync callback when already initialized. (#39675) (flutter/engine#16503) 2020-02-11 15:25:58 -08:00
Michael Klimushyn
2ad0c2ebe7 Apply Google Java format (flutter/engine#16501)
This shouldn't result in any logical changes. I've done a quick smoke
test by building a local Android engine and running Flutter gallery, no
compile errors or other obvious issues.

Applied by running `/ci/format.sh | patch -p0` with the altered script
added in flutter/engine#16500. I did locally modify the script slightly
further so it would run against all Java files in the repo instead of
just modified ones.
2020-02-07 16:10:46 -08:00
George Wright
f9d5564332 Disable ShellTest.WaitForFirstFrameTimeout on Fuchsia (flutter/engine#16495) 2020-02-07 13:13:59 -08:00
George Wright
69e635c0fc Enable shell_unittests on Fuchsia with Vulkan dependencies. (flutter/engine#16376)
This also adds a dependency on SwiftShader's Vulkan frontend.
2020-02-06 15:07:01 -08:00
George Wright
36f5f76944 Enable runtime_unittests on Fuchsia 2020-02-06 13:52:33 -08:00
George Wright
10e7d17444 Fix elf_loader.cc on Fuchsia, add a TODO for proper fix 2020-02-06 13:52:33 -08:00
George Wright
bc12e7c8ab Disable unit tests using --gtest-filter instead of at compile time (flutter/engine#16472) 2020-02-06 13:01:14 -08:00
Felipe Archondo
456e65b23f [fuchsia] Migrate flutter runner to use Present2 (flutter/engine#14162)
No change in behavior expected. We have 2 frames in flight as before. By switching to Present2 and specifying a kMaxFramesInFlight however, we allow us greater flexibility to change how Flutter schedules its frames.

This change also adds tests for SessionConnection and VsyncRecorder.
2020-02-05 13:51:04 -08:00
George Wright
252134fac8 Expose the dart kernel snapshot target and copied assets as a public dependency (flutter/engine#16266)
This allows for targets to depend on the assets generated by the test_fixtures target.
2020-02-04 12:30:48 -08:00
Chinmay Garde
b8733635e8 Kill the test harness if any test exceeds a timeout. (flutter/engine#16349)
Our tests depend on explicit latching to verify assertion are checked. If a test
does not respond for a long time, it has probably encoutered a deadlock. Instead
of waiting for the test runner to detect this, apply a very aggresive timeout on
a per test basis.
2020-02-04 11:22:13 -08:00
Dan Field
030975d7f7 use echo to test whether host is up (flutter/engine#16322) 2020-01-31 23:46:57 -08:00
Chinmay Garde
426c48aaac Remove all uses of the redundant flutter_root variable. (flutter/engine#16311)
This was only necessary when the Engine had to build in multiple buildroots
where the sources where checked out at different paths relative to the
buildroot. This is no longer the case and there are already cases GN rules
have been written that mix and match variable usage with the direct
specification of the path to the Flutter sources relative to the sole buildroot.
2020-01-31 21:49:48 -08:00
Chinmay Garde
2a949ca345 Isolate and move common portable ELF loading from fixtures into //flutter/testing. (flutter/engine#16305)
Also update all known test harnesses to use this and fixes the broken shell_unittests harness.

Fixes https://github.com/flutter/flutter/issues/49853
2020-01-31 12:52:00 -08:00
Chinmay Garde
0a9ea0d319 Make output of run_tests.py easier to understand. (flutter/engine#16229)
* The outputs of all commands are not printed and not just commands that fail.
* The stdout and stderr are now printed in order.
* Clear dividers mark logs from specific subprocesses or errors.
* The test whose run failed should now be exactly on top of the error message and code.
2020-01-29 20:47:35 -08:00
Gary Qian
20ab007c56 Reland "Engine/LibTxt/dart:ui impl of TextHeightBehavior #15087" (flutter/engine#16155) 2020-01-29 10:52:24 -08:00
Dan Field
b392f1e3bd Revert breaking PRs (flutter/engine#16148)
* Revert "Web PargraphStyle TextHeightBehavior integration (#16075)"

This reverts commit a152c9df009f74b3f52c46845e618b8ddcf3eaa7.

* Revert "Engine/LibTxt/dart:ui impl of TextHeightBehavior (#15087)"

This reverts commit e6f6d2a3c2fe333a85c8997d755ca91594e80544.
2020-01-28 10:40:05 -08:00
Gary Qian
e6f6d2a3c2 Engine/LibTxt/dart:ui impl of TextHeightBehavior (flutter/engine#15087) 2020-01-27 13:37:11 -08:00
Chinmay Garde
93d67baf2b Move tonic into //flutter/third_party. (flutter/engine#15895)
Tonic used to be used by multiple consumers outside of Flutter Engine. Due to
this, it has an unnecessary abstraction layer as well as utilities duplicated in
FML and other engine subsystems. The sole user of Tonic is now the Flutter
Engine. It is intended that the Flutter Engine team now owns this subsystem,
remove unnecessary utilities and document the headers. This is the first step in
the transition. No history is being imported as the initial history was already
lost in the transition of this component to fuchsia.googlesource. As this
component was unmaintained there, I could see no additional value in importing
the history of the patches there.

No functional change. Just moved the repo from //third_party to
//flutter/third_party and updates GN refs.
2020-01-25 17:01:56 -08:00