When run in the buster and ruby 2.5 environment, Wikibase's legacy ruby selenium tests fail to run:
08:25:16 undefined method `col_span' for class `Watir::TableCell' (NameError) 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver/elements/table_cell.rb:3:in `alias_method' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver/elements/table_cell.rb:3:in `<class:TableCell>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver/elements/table_cell.rb:2:in `<module:Watir>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver/elements/table_cell.rb:1:in `<top (required)>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver.rb:119:in `require' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/watir-webdriver-0.9.3/lib/watir-webdriver.rb:119:in `<top (required)>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/mediawiki_selenium-1.7.1/lib/mediawiki_selenium/cucumber/env.rb:3:in `require' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/mediawiki_selenium-1.7.1/lib/mediawiki_selenium/cucumber/env.rb:3:in `<top (required)>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/mediawiki_selenium-1.7.1/lib/mediawiki_selenium/cucumber.rb:3:in `require' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/mediawiki_selenium-1.7.1/lib/mediawiki_selenium/cucumber.rb:3:in `<top (required)>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/features/support/env.rb:9:in `require' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/features/support/env.rb:9:in `<top (required)>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/rb_support/rb_language.rb:95:in `load' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/rb_support/rb_language.rb:95:in `load_code_file' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/runtime/support_code.rb:180:in `load_file' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/runtime/support_code.rb:83:in `block in load_files!' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/runtime/support_code.rb:82:in `each' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/runtime/support_code.rb:82:in `load_files!' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/runtime.rb:184:in `load_step_definitions' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/runtime.rb:42:in `run!' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/lib/cucumber/cli/main.rb:47:in `execute!' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/gems/cucumber-1.3.20/bin/cucumber:13:in `<top (required)>' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/bin/cucumber:23:in `load' 08:25:16 /workspace/src/extensions/Wikibase/tests/browser/extensions/Wikibase/ruby/2.5.0/bin/cucumber:23:in `<main>'
see results of the test job run on a dummy commit in: https://integration.wikimedia.org/ci/job/legacy-quibble-rubyselenium-docker/2
There are also likely issues with the "rake" job (essentially "linting" ruby test code) but it does not seem to be currently run with "check experimental" spell on https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/688772. I suspect might be due to rake jobs to run as part of gate-and-submit job only?
Acceptance Criteria:๐๏ธ๐
- Wikibase legacy ruby browser tests need to be updated to work on buster/ruby2.5
Notes
- The issue has been thoroughly explored by @Jakob_WMDE, his findings could be found in: https://gerrit.wikimedia.org/r/c/mediawiki/extensions/Wikibase/+/680996
- With update of the OS to Buster , some cached dependencies were update to newer version, which caused a deprecation failure in webdriver-watir.
- The mediawiki_api-wikidata gem will need to be updated (https://github.com/wmde/WikidataApiGem/pull/12 might be sufficient)