Add testing suite for configuration precedence and omission testing#97
Add testing suite for configuration precedence and omission testing#97f4z3r wants to merge 4 commits intowasmCloud:mainfrom
Conversation
Relates-to: wasmCloud#16 Signed-off-by: Jakob Beckmann <f4z3r-github@pm.me>
Relates-to: wasmCloud#16 Signed-off-by: Jakob Beckmann <f4z3r-github@pm.me>
Relates-to: wasmCloud#16 Signed-off-by: Jakob Beckmann <f4z3r-github@pm.me>
|
|
||
| // Environment variables with WASH_ prefix | ||
| figment = figment.merge(Env::prefixed("WASH_")); | ||
| figment = figment.merge(Env::prefixed("WASH_").split("_")); |
There was a problem hiding this comment.
I am not quite done with the testing, but wanted to make sure this is desired. I have the feeling this is the typical way to do this, instead of using the default from figment (which is a dot - .).
Not setting this does not allow configurations via the env vars as shown in the test below (https://github.com/wasmCloud/wash/pull/97/files#diff-f7f9d11319f33b9af91da4ef6ce4b7111c1baceef1b82db506c4612ba6f808b1R356). If this is removed, the test fails as the splitting does not work on underscores.
There was a problem hiding this comment.
I will need to add a test on how this works on "multi-word" configuration options though such as here:
wash/crates/wash/src/component_build.rs
Line 48 in 0d7cde2
There was a problem hiding this comment.
I updated this to use two underscored (__) as the separator. Otherwise multi-word configurations cannot be parsed from the environment. This results in the following sample configuration via environment variables:
WASH_BUILD__RUST__CUSTOM_COMMAND="[cargo,build]"The only slightly weird stuff is the single underscore in the prefix. We could update that to a double underscore as well to have it be consistent. Or do you see any other separator instead of double underscore that might make sense (note single underscore will not work properly) @brooksmtownsend ? The figment default is a dot, but this is not supported properly in many shells AFAIK.
Relates-to: wasmCloud#16 Signed-off-by: Jakob Beckmann <f4z3r-github@pm.me>
|
Is it possible that the tests are slightly flaky? I am unsure I understand why the tests on Ubuntu fail. Regarding the tests on Windows, this is extremely weird. While the test CLI context creates a new temporary directory for every test that should host all files, it seems that on Windows some configurations are found in the test CLI context...? |
|
This repository has been merged into wasmCloud/wasmCloud. Please re-open this PR against wasmCloud/wasmCloud:main. |
Related Issues
#16
Consumer Impact
None