Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 440943ba5b7ea75da370ea5a3d0325262a055127
      
https://github.com/WebKit/WebKit/commit/440943ba5b7ea75da370ea5a3d0325262a055127
  Author: Carlos Alberto Lopez Perez <[email protected]>
  Date:   2023-03-03 (Fri, 03 Mar 2023)

  Changed paths:
    M Tools/CISupport/ews-build/steps.py
    M Tools/CISupport/ews-build/steps_unittest.py

  Log Message:
  -----------
  REGRESSION(257654@main): [ews-build.webkit.org][GTK][WPE] 
RunWebKitTestsRedTree sub-classes are overwriting the 'first_run' properties on 
the retry steps.
https://bugs.webkit.org/show_bug.cgi?id=253048

Reviewed by Jonathan Bedard.

257654@main changed the way the class RunWebKitTests() works: instead of 
specializing the function
buildstep.BuildStep.commandComplete() the function 
buildstep.BuildStep.runCommand() is specialized.

Buildbot first calls runCommand() and then calls commandComplete()

The problem is with the subclasses of RunWebKitTests() which were specializing 
a commandComplete()
function: now instead of executing the generic buildstep.BuildStep.runCommand() 
they execute the
specialized RunWebKitTests.runCommand() which was the previous 
RunWebKitTests.commandComplete()
so this has the undesired effect that the properties defined at 
RunWebKitTests().runCommand()
('first_run_flakies', 'first_run_failures' and 
'first_results_exceed_failure_limit') get
redefined (overwritten) multiple times with the values generated when running 
the command
of each one of the sub-classes.

This is wrong and can cause unexpected issues later when analyzing the results 
in
AnalyzeLayoutTestsResultsRedTree() because the values of the properties 
'first_run_flakies'
and 'first_run_failures' are not the ones from the first run but the ones from 
the last
retry step executed.

Fix it by specializing runCommand() instead of commandComplete() on the 
subclasses like
RunWebKitTests() class does now. Add also a few unit tests.

* Tools/CISupport/ews-build/steps.py:
(RunWebKitTestsRepeatFailuresRedTree):
(RunWebKitTestsRepeatFailuresRedTree.runCommand):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree):
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.runCommand):
(RunWebKitTestsRepeatFailuresRedTree.commandComplete): Deleted.
(RunWebKitTestsRepeatFailuresWithoutChangeRedTree.commandComplete): Deleted.
* Tools/CISupport/ews-build/steps_unittest.py:
(MockLayoutTestFailures):
(MockLayoutTestFailures.__init__):
(TestRunWebKitTestsRedTree.configureStep):
(TestRunWebKitTestsRedTree.test_success):
(TestRunWebKitTestsRedTree.test_set_properties_when_executed_scope_this_class):
(TestRunWebKitTestsRepeatFailuresRedTree.configureStep):
(TestRunWebKitTestsRepeatFailuresRedTree.test_success):
(TestRunWebKitTestsRepeatFailuresRedTree.test_set_properties_when_executed_scope_this_class):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.configureStep):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.test_success):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.test_step_with_change_did_timeout):
(TestRunWebKitTestsRepeatFailuresWithoutChangeRedTree.test_set_properties_when_executed_scope_this_class):

Canonical link: https://commits.webkit.org/261167@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to