Updated: Comment #0

Problem/Motivation

  • At DrupalCon Prague, core maintainers agreed to stop using the database update system for major version upgrades, and to instead replace it with a core Import API that may be added after 8.0 is released. Details: https://groups.drupal.org/imp
  • Despite this decision, 8.x core still retains not only existing hook_update_N() implementations for the 7.x to 8.x migration, but also upgrade path tests for these migrations.
  • Testbot therefore spends a nontrivial amount of time testing a database upgrade path that will not be used (the tests are some of the slowest in the test suite), and core developers also have to troubleshoot failures in automated tests that do not test anything that will be a part of the 8.0 release.

Proposed resolution

  • Remove the existing upgrade path tests (for major version upgrades) and testing architecture.
  • Retain the tests for the "update path" (minor version upgrades) as the plan is to continue using these for minor version updates, at least for now.
  • Retain the D7 database dumps as these may be useful for testing the migration path eventually. (?)
  • Stop requiring upgrade path tests for D8 data model changes; test coverage should be added for each as migrations are created for them, per the testing gate.

Removing the hook_update_N() themselves is out of scope for this issue and will be discussed separately.

Remaining tasks

  • All done!

API changes

UpgradePathTestBase is removed.

Text for change notification

Drupal 8 will use a new Import API to migrate data between Drupal installations, instead of update.php. For this reason, UpgradePathTestBase and all existing automated tests for the deprecated 7.x to 8.x upgrade path have been removed.

A different base class will be used for testing Drupal 8 data imports; for details, see Writing Upgrade Path Tests.

https://groups.drupal.org/imp (BTW, this should really have a sparkly new 8.x meta if it doesn't yet, and a canonical issue tag.)

CommentFileSizeAuthor
remove_upgrade_path_tests.patch129.91 KBxjm
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

xjm’s picture

Issue tags: +API change
chx’s picture

Status: Needs review » Reviewed & tested by the community

The dumps are needed cos the cherry on the migrate cake is when those dumps upgrade just fine.

xjm’s picture

Issue summary: View changes

I made rough updates to https://drupal.org/node/1429136 so I think we're ready to go. Yay.

catch’s picture

Priority: Normal » Critical

Not committing just yet but raising priority so this gets in sooner rather than later.

xjm’s picture

Issue summary: View changes

Created an unpublished change notification at https://drupal.org/node/2135739 and added the text to the summary for review.

xjm’s picture

Issue summary: View changes
webchick’s picture

Status: Reviewed & tested by the community » Needs work
Issue tags: +alpha target

Seems like something we could get into alpha5.

But it's worth pointing out that once we support head2head release2release upgrades (which afaik we're targeting from beta1 on), we'll need to start reintroducing these tests once again for further schema changes. So I don't think removing the base classes and such is a good idea. Needs work for that.

webchick’s picture

And then, that possibly means keeping a test or two around for said base class so we don't horribly break it between now and beta1. Hm.

xjm’s picture

Status: Needs work » Reviewed & tested by the community

This patch does not remove the minor version update tests; those use a separate base class, as per the second bullet in the proposed resolution. See:
http://drupalcode.org/project/drupal.git/tree/refs/heads/8.x:/core/modul...
https://drupal.org/node/1429136

xjm’s picture

Issue summary: View changes
catch’s picture

Status: Reviewed & tested by the community » Fixed

Yes this is fine since have separate test infrastructure for minor updates vs. major and it leaves the minor update tests in place. Committed/pushed to 8.x, thanks!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.