@@ -185,6 +185,88 @@ def test_vara_cs_gen_specific(self):
185
185
)
186
186
self .assertEqual (len (case_study .revisions ), 2 )
187
187
188
+ @run_in_test_environment ()
189
+ def test_vara_cs_gen_release (self ):
190
+ """Test gen select_release."""
191
+ runner = CliRunner ()
192
+ Path (vara_cfg ()["paper_config" ]["folder" ].value + "/" +
193
+ "test_gen" ).mkdir ()
194
+ vara_cfg ()["paper_config" ]["current_config" ] = "test_gen"
195
+ result = runner .invoke (
196
+ driver_casestudy .main ,
197
+ ['gen' , '-p' , 'gravity' , 'select_release' , 'major' ]
198
+ )
199
+ self .assertEqual (0 , result .exit_code , result .exception )
200
+
201
+ @run_in_test_environment (
202
+ UnitTestFixtures .create_file_fixture (
203
+ TEST_INPUTS_DIR / "paper_configs/test_casestudy_status" ,
204
+ Path ("paper_configs/test_ext" )
205
+ )
206
+ )
207
+ def test_vara_cs_gen_to_extend (self ):
208
+ """Test the extend-functionality of vara-cs gen."""
209
+ runner = CliRunner ()
210
+ vara_cfg ()["paper_config" ]["current_config" ] = "test_ext"
211
+ save_config ()
212
+ load_paper_config ()
213
+ old_commit = 'ef364d3abc5647111c5424ea0d83a567e184a23b'
214
+ new_commit = '6c6da57ae2aa962aabde6892442227063d87e88c'
215
+ result = runner .invoke (
216
+ driver_casestudy .main ,
217
+ ['gen' , '-p' , 'xz' , 'select_specific' , new_commit ]
218
+ )
219
+ self .assertEqual (0 , result .exit_code , result .exception )
220
+ case_study_path = Path (
221
+ vara_cfg ()["paper_config" ]["folder" ].value +
222
+ "/test_ext/xz_0.case_study"
223
+ )
224
+ self .assertTrue (case_study_path .exists ())
225
+ case_study = load_case_study_from_file (case_study_path )
226
+ self .assertTrue (
227
+ case_study .revisions .__contains__ (FullCommitHash (old_commit ))
228
+ )
229
+ self .assertTrue (
230
+ case_study .revisions .__contains__ (FullCommitHash (new_commit ))
231
+ )
232
+ self .assertEqual (1 , case_study .num_stages )
233
+
234
+ @run_in_test_environment (
235
+ UnitTestFixtures .create_file_fixture (
236
+ TEST_INPUTS_DIR / "paper_configs/test_casestudy_status" ,
237
+ Path ("paper_configs/test_ext" )
238
+ )
239
+ )
240
+ def test_vara_cs_gen_to_extend_new_stage (self ):
241
+ """Test the extend-functionality of vara-cs gen."""
242
+ runner = CliRunner ()
243
+ vara_cfg ()["paper_config" ]["current_config" ] = "test_ext"
244
+ save_config ()
245
+ load_paper_config ()
246
+ old_commit = 'ef364d3abc5647111c5424ea0d83a567e184a23b'
247
+ new_commit = '6c6da57ae2aa962aabde6892442227063d87e88c'
248
+ result = runner .invoke (
249
+ driver_casestudy .main , [
250
+ 'gen' , '-p' , 'xz' , '--new-stage' , '--merge-stage' , 'test' ,
251
+ 'select_specific' , new_commit
252
+ ]
253
+ )
254
+ self .assertEqual (0 , result .exit_code , result .exception )
255
+ case_study_path = Path (
256
+ vara_cfg ()["paper_config" ]["folder" ].value +
257
+ "/test_ext/xz_0.case_study"
258
+ )
259
+ self .assertTrue (case_study_path .exists ())
260
+ case_study = load_case_study_from_file (case_study_path )
261
+ self .assertTrue (
262
+ case_study .revisions .__contains__ (FullCommitHash (old_commit ))
263
+ )
264
+ self .assertTrue (
265
+ case_study .revisions .__contains__ (FullCommitHash (new_commit ))
266
+ )
267
+ self .assertEqual (2 , case_study .num_stages )
268
+ self .assertEqual ('test' , case_study .stages [1 ].name )
269
+
188
270
@run_in_test_environment (
189
271
UnitTestFixtures .create_file_fixture (
190
272
TEST_INPUTS_DIR / "paper_configs/test_casestudy_status" ,
0 commit comments