def test_remove_input_files(self): self.manager.create_workspace('ernie_ws') input_dir = os.path.join(WORKSPACES_DIR, 'ernie_ws', 'inputs') self.createWorkspaceSubDir(input_dir) self.createWorkspaceFile(input_dir, 'input1.nc') self.createWorkspaceFile(input_dir, 'input2.nc') self.createWorkspaceFile(input_dir, 'input3.nc') self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input1.nc', expected=True) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input2.nc', expected=True) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input3.nc', expected=True) self.manager.remove_inputs( 'ernie_ws', ['input1.nc'], ConsoleMonitor(stay_in_line=True, progress_bar_size=32)) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input1.nc', expected=False) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input2.nc', expected=True) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input3.nc', expected=True) self.manager.remove_inputs( 'ernie_ws', ['input2.nc', 'input3.nc'], ConsoleMonitor(stay_in_line=True, progress_bar_size=32)) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input1.nc', expected=False) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input2.nc', expected=False) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'input3.nc', expected=False)
def test_cancel(self): m = ConsoleMonitor() with fetch_std_streams(): m.start('task A', total_work=10) self.assertFalse(m.is_cancelled()) m.cancel() self.assertTrue(m.is_cancelled())
def test_add_inputs(self): self.manager.create_workspace('ernie_ws') input_path = os.path.join(WORKSPACES_DIR, 'ernie_ws', 'test-input.nc') self.createWorkspaceFile('ernie_ws', 'test-input.nc') self.manager.add_inputs( 'ernie_ws', [input_path], ConsoleMonitor(stay_in_line=True, progress_bar_size=32)) self.assertIsWorkspaceFile('ernie_ws', 'inputs', 'test-input.nc', expected=True)
def test_child_monitor(self): monitor = ConsoleMonitor() child_monitor = monitor.child(7.5) self.assertIsInstance(child_monitor, ChildMonitor)
def test_label_req(self): monitor = ConsoleMonitor() with fetch_std_streams(): with self.assertRaises(ValueError): # "ValueError: label must be given" monitor.start('', total_work=10)
def test_console_monitor(self): m = ConsoleMonitor() with fetch_std_streams() as (stdout, stderr): m.start('task A', total_work=10) m.progress(work=1) m.progress(work=5, msg='phase 1') m.progress(msg='phase 2') m.progress(work=4) m.progress() m.done() actual_stdout = stdout.getvalue() expected_stdout = 'task A: started\n' + \ 'task A: 10%\n' + \ 'task A: 60% phase 1\n' + \ 'task A: phase 2\n' + \ 'task A: 100%\n' + \ 'task A: progress\n' + \ 'task A: done\n' self.assertEqual(actual_stdout, expected_stdout) self.assertEqual(stderr.getvalue(), '') self.assertTrue(True)