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

Reply via email to