''' Package logger namespace regression tests. ''' import pytest from piker.log import ( get_console_log, get_logger, ) @pytest.mark.parametrize( 'factory', [ get_logger, get_console_log, ], ) @pytest.mark.parametrize( 'name', [ 'piker.service._daemon', 'piker.paper', ], ) def test_package_logger_name( factory, name: str, ): ''' `str.lstrip('piker.')` treated the package prefix as a set of removable characters. A submodule beginning with any of those characters, such as `piker.paper`, was silently renamed to `piker.aper`, while service code asserted a stale parent name. Exercise both logger factories with service and prefix-sensitive submodule names, proving they retain the exact requested package namespace. ''' log = factory(name=name) assert log.name == name