pytest-cmake 0.5.2__tar.gz → 0.6.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pytest-cmake
3
- Version: 0.5.2
3
+ Version: 0.6.0
4
4
  Summary: Provide CMake module for Pytest
5
5
  Author-email: Jeremy Retailleau <jeremy.retailleau@gmail.com>
6
6
  License: MIT License
@@ -60,41 +60,35 @@ if (Pytest_FOUND AND NOT TARGET Pytest::Pytest)
60
60
  "LIBRARY_PATH_PREPEND;PYTHON_PATH_PREPEND;ENVIRONMENT;DEPENDS"
61
61
  )
62
62
 
63
- # Set library path depending on the platform.
63
+ # Identify library path environment name depending on the platform.
64
64
  if (CMAKE_SYSTEM_NAME STREQUAL Windows)
65
- set(LIB_ENV_PATH PATH)
66
- set(_env_sep "\\\;")
65
+ set(LIBRARY_ENV_NAME PATH)
67
66
  elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
68
- set(LIB_ENV_PATH DYLD_LIBRARY_PATH)
69
- set(_env_sep ":")
67
+ set(LIBRARY_ENV_NAME DYLD_LIBRARY_PATH)
70
68
  else()
71
- set(LIB_ENV_PATH LD_LIBRARY_PATH)
72
- set(_env_sep ":")
69
+ set(LIBRARY_ENV_NAME LD_LIBRARY_PATH)
73
70
  endif()
74
71
 
75
- # Convert all paths into cmake paths.
76
- cmake_path(CONVERT "$ENV{${LIB_ENV_PATH}}" TO_CMAKE_PATH_LIST libpath)
77
- cmake_path(CONVERT "$ENV{PYTHONPATH}" TO_CMAKE_PATH_LIST pythonpath)
72
+ # Sanitize all paths for CMake.
73
+ cmake_path(CONVERT "$ENV{${LIBRARY_ENV_NAME}}" TO_CMAKE_PATH_LIST LIBRARY_PATH)
74
+ cmake_path(CONVERT "$ENV{PYTHONPATH}" TO_CMAKE_PATH_LIST PYTHON_PATH)
78
75
 
79
- # Prepend input path to environment variables
76
+ # Prepend input path to environment variables.
80
77
  if (_LIBRARY_PATH_PREPEND)
81
78
  list(REVERSE _LIBRARY_PATH_PREPEND)
82
79
  foreach (_path ${_LIBRARY_PATH_PREPEND})
83
- set(libpath "${_path}" "${libpath}")
80
+ set(LIBRARY_PATH "${_path}" "${LIBRARY_PATH}")
84
81
  endforeach()
85
82
  endif()
86
83
 
87
84
  if (_PYTHON_PATH_PREPEND)
88
85
  list(REVERSE _PYTHON_PATH_PREPEND)
89
86
  foreach (_path ${_PYTHON_PATH_PREPEND})
90
- set(pythonpath "${_path}" "${pythonpath}")
87
+ set(PYTHON_PATH "${_path}" "${PYTHON_PATH}")
91
88
  endforeach()
92
89
  endif()
93
90
 
94
- # Convert list into string.
95
- list(JOIN libpath "${_env_sep}" libpath)
96
- list(JOIN pythonpath "${_env_sep}" pythonpath)
97
-
91
+ # Default working directory to current build path if none is provided.
98
92
  if (NOT _WORKING_DIRECTORY)
