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 值將導致測試在執行之前失敗。 這是為了可以在不變更現有測試的有效行為的情況下新增未來的操作。

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