async def METHOD_NAME(
        pytestconfig,
        create_daemon_scope,
        service_env,
        service_http_ping_url,
        service_config_path_temp,
        service_config_yaml,
        service_binary,
        service_non_http_health_checks,
        testsuite_logger,
        _userver_log_handler,
):
    """
    Configures the health checking to use service_http_ping_url fixture value
    if it is not None; otherwise uses the service_non_http_health_checks info.
    Starts the service daemon.
    @ingroup userver_testsuite_fixtures
    """
    assert service_http_ping_url or service_non_http_health_checks.tcp, (
        '"service_http_ping_url" and "create_health_checker" fixtures '
        'returned None. Testsuite is unable to detect if the service is ready '
        'to accept requests.',
    )
    logger_testsuite.debug(
        'userver fixture "service_daemon" would check for "%s"',
        service_non_http_health_checks,
    )
    async def _checker(*, session, process) -> bool:
        logger_testsuite.debug(
            'userver fixture "service_daemon" is about to start "%s" checks',
            service_non_http_health_checks,
        )
        result = await net.check_availability(service_non_http_health_checks)
        logger_testsuite.debug(
            'userver fixture "service_daemon" checked "%s" and got "%s"',
            service_non_http_health_checks,
            result,
        )
        return result
    health_check = _checker
    if service_http_ping_url:
        health_check = None
    async with create_daemon_scope(
            args=[
                str(service_binary),
                '--config',
                str(service_config_path_temp),
            ],
            ping_url=service_http_ping_url,
            health_check=health_check,
            env=service_env,
            stderr_handler=_userver_log_handler,
    ) as scope:
        yield scope