33import random
44import shutil
55import sys
6+ import tempfile
67import traceback
78
89sys .path .insert (0 , os .path .abspath (os .path .join (os .path .dirname (__file__ ), ".." )))
@@ -72,6 +73,16 @@ def test_run_submission(self):
7273 )
7374 task_list .append (task )
7475
76+ for ii in range (2 ):
77+ task = Task (
78+ command = f"mkdir -p out_dir{ ii } && touch out_dir{ ii } /out{ ii } " ,
79+ task_work_path = "./" ,
80+ forward_files = [],
81+ backward_files = [f"out_dir{ ii } " ],
82+ outlog = f"out_dir{ ii } .txt" ,
83+ )
84+ task_list .append (task )
85+
7586 # test space in file name
7687 task_list .append (
7788 Task (
@@ -90,6 +101,11 @@ def test_run_submission(self):
90101 backward_common_files = [],
91102 task_list = task_list ,
92103 )
104+ # test override directory
105+ os .makedirs (
106+ os .path .join (self .machine_dict ["local_root" ], "test_dir" , "out_dir1" ),
107+ exist_ok = True ,
108+ )
93109 submission .run_submission (check_interval = 2 )
94110
95111 for ii in range (4 ):
@@ -251,6 +267,23 @@ def test_async_run_submission(self):
251267 return super ().test_async_run_submission ()
252268
253269
270+ @unittest .skipIf (sys .platform == "win32" , "Shell is not supported on Windows" )
271+ class TestLocalContext (RunSubmission , unittest .TestCase ):
272+ def setUp (self ):
273+ super ().setUp ()
274+ self .temp_dir = tempfile .TemporaryDirectory ()
275+ self .machine_dict ["context_type" ] = "LocalContext"
276+ self .machine_dict ["remote_root" ] = self .temp_dir .name
277+
278+ def tearDown (self ):
279+ super ().tearDown ()
280+ self .temp_dir .cleanup ()
281+
282+ @unittest .skipIf (sys .platform == "darwin" , "TODO: Error on macos" )
283+ def test_async_run_submission (self ):
284+ return super ().test_async_run_submission ()
285+
286+
254287@unittest .skipIf (sys .platform == "win32" , "Shell is not supported on Windows" )
255288class TestLazyLocalContext (RunSubmission , unittest .TestCase ):
256289 def setUp (self ):
0 commit comments