@@ -95,7 +95,7 @@ def edit_local_project_all_caps(
9595
9696
9797@skip_too_old_setuptools
98- def test_venv_create (
98+ def test_venv_create_pip (
9999 tmpdir , # type: Tempdir
100100 local_project , # type: str
101101):
@@ -115,6 +115,91 @@ def test_venv_create(
115115 assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
116116
117117
118+ @pytest .fixture
119+ def pex_lock (
120+ tmpdir , # type: Tempdir
121+ local_project , # type: str
122+ ):
123+ # type: (...) -> str
124+ pex_lock = tmpdir .join ("lock.json" )
125+ run_pex3 ("lock" , "create" , local_project , "--indent" , "2" , "-o" , pex_lock ).assert_success ()
126+ return pex_lock
127+
128+
129+ @skip_too_old_setuptools
130+ def test_venv_create_pex_lock (
131+ tmpdir , # type: Tempdir
132+ pex_lock , # type: str
133+ local_project , # type: str
134+ ):
135+ # type: (...) -> None
136+
137+ venv_dir = tmpdir .join ("venv" )
138+ run_pex3 ("venv" , "create" , "--lock" , pex_lock , "-d" , venv_dir ).assert_success ()
139+ local_project_script = Virtualenv (venv_dir ).bin_path ("local-project" )
140+
141+ assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
142+ edit_local_project_all_caps (local_project , all_caps = True )
143+ assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
144+
145+ run_pex3 (
146+ "venv" ,
147+ "create" ,
148+ "--override=-e local_project @ {local_project}" .format (local_project = local_project ),
149+ "--lock" ,
150+ pex_lock ,
151+ "-d" ,
152+ venv_dir ,
153+ "--force" ,
154+ ).assert_success ()
155+ assert b"FOO" == subprocess .check_output (args = [local_project_script , "foo" ])
156+ edit_local_project_all_caps (local_project , all_caps = False )
157+ assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
158+
159+
160+ @pytest .fixture
161+ def pylock (
162+ tmpdir , # type: Tempdir
163+ pex_lock , # type: str
164+ ):
165+ # type: (...) -> str
166+ pylock = tmpdir .join ("pylock.toml" )
167+ # pep-751
168+ run_pex3 ("lock" , "export" , "--format" , "pep-751" , "-o" , pylock , pex_lock ).assert_success ()
169+ return pylock
170+
171+
172+ @skip_too_old_setuptools
173+ def test_venv_create_pylock (
174+ tmpdir , # type: Tempdir
175+ pylock , # type: str
176+ local_project , # type: str
177+ ):
178+ # type: (...) -> None
179+
180+ venv_dir = tmpdir .join ("venv" )
181+ run_pex3 ("venv" , "create" , "--pylock" , pylock , "-d" , venv_dir ).assert_success ()
182+ local_project_script = Virtualenv (venv_dir ).bin_path ("local-project" )
183+
184+ assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
185+ edit_local_project_all_caps (local_project , all_caps = True )
186+ assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
187+
188+ run_pex3 (
189+ "venv" ,
190+ "create" ,
191+ "--override=-e local_project @ file:{local_project}" .format (local_project = local_project ),
192+ "--pylock" ,
193+ pylock ,
194+ "-d" ,
195+ venv_dir ,
196+ "--force" ,
197+ ).assert_success ()
198+ assert b"FOO" == subprocess .check_output (args = [local_project_script , "foo" ])
199+ edit_local_project_all_caps (local_project , all_caps = False )
200+ assert b"foo" == subprocess .check_output (args = [local_project_script , "foo" ])
201+
202+
118203@skip_too_old_setuptools
119204def test_run (
120205 tmpdir , # type: Tempdir
0 commit comments