Exemplo n.º 1
0
    def test_logfile_size_context_manager(self, tmp_path):
        base_filename = "mylogfile.ASC"
        max_bytes = 1024
        msg = generate_message(0x123)

        with can.SizedRotatingLogger(base_filename=tmp_path / base_filename,
                                     max_bytes=max_bytes) as logger_instance:
            for _ in range(128):
                logger_instance.on_message_received(msg)

            for file_path in os.listdir(tmp_path):
                assert os.path.getsize(os.path.join(tmp_path,
                                                    file_path)) <= 1100
Exemplo n.º 2
0
    def test_create_instance(self, tmp_path):
        base_filename = "mylogfile.ASC"
        max_bytes = 512

        logger_instance = can.SizedRotatingLogger(base_filename=tmp_path /
                                                  base_filename,
                                                  max_bytes=max_bytes)
        assert Path(logger_instance.base_filename).name == base_filename
        assert logger_instance.max_bytes == max_bytes
        assert logger_instance.rollover_count == 0
        assert isinstance(logger_instance.writer, can.ASCWriter)

        logger_instance.stop()
Exemplo n.º 3
0
    def test_create_instance(self):
        base_filename = "mylogfile.ASC"
        max_bytes = 512

        with tempfile.TemporaryDirectory() as temp_dir:
            logger_instance = can.SizedRotatingLogger(
                base_filename=os.path.join(temp_dir, base_filename),
                max_bytes=max_bytes)
            assert Path(logger_instance.base_filename).name == base_filename
            assert logger_instance.max_bytes == max_bytes
            assert logger_instance.rollover_count == 0
            assert isinstance(logger_instance.writer, can.ASCWriter)

            logger_instance.stop()
Exemplo n.º 4
0
    def test_logfile_size(self, tmp_path):
        base_filename = "mylogfile.ASC"
        max_bytes = 1024
        msg = generate_message(0x123)

        logger_instance = can.SizedRotatingLogger(base_filename=tmp_path /
                                                  base_filename,
                                                  max_bytes=max_bytes)
        for _ in range(128):
            logger_instance.on_message_received(msg)

        for file_path in os.listdir(tmp_path):
            assert os.path.getsize(tmp_path / file_path) <= 1100

        logger_instance.stop()
Exemplo n.º 5
0
    def test_logfile_size(self):
        base_filename = "mylogfile.ASC"
        max_bytes = 1024
        msg = generate_message(0x123)

        with tempfile.TemporaryDirectory() as temp_dir:
            logger_instance = can.SizedRotatingLogger(
                base_filename=os.path.join(temp_dir, base_filename),
                max_bytes=max_bytes)
            for _ in range(128):
                logger_instance.on_message_received(msg)

            for file_path in os.listdir(temp_dir):
                assert os.path.getsize(os.path.join(temp_dir,
                                                    file_path)) <= 1100

            logger_instance.stop()
Exemplo n.º 6
0
    def test_should_rollover(self, tmp_path):
        base_filename = "mylogfile.ASC"
        max_bytes = 512

        logger_instance = can.SizedRotatingLogger(base_filename=tmp_path /
                                                  base_filename,
                                                  max_bytes=max_bytes)
        msg = generate_message(0x123)
        do_rollover = Mock()
        logger_instance.do_rollover = do_rollover

        logger_instance.writer.file.tell = Mock(return_value=511)
        assert logger_instance.should_rollover(msg) is False
        logger_instance.on_message_received(msg)
        do_rollover.assert_not_called()

        logger_instance.writer.file.tell = Mock(return_value=512)
        assert logger_instance.should_rollover(msg) is True
        logger_instance.on_message_received(msg)
        do_rollover.assert_called()

        logger_instance.stop()
Exemplo n.º 7
0
    def test_should_rollover(self):
        base_filename = "mylogfile.ASC"
        max_bytes = 512

        with tempfile.TemporaryDirectory() as temp_dir:
            logger_instance = can.SizedRotatingLogger(
                base_filename=os.path.join(temp_dir, base_filename),
                max_bytes=max_bytes)
            msg = generate_message(0x123)
            do_rollover = Mock()
            logger_instance.do_rollover = do_rollover

            logger_instance.writer.file.tell = Mock(return_value=511)
            assert logger_instance.should_rollover(msg) is False
            logger_instance.on_message_received(msg)
            do_rollover.assert_not_called()

            logger_instance.writer.file.tell = Mock(return_value=512)
            assert logger_instance.should_rollover(msg) is True
            logger_instance.on_message_received(msg)
            do_rollover.assert_called()

            logger_instance.stop()