@@ -98,7 +98,7 @@ def env(self, tmp_path): # noqa: ARG002
9898 env ["PYTHONIOENCODING" ] = "utf-8"
9999 env ["PATH" ] = os .pathsep .join ([dirname (sys .executable ), * env .get ("PATH" , "" ).split (os .pathsep )])
100100 # 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" ]:
102102 del env [key ]
103103 return env
104104
@@ -115,17 +115,20 @@ def _get_test_lines(self, activate_script):
115115 self .print_python_exe (),
116116 self .print_os_env_var ("VIRTUAL_ENV" ),
117117 self .print_os_env_var ("VIRTUAL_ENV_PROMPT" ),
118+ self .print_os_env_var ("PKG_CONFIG_PATH" ),
118119 self .activate_call (activate_script ),
119120 self .print_python_exe (),
120121 self .print_os_env_var ("VIRTUAL_ENV" ),
121122 self .print_os_env_var ("VIRTUAL_ENV_PROMPT" ),
123+ self .print_os_env_var ("PKG_CONFIG_PATH" ),
122124 self .print_prompt (),
123125 # \\ loads documentation from the virtualenv site packages
124126 self .pydoc_call ,
125127 self .deactivate ,
126128 self .print_python_exe (),
127129 self .print_os_env_var ("VIRTUAL_ENV" ),
128130 self .print_os_env_var ("VIRTUAL_ENV_PROMPT" ),
131+ self .print_os_env_var ("PKG_CONFIG_PATH" ),
129132 "" , # just finish with an empty new line
130133 ]
131134
@@ -134,23 +137,28 @@ def assert_output(self, out, raw, tmp_path):
134137 assert out [0 ], raw
135138 assert out [1 ] == "None" , raw
136139 assert out [2 ] == "None" , raw
140+ assert out [3 ] == "None" , raw
137141 # post-activation
138142 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+
142149 # Some attempts to test the prompt output print more than 1 line.
143150 # So we need to check if the prompt exists on any of them.
144151 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
146153
147- assert out [- 4 ] == "wrote pydoc_test.html" , raw
154+ assert out [- 5 ] == "wrote pydoc_test.html" , raw
148155 content = tmp_path / "pydoc_test.html"
149156 assert content .exists (), raw
150157 # 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
152160 assert out [- 2 ] == "None" , raw
153- assert out [- 1 ] == "None" , raw
161+ assert out [- 1 ] in { "None" , "" } , raw
154162
155163 def quote (self , s ):
156164 return self .of_class .quote (s )
0 commit comments