wikibase browser tests fail on jenkins now that we are including CirrusSearch.
this is because CirrusSearch loads a special entry point on jenkins for jobs in non CLI mode (e.g. browser tests). The entry point has stuff like:
// Dependencies // Jenkins will automatically load these for us but it makes this file more generally useful // to require them ourselves. require_once( "$IP/extensions/MwEmbedSupport/MwEmbedSupport.php" ); require_once( "$IP/extensions/TimedMediaHandler/TimedMediaHandler.php" ); require_once( "$IP/extensions/PdfHandler/PdfHandler.php" ); require_once( "$IP/extensions/Cite/Cite.php" );
The above extensions do not get loaded for wikibase jobs, and thus simple tests fail.
Cirrus uses Cindy the browser test bot which maybe runs on jenkins and uses this? Maybe the check for including this entry point to be more specific to Cindy and not so broad to also get included for wikbase browser tests.
10:20:43 + vendor/bin/bundle exec cucumber --color --tags @integration --tags '~@skip' --format pretty --format junit --out /mnt/jenkins-workspace/workspace/mwext-mw-selenium-composer@2/log/junit 10:20:47 # Wikidata item tests 10:20:47 # 10:20:47 # License:: GNU GPL v2+ 10:20:47 # 10:20:47 # feature the functionality of a non existing item page 10:20:47 @integration 10:20:47 Feature: Non existing item 10:20:47 10:20:47 Scenario: Edit tab # features/non_existing_item.feature:10 10:21:08 Given I am on an non existing item page # features/step_definitions/non_existing_item_steps.rb:8 10:21:08 Then check if this page behaves correctly # features/step_definitions/non_existing_item_steps.rb:12 10:21:08 10:21:08 expected #<TrueClass:20> => true 10:21:08 got #<FalseClass:0> => false 10:21:08 10:21:08 Compared using equal?, which compares object identity, 10:21:08 but expected and actual are not the same object. Use 10:21:08 `expect(actual).to eq(expected)` if you don't care about 10:21:08 object identity in this example. 10:21:08 10:21:08 (RSpec::Expectations::ExpectationNotMetError) 10:21:08 ./features/step_definitions/non_existing_item_steps.rb:14:in `block (2 levels) in <top (required)>' 10:21:08 ./features/step_definitions/non_existing_item_steps.rb:13:in `/^check if this page behaves correctly$/' 10:21:08 features/non_existing_item.feature:12:in `Then check if this page behaves correctly' 10:21:12 10:21:12 Failing Scenarios: 10:21:12 cucumber features/non_existing_item.feature:10 # Scenario: Edit tab 10:21:12 10:21:12 1 scenario (1 failed) 10:21:12 2 steps (1 failed, 1 passed) 10:21:12 0m25.016s 10:21:12 Build step 'Execute shell' marked build as failure 10:21:12 [PostBuildScript] - Execution post build scripts.