Assorted fixes for tests on Windows. (#11079)
Progress on https://github.com/iree-org/iree/issues/11009 (see some test
runs of a `build_test_all_windows` CI job on
https://github.com/iree-org/iree/pull/11050)
* Tag `simple_embedding_vulkan_test` as using Vulkan, so it can be
filtered
* Initialize a struct in pack_test.cc
* Fix PYTHONPATH separator for iree_local_py_test on Windows (while
keeping CMake happy)
diff --git a/build_tools/cmake/iree_python.cmake b/build_tools/cmake/iree_python.cmake
index 1b64c60..647bc1c 100644
--- a/build_tools/cmake/iree_python.cmake
+++ b/build_tools/cmake/iree_python.cmake
@@ -234,19 +234,25 @@
${_RULE_ARGS}
)
+ set_property(TEST ${_NAME_PATH} PROPERTY LABELS "${_RULE_LABELS}")
+ set_property(TEST ${_NAME_PATH} PROPERTY TIMEOUT ${_RULE_ARGS})
+
+ # Extend the PYTHONPATH environment variable with _RULE_PACKAGE_DIRS.
list(APPEND _RULE_PACKAGE_DIRS "$ENV{PYTHONPATH}")
- string(JOIN ":" _PYTHONPATH ${_RULE_PACKAGE_DIRS})
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ # Windows uses semi-colon delimiters, but so does CMake, so escape them.
+ list(JOIN _RULE_PACKAGE_DIRS "\\;" _PYTHONPATH)
+ else()
+ list(JOIN _RULE_PACKAGE_DIRS ":" _PYTHONPATH)
+ endif()
+ set_property(TEST ${_NAME_PATH} PROPERTY ENVIRONMENT
+ "PYTHONPATH=${_PYTHONPATH}"
+ )
if (NOT DEFINED _RULE_TIMEOUT)
set(_RULE_TIMEOUT 60)
endif()
- set_property(TEST ${_NAME_PATH} PROPERTY LABELS "${_RULE_LABELS}")
- set_property(TEST ${_NAME_PATH} PROPERTY TIMEOUT ${_RULE_ARGS})
-
- set_property(TEST ${_NAME_PATH} PROPERTY ENVIRONMENT
- "PYTHONPATH=${_PYTHONPATH}"
- )
iree_configure_test(${_NAME_PATH})
# TODO(marbre): Find out how to add deps to tests.