Manybubbles has uploaded a new change for review. https://gerrit.wikimedia.org/r/223352
Change subject: Fix expected failure in relevancy ...................................................................... Fix expected failure in relevancy The test is still a bit fragile but its at least documented in what ways its fragile and it passes consistently for me now. If it stops passing consistently then the docs should help. Change-Id: I31e6b5873dc7aa7672f829eebbc7b94f37e6f46c --- M tests/browser/features/relevancy_api.feature M tests/browser/features/step_definitions/search_steps.rb M tests/browser/features/support/hooks.rb 3 files changed, 17 insertions(+), 13 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CirrusSearch refs/changes/52/223352/1 diff --git a/tests/browser/features/relevancy_api.feature b/tests/browser/features/relevancy_api.feature index cd6bca1..658866e 100644 --- a/tests/browser/features/relevancy_api.feature +++ b/tests/browser/features/relevancy_api.feature @@ -19,11 +19,22 @@ When I api search for Relevancylanguagetest Then Relevancylanguagetest/en is the first api search result - @expect_failure Scenario: Redirects count as incoming links - When I api search for Relevancyredirecttest - Then Relevancyredirecttest Larger is the first api search result - And Relevancyredirecttest Smaller is the second api search result + Given a page named Relevancyredirecttest Smaller exists with contents Relevancyredirecttest A text text text text text text text text text text text text text + And a page named Relevancyredirecttest Smaller/A exists with contents [[Relevancyredirecttest Smaller]] + And a page named Relevancyredirecttest Smaller/B exists with contents [[Relevancyredirecttest Smaller]] + And a page named Relevancyredirecttest Larger exists with contents Relevancyredirecttest B text text text text text text text text text text text text text + And a page named Relevancyredirecttest Larger/Redirect exists with contents #REDIRECT [[Relevancyredirecttest Larger]] + And a page named Relevancyredirecttest Larger/A exists with contents [[Relevancyredirecttest Larger]] + And a page named Relevancyredirecttest Larger/B exists with contents [[Relevancyredirecttest Larger/Redirect]] + And a page named Relevancyredirecttest Larger/C exists with contents [[Relevancyredirecttest Larger/Redirect]] + Then within 20 seconds api searching for Relevancyredirecttest yields Relevancyredirecttest Larger as the first result and Relevancyredirecttest Smaller as the second result + # Note that this test can fail spuriously in two ways: + # 1. If the required pages are created as part of the hook for @relevancy its quite possible for the large influx + # of jobs to cause the counting jobs to not pick up all the counts. I'm not super sure why that is but moving the + # creation into its own section makes it pretty consistent. + # 2. Its quite possible for the second result to be deeper in the result list for a few seconds after the pages are + # created. It gets its position updated by the link counting job which has to wait for refreshing and undelaying. Scenario: Results are sorted based on what part of the page matches: title, redirect, category, etc When I api search with disabled incoming link weighting for Relevancytest diff --git a/tests/browser/features/step_definitions/search_steps.rb b/tests/browser/features/step_definitions/search_steps.rb index a188ede..443f218 100644 --- a/tests/browser/features/step_definitions/search_steps.rb +++ b/tests/browser/features/step_definitions/search_steps.rb @@ -354,10 +354,11 @@ step("#{title} is the first search result") end end -Then(/^within (\d+) seconds api searching for (.*) yields (.*) as the first result$/) do |seconds, term, title| +Then(/^within (\d+) seconds api searching for (.*) yields (.*?) as the first result(?: and (.*?) as the second result)?$/) do |seconds, term, title, title2| repeat_within(seconds) do step("I api search for " + term) step("#{title} is the first api search result") + step("#{title2} is the second api search result") if title2 end end Then(/^within (\d+) seconds typing (.*) into the search box yields (.*) as the first suggestion$/) do |seconds, term, title| diff --git a/tests/browser/features/support/hooks.rb b/tests/browser/features/support/hooks.rb index 1991b6d..4014989 100644 --- a/tests/browser/features/support/hooks.rb +++ b/tests/browser/features/support/hooks.rb @@ -485,14 +485,6 @@ And a page named Relevancylinktest Larger/Link B exists with contents [[Relevancylinktest Larger Extraword]] And a page named Relevancylinktest Larger/Link C exists with contents [[Relevancylinktest Larger Extraword]] And a page named Relevancylinktest Larger/Link D exists with contents [[Relevancylinktest Larger Extraword]] - And a page named Relevancyredirecttest Smaller exists with contents Relevancyredirecttest text text text text text text text text text text text text text - And a page named Relevancyredirecttest Smaller/A exists with contents [[Relevancyredirecttest Smaller]] - And a page named Relevancyredirecttest Smaller/B exists with contents [[Relevancyredirecttest Smaller]] - And a page named Relevancyredirecttest Larger exists with contents Relevancyredirecttest text text text text text text text text text text text text text - And a page named Relevancyredirecttest Larger/Redirect exists with contents #REDIRECT [[Relevancyredirecttest Larger]] - And a page named Relevancyredirecttest Larger/A exists with contents [[Relevancyredirecttest Larger]] - And a page named Relevancyredirecttest Larger/B exists with contents [[Relevancyredirecttest Larger/Redirect]] - And a page named Relevancyredirecttest Larger/C exists with contents [[Relevancyredirecttest Larger/Redirect]] And a page named Relevancyclosetest FoƓ exists And a page named Relevancyclosetest Foo exists And a page named Foo Relevancyclosetest exists -- To view, visit https://gerrit.wikimedia.org/r/223352 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I31e6b5873dc7aa7672f829eebbc7b94f37e6f46c Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/CirrusSearch Gerrit-Branch: master Gerrit-Owner: Manybubbles <never...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits