from loguru import logger import sqlmem def test_add_sink_idempotent_no_duplicate_lines(): """Calling add_sink twice for the same sink must not duplicate log lines.""" sqlmem._added_sinks.clear() msgs: list[str] = [] sink = lambda message: msgs.append(str(message)) # noqa: E731 try: sqlmem.add_sink(sink, level="DEBUG", colorize=False) sqlmem.add_sink(sink, level="DEBUG", colorize=False) # second call: no-op assert len(sqlmem._added_sinks) == 1 # Emit one record that passes the "sqlmem" name filter. logger.patch(lambda r: r.update(name="sqlmem")).info("hello sqlmem") assert sum("hello sqlmem" in m for m in msgs) == 1 finally: for handler_id in sqlmem._added_sinks.values(): logger.remove(handler_id) sqlmem._added_sinks.clear() logger.disable("sqlmem") # restore the default-silent state for other tests