Problem/Motivation
From https://www.drupal.org/pift-ci-job/25947
Update.Drupal\system\Tests\Update\UpdatePathTestBaseFilledTest
✓ - runUpdates
✗
testUpdatedSite
fail: [Other] Line 303 of core/modules/system/src/Tests/Update/UpdatePathTestBaseFilledTest.php:
"Comentario completo" found
Proposed resolution
Remaining tasks
User interface changes
API changes
Data model changes
| Comment | File | Size | Author |
|---|---|---|---|
| #23 | 2561229.19.patch | 3.53 KB | dawehner |
| #19 | 2561229.19.patch | 3.53 KB | alexpott |
| #19 | 12-19-interdiff.txt | 557 bytes | alexpott |
| #12 | 2561229.12.patch | 3.53 KB | alexpott |
| #12 | 9-12-interdiff.txt | 2.9 KB | alexpott |
Comments
Comment #2
dawehnerTrying to figure that out.
Comment #3
dawehnerI still saw on HEAD a hell lot of notices while running this test.
Comment #4
catchComment #5
alexpottSo this was fun...
was failing because on the upgrade db we'd not actually run the installer. For Postgres this means running the following query:
Basically the solution is to run the database's tasks in Drupal\system\Tests\Update\UpdatePathTestBase. However we have to do this after the database is loaded and the container created because tasks currently uses t() :).
And yep the
Contains...is slightly out of scope but this really really annoys me because it makes it harder to c&p to run the test from the command line.I now know far more about bytea than I wanted to :(
Comment #6
catchVery nice find.
Untagging beta target since this affects tests + postgres only.
Comment #7
alexpottFor some reason I can't repeat the test success :( ohoh
Comment #8
alexpott#926636: Drupal install error on PostgreSQL 9.0 database and #1524456: Cleaner way of supporting postgresql 9 bytea output contain some of the history of bytea output encoding. Suffice to say Drupal\Core\Database\Driver\pgsql\Install\Tasks::checkBinaryOutputSuccess() does not actually work for me. I got green results locally for #5 because I ran the test after running the command. If i'd tested on a completely fresh postgres db it would fail. And it is still failing on DrupalCI... https://www.drupal.org/pift-ci-job/26381
Comment #9
alexpottFixed it... this partially implements #1524456: Cleaner way of supporting postgresql 9 bytea output because the bytea_output check is currently a bit broken - as shown by the tests! Yay for Postgres testing. I wonder if this will fix anything else.
Comment #10
alexpottSo yay this makes the
Drupal\system\Tests\Update\UpdatePathTestBaseFilledTestpass on DrupalCI and does not seem to introduce any new failure modes... it didn't fix the random fails in the installer unfortunately - ho hum.Comment #11
dawehnerDo you mind extracting that into its own method? Its something most readers of setUp() won't be interested in.
Comment #12
alexpottSure np
Comment #13
dawehnerThank you alex!
Relative to https://www.drupal.org/pift-ci-job/26051 (the last branch result), we remove one test failure, yeaaaaaaaaaaah!
Comment #14
alexpottUnfortunately #2561121: Installer fails on postgresql due to uncaught exception is random so counting errors is not relevant - whether or not
Drupal\system\Tests\Update\UpdatePathTestBaseFilledTestpasses is. And that tests is now passing on Postgres (as well as MySQL and sqlite)Comment #15
andypostcould be fixed on commit
nit, missing a dot
Comment #17
catchJust committed #2561121: Installer fails on postgresql due to uncaught exception. Trying to re-test this to see how it looks without the random fails.
Comment #19
alexpottFixing coding standards.
Comment #21
plachThe testbot is happy, we should be done here.
Comment #23
dawehnerJust a reupload as the testbot maybe had a bad mood.
Comment #24
alexpottBack to rtbc... after this 1 postgres fail left that is being fixed by #2561129: Composite indexes are not correctly deleted/re-created when updating a field storage definition.
Comment #25
catchCommitted/pushed to 8.0.x, thanks!