ENVIRONMENT_MODIFICATION

於 3.22 版本新增。

指定在執行測試時應修改的環境變數。請注意,此屬性執行的操作是在 ENVIRONMENT 屬性已套用之後才執行。

設定為以 分號分隔的列表,其中包含環境變數和值的格式 MYVAR=OP:VALUE,其中 MYVAR 是要修改的環境變數的區分大小寫的名稱。 條目會按照屬性值中指定的順序進行考慮。OP 可以是下列之一:

  • reset:重設為未修改的值,忽略此條目之前對 MYVAR 的所有修改。請注意,這會將變數重設為由 ENVIRONMENT 設定的值(如果已設定),否則重設為 CTest 執行的其餘部分的狀態。

  • set:將 MYVAR 的目前值替換為 VALUE

  • unset:取消設定 MYVAR 的目前值。

  • string_append:將單個 VALUE 附加到 MYVAR 的目前值。

  • string_prepend:將單個 VALUE 附加到 MYVAR 的目前值。

  • path_list_append:使用主機平台的路徑列表分隔符號(Windows 上為 ;,其他地方為 :)將單個 VALUE 附加到 MYVAR 的目前值。

  • path_list_prepend:使用主機平台的路徑列表分隔符號(Windows 上為 ;,其他地方為 :)將單個 VALUE 附加到 MYVAR 的目前值。

  • cmake_list_append:使用 ; 作為分隔符號,將單個 VALUE 附加到 MYVAR 的目前值。

  • cmake_list_prepend:使用 ; 作為分隔符號,將單個 VALUE 附加到 MYVAR 的目前值。

無法識別的 OP 值將導致測試在執行前失敗。這是為了可以在不變更現有測試的有效行為的情況下新增未來操作。

此屬性所做的環境變更不會影響其他測試。