@@ -21,25 +21,30 @@ class MinimalistPropertiesParser {
2121 val key = keyAny as String
2222 val value = valueAny as String
2323
24+ val supportedKeys = mutableListOf (PROFILES_PREFIX )
25+
26+ fun isKey (supportedKey : String ) = (key == supportedKey).also {
27+ supportedKeys.add(supportedKey)
28+ }
29+
2430 when {
25- key == " seed" -> seed = value.toIntOrErrorNotValid(key)
26- key == " offsetToDecidedOffset" -> offsetToDecidedOffset = value.toIntOrErrorNotValid(key)
31+ isKey( " seed" ) -> seed = value.toIntOrErrorNotValid(key)
32+ isKey( " offsetToDecidedOffset" ) -> offsetToDecidedOffset = value.toIntOrErrorNotValid(key)
2733
28- key == " maxArgs" -> maxArgs = value.toIntOrErrorNotValid(key)
29- key == " requestedMinArgs" -> requestedMinArgs = value.toIntOrErrorNotValid(key)
30- key == " activeArgsRangeDecider" -> activeArgsRangeDecider = value
31- key == " activeEnv" -> activeEnv = value
32- key == " defaultProfile" -> defaultProfile = value
34+ isKey( " maxArgs" ) -> maxArgs = value.toIntOrErrorNotValid(key)
35+ isKey( " requestedMinArgs" ) -> requestedMinArgs = value.toIntOrErrorNotValid(key)
36+ isKey( " activeArgsRangeDecider" ) -> activeArgsRangeDecider = value
37+ isKey( " activeEnv" ) -> activeEnv = value
38+ isKey( " defaultProfile" ) -> defaultProfile = value
3339
34- key == PROFILES -> {
40+ isKey( PROFILES ) -> {
3541 if (value == " clear" ) testProfiles.clear()
3642 else error(" don't know how to interpret $value for $key " )
3743 }
3844
3945 key.startsWith(PROFILES_PREFIX ) -> parseTestProfile(key, value)
4046
41-
42- else -> throwUnknownProperty(key, value)
47+ else -> throwUnknownProperty(key, value, supportedKeys)
4348 }
4449 }
4550 }
@@ -66,15 +71,19 @@ class MinimalistPropertiesParser {
6671 } else {
6772 val testConfig = when (remainingAfterProfile.substringAfter(" $env ." )) {
6873 " maxArgs" -> TestConfig (maxArgs = value.toPositiveIntOrErrorNotValid(key))
69- else -> throwUnknownProperty(key, value)
74+ else -> throwUnknownProperty(key, value, listOf ( " maxArgs " ) )
7075 }
71- testConfigsPerEnv.put( env, testConfig)
76+ testConfigsPerEnv[ env] = testConfig
7277 }
7378 }
7479 }
7580
76- private fun throwUnknownProperty (key : String , value : String ): Nothing {
77- error(" Unknown minimalist config property $key with value $value -- if you want to introduce custom config properties, then please open a feature request: $FEATURE_REQUEST_URL &title=custom%20config%20properties" )
81+ private fun throwUnknownProperty (key : String , value : String , supportedKeys : List <String >): Nothing {
82+ error(
83+ " Unknown minimalist config property $key with value $value -- if you want to introduce custom config properties, then please open a feature request: $FEATURE_REQUEST_URL &title=custom%20config%20properties\n Supported Keys: ${
84+ supportedKeys.sorted().joinToString(" , " )
85+ } "
86+ )
7887 }
7988
8089 companion object {
0 commit comments