Open ThelloD opened 1 month ago
Thanks a lot for the report. We’re using a config parser that is not case sensitive and it changes the case to lowercase names. However values like profile lists in groups are kept as they are.
Since mixins operate on the object structure of the parsed config file, they apply only when the case matches correctly.
Other parts are less tricky and may still work correctly. With other words this requires fixing to be truly case insensitive.
As a workaround, at the moment all names should be kept lowercase to avoid the problem until it is fixed.
The
groups
section inprofiles.yaml
seems to be somewhat case sensitive and behaves inconsistently when profile names with upper case letters are used. Although parts of the specified profile are loaded, some parts aren't, and therefore resticprofile runs unexpectedly. Only tested with version 2 of the profile, so I don't know if version 1 is affected, too. Steps to reproduce are below.Exemplary config file:
Things to note:
TestProfile
is written with the identical upper and lower case letters.this-mixin-does-not-exist
which does not exist.Expectation: Resticprofile should load
TestProfile
but execution should fail because an undefined mixin is used.Contrary to the expected behavior, resticprofile runs the profile but ignores some declarations, such as the
use:
directive.Let's take a look at a slightly modified profile:
Here, the profile name in the
groups
section has been changed to lowercase (testprofile
). Everything else stayed unchanged, so the the profile name is stillTestProfile
.Now resticprofile also interprets the
use:
part and, as expected, an error message is shown that mixinthis-mixin-does-not-exist
could not be loaded.