In the genpass.schema.yml file, the genpass.settings array is defined as mapping. While mapping is the correct type for the way the properties are defined, module settings must be defined as config_object.
The reason behind this is that after installation, when the settings are imported into the site, core assigns them two extra properties that is assigning to all entries in the config table. These properties are the _core and the language.

The config_object datatype is defined in core.data_types.schema.yml and is including these two properties. By defining it as a config_object, it is still a mapping, but is extending the two core properties above.

The whole thing above, fails when a browser test is running and this module is required. Assertions regarding the schema integrity are ran and this breaks the tests.

Comments

idimopoulos created an issue. See original summary.

dimilias’s picture

Status: Active » Needs review
StatusFileSize
new320 bytes

Attaching a patch for this.

sardara’s picture

Status: Needs review » Reviewed & tested by the community

Very good explanation and patch is straightforward.

greggles’s picture

Is any kind of upgrade path needed? Or it's not needed because the installation just completely fails?

dimilias’s picture

No, no upgrade path is needed. Drupal assigns the extra properties which identify the specific config object for the specific file. The file is still imported in the databases despite the lack of proper schema structure.
This is because the assertions do not run at this point and I think that they also don't run during site installation or module enabling.
The browser test though runs those assertions.

As far as the .schema.yml files are concerned, a cache clear will include the new schema. There is no upgrade path needed for clearing the cache and furthermore it is not needed because this thing does not create issues with the production application. These assertions also do not run during http requests.

There are also modules to check the integrity of the schema files.

  • greggles committed e82a2b7 on 8.x-1.x authored by idimopoulos
    Issue #2983222 by idimopoulos: Wrong data type for the settings array
    
greggles’s picture

Status: Reviewed & tested by the community » Fixed

Great, thanks for the explanation!

Committed and pushed and I'll make a new stable beta2 release.

Status: Fixed » Closed (fixed)

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