@@ -25,12 +25,12 @@ def run_test_mtc(
2525 multiprocess = False , chunkless = False , recode = False , sharrow = False , extended = False
2626):
2727
28- def regress (ext ):
28+ def regress (ext , out_dir ):
2929 if ext :
3030 regress_trips_df = pd .read_csv (_test_path ("regress/final_trips-ext.csv" ))
3131 else :
3232 regress_trips_df = pd .read_csv (_test_path ("regress/final_trips.csv" ))
33- final_trips_df = pd .read_csv (_test_path ("output/ final_trips.csv" ))
33+ final_trips_df = pd .read_csv (_test_path (out_dir . joinpath ( " final_trips.csv") ))
3434
3535 # column order may not match, so fix it before checking
3636 assert sorted (regress_trips_df .columns ) == sorted (final_trips_df .columns )
@@ -65,12 +65,20 @@ def regress(ext):
6565 ]
6666 )
6767 elif chunkless :
68- run_args .extend (
69- [
70- "-c" ,
71- _test_path ("configs_chunkless" ),
72- ]
73- )
68+ if extended :
69+ run_args .extend (
70+ [
71+ "-c" ,
72+ _test_path ("ext-configs_chunkless" ),
73+ ]
74+ )
75+ else :
76+ run_args .extend (
77+ [
78+ "-c" ,
79+ _test_path ("configs_chunkless" ),
80+ ]
81+ )
7482 elif recode :
7583 run_args .extend (
7684 [
@@ -136,7 +144,7 @@ def regress(ext):
136144 else :
137145 subprocess .run ([sys .executable , file_path ] + run_args , check = True )
138146
139- regress (extended )
147+ regress (extended , Path ( out_dir ) )
140148
141149
142150def test_mtc ():
@@ -171,10 +179,6 @@ def test_mtc_mp_ext():
171179 run_test_mtc (multiprocess = True , extended = True )
172180
173181
174- def test_mtc_recode_ext ():
175- run_test_mtc (recode = True , extended = True )
176-
177-
178182def test_mtc_sharrow_ext ():
179183 run_test_mtc (sharrow = True , extended = True )
180184
@@ -244,6 +248,8 @@ def test_mtc_extended_progressive():
244248 output_dir = out_dir ,
245249 )
246250 state .filesystem .persist_sharrow_cache ()
251+ state .logging .config_logger ()
252+ state .settings .trace_hh_id = 1196298
247253
248254 assert state .settings .models == EXPECTED_MODELS
249255 assert state .settings .chunk_size == 0
@@ -263,6 +269,50 @@ def test_mtc_extended_progressive():
263269 print (f"> prototype_mtc_extended { step_name } : ok" )
264270
265271
272+ @testing .run_if_exists ("reference-pipeline-extended.zip" )
273+ def test_mtc_extended_progressive_chunkless ():
274+
275+ import activitysim .abm # register components # noqa: F401
276+
277+ out_dir = _test_path ("output-progressive-2" )
278+ Path (out_dir ).mkdir (exist_ok = True )
279+ Path (out_dir ).joinpath (".gitignore" ).write_text ("**\n " )
280+
281+ state = workflow .State .make_default (
282+ configs_dir = (
283+ _test_path ("configs_chunkless" ),
284+ _test_path ("ext-configs" ),
285+ _example_path ("ext-configs" ),
286+ _test_path ("configs" ),
287+ _example_path ("configs" ),
288+ ),
289+ data_dir = _example_path ("data" ),
290+ data_model_dir = _example_path ("data_model" ),
291+ output_dir = out_dir ,
292+ )
293+ state .filesystem .persist_sharrow_cache ()
294+ state .logging .config_logger ()
295+ state .settings .trace_hh_id = 1196298
296+
297+ assert state .settings .models == EXPECTED_MODELS
298+ assert state .settings .chunk_size == 0
299+ assert not state .settings .sharrow
300+
301+ for step_name in EXPECTED_MODELS :
302+ state .run .by_name (step_name )
303+ try :
304+ pass
305+ # state.checkpoint.check_against(
306+ # Path(__file__).parent.joinpath("reference-pipeline-extended.zip"),
307+ # checkpoint_name=step_name,
308+ # )
309+ except Exception :
310+ print (f"> prototype_mtc_extended { step_name } : ERROR" )
311+ raise
312+ else :
313+ print (f"> prototype_mtc_extended { step_name } : ok" )
314+
315+
266316if __name__ == "__main__" :
267317 run_test_mtc (multiprocess = False )
268318 run_test_mtc (multiprocess = True )
0 commit comments