code: def test_tri_nonconcrete():
      """JAX cannot JIT-compile `jax.numpy.tri` when arguments are not concrete values."""
  
      m, n, k = (
          scalar("a", dtype="int64"),
          scalar("n", dtype="int64"),
          scalar("k", dtype="int64"),
      )
      m.tag.test_value = 10
      n.tag.test_value = 10
      k.tag.test_value = 0
  
      out = ptb.tri(m, n, k)
  
      # The actual error the user will see should be jax.errors.ConcretizationTypeError, but
      # the error handler raises an Attribute error first, so that's what this test needs to pass
      with pytest.raises(AttributeError):
          fgraph = FunctionGraph([m, n, k], [out])
          compare_jax_and_py(
              fgraph, [get_test_value(i) for i in fgraph.inputs]
          )
  
imports: import numpy
  import pytest
  from pytensor.compile import get_mode
  import jax.errors
  import pytensor
  import pytensor.tensor.basic
  from pytensor.configdefaults import config
  from pytensor.graph.fg import FunctionGraph
  from pytensor.graph.op import get_test_value
  from pytensor.tensor.type import iscalar, matrix, scalar, vector
  from tests.link.jax.test_basic import compare_jax_and_py
  from tests.tensor.test_basic import TestAlloc
label_desc: Use image node_id 10 for calling a global function with example usage: test_tri_nonconcrete() without return types