Closed (won't fix)
Project:
Drupal core
Version:
8.0.x-dev
Component:
configuration system
Priority:
Major
Category:
Task
Assigned:
Issue tags:
Reporter:
Created:
4 May 2014 at 20:57 UTC
Updated:
14 Aug 2014 at 23:52 UTC
Jump to comment: Most recent
Comments
Comment #1
sun#1808248-99: Add a separate module install/uninstall step to the config import process tried to address the problem, which has been raised in the original issue already:
(paragraphs added by me)
All of those test cases are covered by more targeted tests already. Standard profile has no special meaning and must not have a special meaning.
Comment #2
sun#2234159: Fix config importing through the UI and change ConfigImportAll test using the UI slightly adjusts this test to become even slower (→
WebTestBase).At the same time, it adds a discrete test case to
ConfigImportUITestto assert that the config.module itself cannot be uninstalled in a config import (when config is imported through the UI).→ Again, concrete expectations and regression tests are covered in more targeted tests.
ConfigImportAllTestis useless.Comment #3
alexpottYou're wrong - it is covering importing a set complete site in the best way possible. Without this test we would not have caught #2232275: System menu blocks need to be able to depend on their menu entities. And continues to do so - the issue with batching and config import remains to be solved see #2234159: Fix config importing through the UI and change ConfigImportAll test using the UI
Be my guest to add a test that test all the interactions between all the config entities created by enabling all the modules and their interaction on import. Then we can remove this test.
Comment #4
xjmYeah, I consider this issue a wontfix, for the reasons described in #3.
Also this is not a major in any case.
Comment #5
sunA single test that consumes 10% of the total core test suite time without any concrete benefit presents a major issue in my book.
#2232275: System menu blocks need to be able to depend on their menu entities wasn't mentioned at all in #1808248: Add a separate module install/uninstall step to the config import process, the change was only merged/incorporated at some point.
And again, #2232275 added discrete test coverage for a discrete test case. That's proper test coverage.
If you insist on keeping this test, then pretty please, can I get an answer to these two simple questions:
1. What exactly is being tested by
ConfigImportAllTestthat is not covered by other tests already?2. In case there is anything, why is that not covered by explicit tests?
Comment #6
alexpottWhat is being covered is the general interaction of enabling every module through the config importer - there is no other test that enables all enableable modules through the importer. I would argue that this test should become even longer since I would like to add disabling all the modules too.
Importantly this is also testing the interaction when we try to do this all in one go - pretending the modules do not couple themselves together in interesting and hard to predict ways doesn't make sense to me. Enabling modules and creating configuration especially config entities are how drupal sites couple themselves.
As this test finds / catches new stuff we should be adding explicit tests - just as we did for #2232275: System menu blocks need to be able to depend on their menu entities. Additionally it should be testing using the UI as we can prove that HEAD would fail this at the moment #2234159: Fix config importing through the UI and change ConfigImportAll test using the UI. Since HEAD is not failing we obviously don't have a testcase for this.
Furthermore testbots run with a concurrency of 8 so quoting a percentage and a time is slightly disingenuous since removing this test will not speed up the tests by 5.4 minutes.
Comment #7
ParisLiakos commentedIf your patch fails on this test and you try to run this locally..well...good luck. It was really frustrating for me last night, trying to realize why my patch failed...and in the end it was alexpott who figured it out.
/modulesdirectory. So before running this test you need to disable those modules and move them out of your drupal root.max_execution_time.. 240s is not enough..the test timed out after running for several minutes.(my laptop is an i5 toshiba with 12gb ram..so its not a matter of old/crappy hardware).We cant ping alexpott everytime we have a problem with this test...at least, lets have it test a hardcoded set of modules with interdependencies, than every possible module that is in the filesystem.
Comment #8
xjm@ParisLiakos, it sounds like the test caught a bug in that patch, and was the only one that did, so it seems to me like it served its purpose there.
Maybe we should add documentation to the test explaining how to debug with it, though in some ways it doesn't seem any different than any web test where I would try to reproduce the bug by following the test's steps manually in an actual Drupal installation.
Comment #9
ParisLiakos commented@xjm I wouldnt call the fact that you have two field items with same weight (0) a bug. At least Field UI does not enforce anything like that..you can easily go to manage display tab of your entity set two items weight to 0, save, export it..Nothing will ever complain.
And generally in Drupal when we specify two items with weight 0 means we dont particularly care for sorting.
So if this was a bug:
a) Field UI should not allow it
b) Exporting fields like that should not be possible
c) Have a dedicated PHPUnit test for this, thats parses all yml configurations in
config/installfiles and checks for duplicate weights.Comment #10
xjmThis test has demonstrated its usefulness time and again by catching otherwise-undiscoverable bugs very quickly, and the cost of having it is not that high. And why would we remove test coverage that has caught a bug even once? I'm going to mark this wontfix. If you still disagree, we can escalate the issue, but I really don't think it is worth further argument.