code: def check_shape(self, a_shape, b_shape):
      for xp, sp in ((numpy, scipy), (cupy, cupyx.scipy)):
          a = xp.random.rand(*a_shape)
          b = xp.random.rand(*b_shape)
          with pytest.raises(ValueError):
              sp.linalg.solve_triangular(
                  a,
                  b,
                  trans=self.trans,
                  lower=self.lower,
                  unit_diagonal=self.unit_diagonal,
                  overwrite_b=self.overwrite_b,
                  check_finite=self.check_finite,
              )
  
file_path: cupy/tests/cupyx_tests/scipy_tests/linalg_tests/test_solve_triangular.py
imports: import unittest
  import cupy
  from cupy import testing
  import cupyx.scipy.linalg
  import numpy
  import pytest
label_desc: Use image node_id 3 for calling the TestSolveTriangular obj's underlying member method code with example usage: obj.check_shape(a_shape, b_shape) without return types