https://bugs.webkit.org/show_bug.cgi?id=229360
<rdar://problem/82192362>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/task_pool_unittest.py:
(TaskPoolUnittest): Skip some tests on cygwin.
* Scripts/webkitpy/common/system/abstractexecutive.py:
(AbstractExecutive.command_for_printing): Strings might be bytes on some platforms.
* Scripts/webkitpy/common/system/path.py:
(_CygPath.convert): Cygwin path process is not unicode.
* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._win_version_str): Return Windows version string as unicode string.
Canonical link: https://commits.webkit.org/240831@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281448 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=186804
Reviewed by Alan Bujtas.
Source/WebCore:
Previously, single characters weren't shaped in the fast text codepath,
because shaping in the fast text codepath was just for kerning and
ligatures. Kerning didn't need to shape individual characters because
kerning only applies to pairs of characters, and ligatures didn't need
to shape individual characters because two characters are required to
form a ligature. However, now that we want to replace the complex text
codepath with a new-and-improved fast text codepath, we have to perform
all shaping in the fast text codepath, regardless of how many characters
are present.
Test: fast/text/single-character-shaping.html
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
(WebCore::WidthIterator::commitCurrentFontRange):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::shouldApplyFontTransforms const): Deleted.
* platform/graphics/WidthIterator.h:
* platform/graphics/coretext/FontCoreText.cpp:
(WebCore::Font::applyTransforms): Keep kerning disabled for single glyphs,
because of performance. This will be able to be removed when rdar://82195405
is fixed.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
Tools:
Huge thanks to Laurence Penney to contributing this test font!!!
* Scripts/webkitpy/common/config/contributors.json:
LayoutTests:
Huge thanks to Laurence Penney to contributing this test font!!!
* fast/text/resources/UniversTofu-GSUB-rvrn.ttf: Added. The license is Apache 2.0.
* fast/text/single-character-shaping-expected.html: Added.
* fast/text/single-character-shaping.html: Added.
Canonical link: https://commits.webkit.org/240793@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=200556
Reviewed by Simon Fraser.
Add a new option to print a summary listing test expectation health.
It uses the same expected results as --print-expectations.
To run it: run-webkit-tests --print-summary
You can pass the same arguments as normal run-webkit-tests and it will
return stats based on the tests collected.
It also outputs a .csv file with the data.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.print_expectations): Gather the tests. Note whether the test
is marked as skip, pass, flaky, or fail, the definitions of which are
dictated by model.get_tests_with_result_type(). Output the results to
command line as well as to file.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py: Add the new option.
It goes through the same path as --print-expectations.
Canonical link: https://commits.webkit.org/240757@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281340 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=229188
Reviewed by Jonathan Bedard.
Some logging beneath WebKit is making WebRTC tests flaky.
While we work on the cause of this bug, we can still beef-up our test output clean up steps to handle this logging.
Instead of stripping lines based on a known pattern, which does not always work as per current results,
we can simply remove all logging before the 'Content-Type:text/plain\n' string that WebKitTestRunner is adding before
printing the text generated by the test itself.
We update webkitpy scripts accordingly and add this new clean-up for:
- tests that have webrtc in their name
- tests whose output contain some known logging strings like 'LRP' or 'Negotiation String'.
This should hopefully be more robust while not hiding real regressions.
* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner):
* Scripts/webkitpy/port/base.py:
(Port.logging_detectors_to_strip_text_start):
* Scripts/webkitpy/port/driver.py:
(DriverOutput.strip_text_start_if_needed):
* Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip):
(MacPort.logging_detectors_to_strip_text_start):
Canonical link: https://commits.webkit.org/240721@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281297 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=229217
<rdar://problem/81919223>
Reviewed by Ryan Haddad.
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.update_summary_with_result): Replace existing result with unexpected result so
that unexpected results always take precedence over expected ones.
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.add): Do not replace existing result.
Canonical link: https://commits.webkit.org/240653@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=228999
Reviewed by Ryan Haddad.
Tools:
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder._is_test_file): Added a list of patterns for tests to skip
and ensured that 'boot.xml' and 'root.xml' (spurious files created during
the run of the WebKit1 bot) are on the list.
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder_unittest.py:
(LayoutTestFinderTests.test_is_test_file): Added a test for the changes.
LayoutTests:
* TestExpectations: Remove expectation for non-existent test.
* platform/ios-simulator/TestExpectations: Ditto.
* platform/ios-wk2/TestExpectations: Ditto.
* platform/ios/TestExpectations: Dito.
* platform/mac-wk1/TestExpectations: Ditto. Also, the expectations for the non-test
'boot.xml' and 'root.xml' have been moved to workarounds in webkitpy.
* platform/mac/TestExpectations: Remove references to non-existent tests. Also combined
one expectation that was not linting due to a problem like the one described in bug
120081.
* platform/win/TestExpectations: Ditto.
Canonical link: https://commits.webkit.org/240500@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=229031
Reviewed by Michael Catanzaro.
This is because it uses exec_prefix variable from atspi2 pkg-config file to try to find the executables, but
atspi2 pkg-config file doesn't have a exec_prefix variable anymore. It was always set to $prefix, so we can just
use prefix variable instead.
* Scripts/run-gtk-tests:
(GtkTestRunner._lookup_atspi2_binary):
Canonical link: https://commits.webkit.org/240471@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=228974
<rdar://problem/81749547>
Reviewed by Stephanie Lewis.
* Scripts/webkitpy/xcode/simulated_device.py:
(SimulatedDeviceManager):
(SimulatedDeviceManager.populate_available_devices): Device state check is now shared between simulators.
(SimulatedDeviceManager._disambiguate_device_type): Only extract hardware family and type from candidate.
(SimulatedDevice.__init__): Device state check is now shared between simulators.
(SimulatedDevice.state): Use 'xcrun simctl list' instead of device.plist.
* Scripts/webkitpy/xcode/simulated_device_unittest.py:
(SimulatedDeviceTest.change_state_to): Deleted.
(SimulatedDeviceTest.test_swapping_devices): Deleted.
Canonical link: https://commits.webkit.org/240419@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=228662
<rdar://problem/81344181>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Bump version, export Terminal.
* Scripts/libraries/webkitcorepy/webkitcorepy/terminal.py: Added.
(Terminal):
(Terminal.assert_writeable_stream): Assert that the provided object is a writable stream.
(Terminal.supports_color): Check if the provided file supports colored output.
(Terminal.isatty): Check if a stream is an atty, both according to the stream itself and our override.
(Terminal.override_atty): Allow callers to override and declare explicitly if a stream is an atty.
(Terminal.Text): Group text colors and styles.
(Terminal.Style): Group functions modifying style of a stream.
(Terminal.Style.enabled): Check if styled printing is enabled on a stream.
(Terminal.Style.disable): Disable styled printing on a stream.
(Terminal.Style.enable): Enable styled printing on a stream.
(Terminal.Style.is_styled): Check if a stream is currently styled.
(Terminal.Style.__init__): Construct a text style.
(Terminal.Style.__repr__): Output the terminal characters styling a stream.
(Terminal.Style.set): Apply style to a stream.
(Terminal.Style.apply): Apply style to a stream, unapply when exiting context.
* Scripts/libraries/webkitscmpy/setup.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Scripts/libraries/webkitscmpy/webkitscmpy/program/blame.py: Pass isatty to child process.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager): Pass isatty to child process, ask 'more' to display colors.
(FilteredCommand.main): Color header and error.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py: Pass isatty to child process.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py: Override atty behavior.
Canonical link: https://commits.webkit.org/240404@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280864 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=228792
<rdar://problem/81527357>
Reviewed by Aakash Jain.
* Scripts/check-github-mirror-integrity: Use the local checkout to store the svn.webkit.org, if possible.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.__init__): Allow caller to define cache path.
(Svn._cache_path): Deleted.
Canonical link: https://commits.webkit.org/240269@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=228606
<rdar://problem/81289748>
Reviewed by Aakash Jain.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.pager): Child process should use the same current working directory.
(FilteredCommand.main): Convert any file names to their absolute paths.
Canonical link: https://commits.webkit.org/240092@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=228027
<rdar://problem/80691164>
Reviewed by Dewei Zhu.
* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
(Scm.from_path): Pass all kwargs to local SCM object.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py:
(main): Add Blame and Log commands.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/blame.py: Added.
(Blame): Invoke pager.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand): Shared command that handles replace hashes/revisions in
an SCM command with identifiers.
(FilteredCommand.parser): Allow user to change the prefered commit representation.
(FilteredCommand.pager): Pass output through more if called from a terminal.
(FilteredCommand.main): Modify output of provided command to replace commit representation
with the preffered commit representation.
* Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py: Added.
(Log): Invoke pager.
* Scripts/libraries/webkitscmpy/webkitscmpy/test/log_unittest.py: Added.
(TestLog):
(TestLog.setUp):
(TestLog.test_git):
(TestLog.test_git_svn):
(TestLog.test_git):
Canonical link: https://commits.webkit.org/240074@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280436 268f45cc-cd09-0410-ab3c-d52691b4dbfc