github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/pkg/platform/runtime/envdef/runtime_test_cases.json (about) 1 [ 2 { 3 "name": "inherit prepend", 4 "definitions": [ 5 { 6 "env": [ 7 { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "prepend" } 8 ], 9 "installdir": "installdir" 10 } 11 ], 12 "base_env": { 13 "KEY": "a:b" 14 }, 15 "result": { 16 "KEY": "a:c:d:a:b" 17 } 18 }, 19 { 20 "name": "inherit append", 21 "definitions": [ 22 { 23 "env": [ 24 { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "append" } 25 ], 26 "installdir": "installdir" 27 } 28 ], 29 "base_env": { 30 "KEY": "a:b" 31 }, 32 "result": { 33 "KEY": "a:b:a:c:d" 34 } 35 }, 36 { 37 "name": "no inheritance", 38 "definitions": [ 39 { 40 "env": [ 41 { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": false, "join": "append" } 42 ], 43 "installdir": "installdir" 44 } 45 ], 46 "base_env": { 47 "KEY": "a:b" 48 }, 49 "result": { 50 "KEY": "a:c:d" 51 } 52 }, 53 { 54 "name": "merge prepend", 55 "definitions": [ 56 { 57 "env": [ 58 { "values": [ "a", "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "prepend" } 59 ], 60 "installdir": "installdir" 61 }, 62 { 63 "env": [ 64 { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "prepend" } 65 ], 66 "installdir": "installdir" 67 } 68 ], 69 "base_env": {}, 70 "result": { 71 "KEY": "a:c:d:b" 72 } 73 }, 74 { 75 "name": "merge append", 76 "definitions": [ 77 { 78 "env": [ { "values": [ "a", "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "append" } ], 79 "installdir": "installdir" 80 }, 81 { 82 "env": [ { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "append" } ], 83 "installdir": "installdir" 84 } 85 ], 86 "base_env": {}, 87 "result": { 88 "KEY": "b:a:c:d" 89 } 90 }, 91 { 92 "name": "prepend to runtime with append strategy", 93 "definitions": [ 94 { 95 "env": [ { "values": [ "a", "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "append" } ], 96 "installdir": "installdir" 97 }, 98 { 99 "env": [ { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "prepend" } ], 100 "installdir": "installdir" 101 } 102 ], 103 "base_env": {"KEY": "V"}, 104 "result": { 105 "KEY": "a:c:d:b:V" 106 } 107 }, 108 { 109 "name": "append to runtime with prepend strategy", 110 "definitions": [ 111 { 112 "env": [ { "values": [ "a", "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "prepend" } ], 113 "installdir": "installdir" 114 }, 115 { 116 "env": [ { "values": [ "a", "c", "d" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "append" } ], 117 "installdir": "installdir" 118 } 119 ], 120 "base_env": {"KEY": "V"}, 121 "result": { 122 "KEY": "V:b:a:c:d" 123 } 124 }, 125 { 126 "name": "acceptable merge of disallowed join", 127 "definitions": [ 128 { 129 "env": [ 130 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 131 ], 132 "installdir": "installdir" 133 }, 134 { 135 "env": [ 136 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 137 ], 138 "installdir": "installdir" 139 } 140 ], 141 "base_env": {}, 142 "result": { 143 "KEY": "a" 144 } 145 }, 146 { 147 "name": "conflicting disallowed join (two many values 1)", 148 "definitions": [ 149 { 150 "env": [ 151 { "values": [ "a", "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 152 ], 153 "installdir": "installdir" 154 }, 155 { 156 "env": [ 157 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 158 ], 159 "installdir": "installdir" 160 } 161 ], 162 "base_env": {}, 163 "error": true 164 }, 165 { 166 "name": "conflicting disallowed join (two many values 2)", 167 "definitions": [ 168 { 169 "env": [ 170 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 171 ], 172 "installdir": "installdir" 173 }, 174 { 175 "env": [ 176 { "values": [ "a", "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 177 ], 178 "installdir": "installdir" 179 } 180 ], 181 "base_env": {}, 182 "error": true 183 }, 184 { 185 "name": "conflicting disallowed join (differing values)", 186 "definitions": [ 187 { 188 "env": [ 189 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 190 ], 191 "installdir": "installdir" 192 }, 193 { 194 "env": [ 195 { "values": [ "b" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 196 ], 197 "installdir": "installdir" 198 } 199 ], 200 "base_env": {}, 201 "error": true 202 }, 203 { 204 "name": "conflicting separators", 205 "definitions": [ 206 { 207 "env": [ 208 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "prepend" } 209 ], 210 "installdir": "installdir" 211 }, 212 { 213 "env": [ 214 { "values": [ "b" ], "env_name": "KEY", "separator": ";", "inherit": true, "join": "prepend" } 215 ], 216 "installdir": "installdir" 217 } 218 ], 219 "base_env": {}, 220 "error": true 221 }, 222 { 223 "name": "conflicting disallowed join (conflict with base environment)", 224 "definitions": [ 225 { 226 "env": [ 227 { "values": [ "a" ], "env_name": "KEY", "separator": ":", "inherit": true, "join": "disallowed" } 228 ], 229 "installdir": "installdir" 230 } 231 ], 232 "base_env": { 233 "KEY": "b" 234 }, 235 "error": true 236 }, 237 { 238 "name": "complex setup", 239 "definitions": [ 240 { 241 "env": [ 242 { "values": [ "a", "c", "d" ], "env_name": "A", "separator": ":", "inherit": true, "join": "prepend" }, 243 { "values": [ "ba", "bc" ], "env_name": "B", "separator": "|", "inherit": false, "join": "prepend" }, 244 { "values": [ "ca" ], "env_name": "C", "separator": "", "inherit": true, "join": "disallowed" }, 245 { "values": [ "da" ], "env_name": "D", "separator": "", "inherit": false, "join": "disallowed" } 246 ], 247 "installdir": "installdir" 248 }, 249 { 250 "env": [ 251 { "values": [ "ba", "bc" ], "env_name": "B", "separator": "|", "inherit": false, "join": "append" }, 252 { "values": [ "da" ], "env_name": "D", "separator": "", "inherit": false, "join": "disallowed" } 253 ], 254 "installdir": "installdir" 255 }, 256 { 257 "env": [ 258 { "values": [ "a", "b" ], "env_name": "A", "separator": ":", "inherit": true, "join": "prepend" }, 259 { "values": [ "da" ], "env_name": "D", "separator": "", "inherit": false, "join": "disallowed" }, 260 { "values": [ "ea" ], "env_name": "E", "separator": "", "inherit": true, "join": "disallowed" }, 261 { "values": [ "bb", "bc" ], "env_name": "B", "separator": "|", "inherit": false, "join": "append" } 262 ], 263 "installdir": "installdir" 264 } 265 ], 266 "base_env": { 267 "A": "c:e", 268 "B": "bc|bg", 269 "D": "da", 270 "E": "ea", 271 "OTHER": "something" 272 }, 273 "result": { 274 "A": "a:b:c:d:c:e", 275 "B": "ba|bb|bc", 276 "C": "ca", 277 "D": "da", 278 "E": "ea" 279 } 280 } 281 ]