@@ -257,9 +257,65 @@ def test_prepare_emodel_dir():
257257
258258
259259@attr ('unit' )
260- def test_prepare_emodel_dirs ():
261- """prepare_combos.prepare_emodel_dirs: test prepare_emodel_dirs
262- based on test example 'simple1'.
260+ def test_prepare_emodel_dirs_single_process ():
261+ """prepare_combos.prepare_emodel_dirs_single_process:
262+ test prepare_emodel_dirs based on test example 'simple1
263+ using a single process'.
264+ """
265+ # create test directory, where output of this test will be created
266+ test_dir = os .path .join (TMP_DIR , 'test_prepare_emodel_dirs' )
267+ tools .makedirs (test_dir )
268+
269+ # input parameters
270+ final_dict = {'emodel1' : {'main_path' : '.' ,
271+ 'seed' : 2 ,
272+ 'rank' : 0 ,
273+ 'notes' : '' ,
274+ 'branch' : 'emodel1' ,
275+ 'params' : {'cm' : 1.0 },
276+ 'fitness' : {'Step1.SpikeCount' : 20.0 },
277+ 'score' : 104.72906197480131 ,
278+ 'morph_path' : 'morphologies/morph1.asc' },
279+ 'emodel2' : {'main_path' : '.' ,
280+ 'seed' : 2 ,
281+ 'rank' : 0 ,
282+ 'notes' : '' ,
283+ 'branch' : 'emodel2' ,
284+ 'params' : {'cm' : 0.5 },
285+ 'fitness' : {'Step1.SpikeCount' : 20.0 },
286+ 'score' : 104.72906197480131 ,
287+ 'morph_path' : 'morphologies/morph2.asc' }}
288+ emodel_etype_map = {'emodel1' : {'mm_recipe' : 'emodel1' ,
289+ 'etype' : 'etype1' ,
290+ 'layer' : ['1' , 'str1' ]},
291+ 'emodel2' : {'mm_recipe' : 'emodel2' ,
292+ 'etype' : 'etype2' ,
293+ 'layer' : ['1' , '2' ]}}
294+ emodels_dir = os .path .join (test_dir , 'tmp/emodels/' )
295+ opt_dir = os .path .join (TEST_DATA_DIR , 'data/emodels_dir/subdir/' )
296+ emodels_hoc_dir = os .path .join (test_dir , './output/emodels_hoc/' )
297+ emodels_in_repo = False
298+ continu = False
299+
300+ # run function
301+ with tools .cd (TEST_DATA_DIR ):
302+ ret = prepare_emodel_dirs .prepare_emodel_dirs (
303+ final_dict , emodel_etype_map , emodels_dir , opt_dir ,
304+ emodels_hoc_dir , emodels_in_repo , continu , n_processes = 1 )
305+
306+ # verify output
307+ expected_ret = {emodel : os .path .join (
308+ emodels_dir , emodel ) for emodel in final_dict }
309+ nt .assert_dict_equal (ret , expected_ret )
310+ nt .assert_true (os .path .isdir (emodels_dir ))
311+ nt .assert_true (os .path .isdir (emodels_hoc_dir ))
312+
313+
314+ @attr ('unit' )
315+ def test_prepare_emodel_dirs_multi_process ():
316+ """prepare_combos.prepare_emodel_dirs_multi_process:
317+ test prepare_emodel_dirs based on test example 'simple1'
318+ using multiprocessing.
263319 """
264320 # create test directory, where output of this test will be created
265321 test_dir = os .path .join (TMP_DIR , 'test_prepare_emodel_dirs' )
@@ -300,7 +356,7 @@ def test_prepare_emodel_dirs():
300356 with tools .cd (TEST_DATA_DIR ):
301357 ret = prepare_emodel_dirs .prepare_emodel_dirs (
302358 final_dict , emodel_etype_map , emodels_dir , opt_dir ,
303- emodels_hoc_dir , emodels_in_repo , continu )
359+ emodels_hoc_dir , emodels_in_repo , continu , n_processes = None )
304360
305361 # verify output
306362 expected_ret = {emodel : os .path .join (
0 commit comments