Posted by sun on January 8, 2012 at 6:10pm
6 followers
| Project: | Drupal core |
| Version: | 8.x-dev |
| Component: | simpletest.module |
| Category: | task |
| Priority: | critical |
| Assigned: | sun |
| Status: | closed (works as designed) |
| Issue tags: | Testing system |
Issue Summary
Problem
- Various patches in the queue are or will fail on re-test if they happen to use the Testing profile and if they still happen to assume that Node module gets installed.
Goal
- Decrease havoc caused by #375397: Make Node module optional. Testing philosophies around Node module will only need to change after #1373142: Use the Testing profile. Speed up testbot by 50%.
| Attachment | Size | Status | Test result | Operations |
|---|---|---|---|---|
| drupal8.testing-node.0.patch | 343 bytes | Idle | FAILED: [[SimpleTest]]: [MySQL] 34,579 pass(es), 8 fail(s), and 0 exception(es). | View details | Re-test |
Comments
#1
Ok that has to be done :)
#2
FWIW, I manually tested and can confirm that this change resolves fatal errors and makes such patches pass again; e.g.:
#1376166-28: Custom logo and favicon functionality inanely tries to support absolute local file paths
#3
Hold on, we also need the 'access content' permissions.
#4
Attached patch additionally restores/reverts the testing.install change of the Node-optional patch:
http://drupalcode.org/project/drupal.git/blobdiff/25043d962b6d2bf755d7a1...
#5
The permissions are required, because tests, which assume that Node module is installed, also assume that the built-in anonymous and authenticated user roles can 'access content'. Merely installing Node module does not grant the permissions.
The missing permissions also explain the huge amount of test failures in the patch with ".node." suffix in http://drupal.org/node/1373142#comment-5443554 - which should have passed just like the one before.
#6
The last submitted patch, drupal8.testing-node.4.patch, failed testing.
#7
The reason for why that test fails is that the test already uses the Testing profile, but does not account for (non-required) modules being already installed by the installation profile.
Therefore, the test worked, since the Testing profile did not install any additional modules in the past.
Attached patch makes the test account for already pre-installed modules by the installation profile, so that these are not attempted to be enabled. The final module disable and uninstall assertions are still executed for them though (since they are optional).
Thus, this patch should come back green and be RTBC.
#8
Alright, so the patch passed tests.
However, I'm no longer sure whether we need to do this, because we're in a weird situation now:
Kind of a chicken-and-egg situation.
#9
Grace period is over.