code: def test_interval(distname, shapes):
      # gh-11026 reported that `interval` returns incorrect values when
      # `confidence=1`. The values were not incorrect, but it was not intuitive
      # that the left end of the interval should extend beyond the support of the
      # distribution. Confirm that this is the behavior for all distributions.
      if isinstance(distname, str):
          dist = getattr(stats, distname)
      else:
          dist = distname
      a, b = dist.support(*shapes)
      npt.assert_equal(dist.ppf([0, 1], *shapes), (a - 1, b))
      npt.assert_equal(dist.isf([1, 0], *shapes), (a - 1, b))
      npt.assert_equal(dist.interval(1, *shapes), (a - 1, b))
  
imports: import numpy.testing
  from numpy.testing import assert_allclose
  import numpy
  import pytest
  from scipy import stats
  from .common_tests import check_normalization, check_moment, check_mean_expect, check_var_expect, check_skew_expect, check_kurt_expect, check_entropy, check_private_entropy, check_edge_support, check_named_args, check_random_state_property, check_pickling, check_rvs_broadcast, check_freezing
  from scipy.stats._distr_params import distdiscrete, invdistdiscrete
  from scipy.stats._distn_infrastructure import rv_discrete_frozen
label_desc: Use image node_id 18 for calling a global function with example usage: test_interval(distname, shapes) without return types