99
93
  set(_WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
100
94
  endif()
@@ -116,9 +110,9 @@ if (Pytest_FOUND AND NOT TARGET Pytest::Pytest)
116
110
  -D "PYTEST_EXECUTABLE=${PYTEST_EXECUTABLE}"
117
111
  -D "TEST_GROUP_NAME=${NAME}"
118
112
  -D "BUNDLE_TESTS=${_BUNDLE_TESTS}"
119
- -D "LIB_ENV_PATH=${LIB_ENV_PATH}"
120
- -D "LIBRARY_PATH=${libpath}"
121
- -D "PYTHON_PATH=${pythonpath}"
113
+ -D "LIBRARY_ENV_NAME=${LIBRARY_ENV_NAME}"
114
+ -D "LIBRARY_PATH=${LIBRARY_PATH}"
115
+ -D "PYTHON_PATH=${PYTHON_PATH}"
122
116
  -D "TRIM_FROM_NAME=${_TRIM_FROM_NAME}"
123
117
  -D "WORKING_DIRECTORY=${_WORKING_DIRECTORY}"
124
118
  -D "ENVIRONMENT=${_ENVIRONMENT}"
@@ -6,10 +6,17 @@ if(CMAKE_SCRIPT_MODE_FILE)
6
6
  # Set Cmake test file to execute each test.
7
7
  set(_content "")
8
8
 
9
- # Ensure that list environment variables are
10
- # represented as a string on Windows.
11
- string(REPLACE [[;]] [[\;]] LIBRARY_PATH "${LIBRARY_PATH}")
12
- string(REPLACE [[;]] [[\;]] PYTHON_PATH "${PYTHON_PATH}")
9
+ cmake_path(CONVERT "${LIBRARY_PATH}" TO_NATIVE_PATH_LIST LIBRARY_PATH)
10
+ cmake_path(CONVERT "${PYTHON_PATH}" TO_NATIVE_PATH_LIST PYTHON_PATH)
11
+
12
+ # Serialize path values separated by semicolons (required on Windows).
13
+ macro(encode_value VARIABLE_NAME)
14
+ string(REPLACE [[\]] [[\\]] ${VARIABLE_NAME} "${${VARIABLE_NAME}}")
15
+ string(REPLACE [[;]] [[\\;]] ${VARIABLE_NAME} "${${VARIABLE_NAME}}")
16
+ endmacro()
17
+
18
+ encode_value(LIBRARY_PATH)
19
+ encode_value(PYTHON_PATH)
13
20
 
14
21
  if (BUNDLE_TESTS)
15
22
  string(APPEND _content
@@ -19,7 +26,7 @@ if(CMAKE_SCRIPT_MODE_FILE)
19
26
  ")\n"
20
27
  "set_tests_properties(\n"
21
28
  " \"${TEST_GROUP_NAME}\" PROPERTIES\n"
22
- " ENVIRONMENT \"${LIB_ENV_PATH}=${LIBRARY_PATH}\"\n"
29
+ " ENVIRONMENT \"${LIBRARY_ENV_NAME}=${LIBRARY_PATH}\"\n"
23
30
  ")\n"
24
31
  "set_tests_properties(\n"
25
32
  " \"${TEST_GROUP_NAME}\"\n"
@@ -29,6 +36,7 @@ if(CMAKE_SCRIPT_MODE_FILE)
29
36
  )
30
37
 
31
38
  foreach(env ${ENVIRONMENT})
39
+ encode_value(env)
32
40
  string(APPEND _content
33
41
  "set_tests_properties(\n"
34
42
  " \"${TEST_GROUP_NAME}\"\n"
@@ -40,7 +48,7 @@ if(CMAKE_SCRIPT_MODE_FILE)
40
48
 
41
49
  else()
42
50
  # Set environment for collecting tests.
43
- set(ENV{${LIB_ENV_PATH}} "${LIBRARY_PATH}")
51
+ set(ENV{${LIBRARY_ENV_NAME}} "${LIBRARY_PATH}")
44
52
  set(ENV{PYTHONPATH} "${PYTHON_PATH}")
45
53
  set(ENV{PYTHONWARNINGS} "ignore")
46
54
 
@@ -99,7 +107,7 @@ if(CMAKE_SCRIPT_MODE_FILE)
99
107
  ")\n"
100
108
  "set_tests_properties(\n"
101
109
  " \"${test_name}\" PROPERTIES\n"
102
- " ENVIRONMENT \"${LIB_ENV_PATH}=${LIBRARY_PATH}\"\n"
110
+ " ENVIRONMENT \"${LIBRARY_ENV_NAME}=${LIBRARY_PATH}\"\n"
103
111
  ")\n"
104
112
  "set_tests_properties(\n"
105
113
  " \"${test_name}\"\n"
@@ -109,6 +117,7 @@ if(CMAKE_SCRIPT_MODE_FILE)
109
117
  )
110
118
 
111
119
  foreach(env ${ENVIRONMENT})
120
+ encode_value(env)
112
121
  string(APPEND _content
113
122
  "set_tests_properties(\n"
114
123
  " \"${test_name}\"\n"
@@ -9,7 +9,7 @@ backend-path = ["."]
9
9
 
10
10
  [project]
11
11
  name = "pytest-cmake"
12
- version = "0.5.2"
12
+ version = "0.6.0"
13
13
  description = "Provide CMake module for Pytest"
14
14
  readme = "README.md"
15
15
  requires-python = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4"
@@ -60,7 +60,7 @@ class CreateCmakeConfig(install):
60
60
 
61
61
  setup(
62
62
  name="pytest-cmake",
63
- version="0.5.2",
63
+ version="0.6.0",
64
64
  data_files=[
65
65
  (
66
66
  "share/Pytest/cmake",
File without changes
File without changes
File without changes