Beispiel #1
0
 def test_data_five_marks(self):
     self.timer = timer.Timer()
     for i in range(5):
         self.timer.mark(str(i))
     assert len(self.timer.data['marks']) == 5
     assert [m['message'] for m in self.timer.data['marks']] == \
         ['0', '1', '2', '3', '4']
Beispiel #2
0
 def test_data_one_mark(self):
     self.timer = timer.Timer()
     # Avoid failing if ~1ms elapses between these two calls
     self.timer.precision = 2
     self.timer.mark()
     assert len(self.timer.data['marks']) == 1
     assert self.timer.data['marks'][0]['interval'] == 0
     assert self.timer.data['marks'][0]['message'] == ''
Beispiel #3
0
 def test_write(self):
     _path = '/path'
     _safe_dump = MagicMock(name='safe_dump')
     with patch('teuthology.timer.yaml.safe_dump', _safe_dump):
         with patch('teuthology.timer.open', mock_open(), create=True) as _open:
             self.timer = timer.Timer(path=_path)
             assert self.timer.path == _path
             self.timer.write()
             _open.assert_called_once_with(_path, 'w')
             _safe_dump.assert_called_once_with(
                 dict(),
                 _open.return_value.__enter__.return_value,
                 default_flow_style=False,
             )
Beispiel #4
0
 def test_write(self):
     _path = '/path'
     _safe_dump = MagicMock(name='safe_dump')
     with patch('teuthology.timer.yaml.safe_dump', _safe_dump):
         with patch('teuthology.timer.file') as _file:
             _file.return_value = MagicMock(spec=file)
             self.timer = timer.Timer(path=_path)
             assert self.timer.path == _path
             self.timer.write()
             _file.assert_called_once_with(_path, 'w')
             _safe_dump.assert_called_once_with(
                 dict(),
                 _file.return_value.__enter__.return_value,
                 default_flow_style=False,
             )
Beispiel #5
0
 def test_sync(self):
     _path = '/path'
     _safe_dump = MagicMock(name='safe_dump')
     with patch('teuthology.timer.yaml.safe_dump', _safe_dump):
         with patch('teuthology.timer.file') as _file:
             _file.return_value = MagicMock(spec=file)
             self.timer = timer.Timer(path=_path, sync=True)
             assert self.timer.path == _path
             assert self.timer.sync is True
             self.timer.mark()
             _file.assert_called_once_with(_path, 'w')
             _safe_dump.assert_called_once_with(
                 self.timer.data,
                 _file.return_value.__enter__.return_value,
                 default_flow_style=False,
             )
Beispiel #6
0
    def test_intervals(self):
        fake_time = MagicMock()
        with patch('teuthology.timer.time.time', fake_time):
            self.timer = timer.Timer()
            now = start_time = fake_time.return_value = time()
            intervals = [0, 1, 1, 2, 3, 5, 8]
            for i in intervals:
                now += i
                fake_time.return_value = now
                self.timer.mark(str(i))

        summed_intervals = [sum(intervals[:x + 1]) for x in range(len(intervals))]
        result_intervals = [m['interval'] for m in self.timer.data['marks']]
        assert result_intervals == summed_intervals
        assert self.timer.data['start'] == \
            self.timer.get_datetime_string(start_time)
        assert self.timer.data['end'] == \
            self.timer.get_datetime_string(start_time + summed_intervals[-1])
        assert [m['message'] for m in self.timer.data['marks']] == \
            [str(i) for i in intervals]
        assert self.timer.data['elapsed'] == summed_intervals[-1]
Beispiel #7
0
 def test_data_empty(self):
     self.timer = timer.Timer()
     assert self.timer.data == dict()