@@ -98,7 +98,7 @@ def env(self, tmp_path): # noqa: ARG002
98
98
env ["PYTHONIOENCODING" ] = "utf-8"
99
99
env ["PATH" ] = os .pathsep .join ([dirname (sys .executable ), * env .get ("PATH" , "" ).split (os .pathsep )])
100
100
# clear up some environment variables so they don't affect the tests
101
- for key in [k for k in env if k .startswith (("_OLD" , "VIRTUALENV_" ))]:
101
+ for key in [k for k in env if k .startswith (("_OLD" , "VIRTUALENV_" )) or k == "PKG_CONFIG_PATH" ]:
102
102
del env [key ]
103
103
return env
104
104
@@ -115,17 +115,20 @@ def _get_test_lines(self, activate_script):
115
115
self .print_python_exe (),
116
116
self .print_os_env_var ("VIRTUAL_ENV" ),
117
117
self .print_os_env_var ("VIRTUAL_ENV_PROMPT" ),
118
+ self .print_os_env_var ("PKG_CONFIG_PATH" ),
118
119
self .activate_call (activate_script ),
119
120
self .print_python_exe (),
120
121
self .print_os_env_var ("VIRTUAL_ENV" ),
121
122
self .print_os_env_var ("VIRTUAL_ENV_PROMPT" ),
123
+ self .print_os_env_var ("PKG_CONFIG_PATH" ),
122
124
self .print_prompt (),
123
125
# \\ loads documentation from the virtualenv site packages
124
126
self .pydoc_call ,
125
127
self .deactivate ,
126
128
self .print_python_exe (),
127
129
self .print_os_env_var ("VIRTUAL_ENV" ),
128
130
self .print_os_env_var ("VIRTUAL_ENV_PROMPT" ),
131
+ self .print_os_env_var ("PKG_CONFIG_PATH" ),
129
132
"" , # just finish with an empty new line
130
133
]
131
134
@@ -134,23 +137,28 @@ def assert_output(self, out, raw, tmp_path):
134
137
assert out [0 ], raw
135
138
assert out [1 ] == "None" , raw
136
139
assert out [2 ] == "None" , raw
140
+ assert out [3 ] == "None" , raw
137
141
# post-activation
138
142
expected = self ._creator .exe .parent / os .path .basename (sys .executable )
139
- assert self .norm_path (out [3 ]) == self .norm_path (expected ), raw
140
- assert self .norm_path (out [4 ]) == self .norm_path (self ._creator .dest ).replace ("\\ \\ " , "\\ " ), raw
141
- assert out [5 ] == self ._creator .env_name
143
+ assert self .norm_path (out [4 ]) == self .norm_path (expected ), raw
144
+ assert self .norm_path (out [5 ]) == self .norm_path (self ._creator .dest ).replace ("\\ \\ " , "\\ " ), raw
145
+ assert out [6 ] == self ._creator .env_name
146
+ pkg_config_path = self ._creator .dest / "lib" / "pkgconfig"
147
+ assert self .norm_path (out [7 ]) == self .norm_path (pkg_config_path ), raw
148
+
142
149
# Some attempts to test the prompt output print more than 1 line.
143
150
# So we need to check if the prompt exists on any of them.
144
151
prompt_text = f"({ self ._creator .env_name } ) "
145
- assert any (prompt_text in line for line in out [6 : - 4 ]), raw
152
+ assert any (prompt_text in line for line in out [8 : - 5 ]), raw
146
153
147
- assert out [- 4 ] == "wrote pydoc_test.html" , raw
154
+ assert out [- 5 ] == "wrote pydoc_test.html" , raw
148
155
content = tmp_path / "pydoc_test.html"
149
156
assert content .exists (), raw
150
157
# post deactivation, same as before
151
- assert out [- 3 ] == out [0 ], raw
158
+ assert out [- 4 ] == out [0 ], raw
159
+ assert out [- 3 ] == "None" , raw
152
160
assert out [- 2 ] == "None" , raw
153
- assert out [- 1 ] == "None" , raw
161
+ assert out [- 1 ] in { "None" , "" } , raw
154
162
155
163
def quote (self , s ):
156
164
return self .of_class .quote (s )
0 commit comments