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  ]