예제 #1
0
    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)
예제 #2
0
 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())
예제 #3
0
파일: test_monitor.py 프로젝트: DeDop/dedop
 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())
예제 #4
0
    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)
예제 #5
0
 def test_child_monitor(self):
     monitor = ConsoleMonitor()
     child_monitor = monitor.child(7.5)
     self.assertIsInstance(child_monitor, ChildMonitor)
예제 #6
0
 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)
예제 #7
0
    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)
예제 #8
0
파일: test_monitor.py 프로젝트: DeDop/dedop
 def test_child_monitor(self):
     monitor = ConsoleMonitor()
     child_monitor = monitor.child(7.5)
     self.assertIsInstance(child_monitor, ChildMonitor)
예제 #9
0
파일: test_monitor.py 프로젝트: DeDop/dedop
 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)
예제 #10
0
파일: test_monitor.py 프로젝트: DeDop/dedop
    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)