code: def test_aux(getkey):
      a = jrandom.normal(getkey(), (2, 3))
  
      @eqx.filter_grad(has_aux=True)
      def f(x):
          return jnp.sum(x), "hi"
  
      grad, aux = f(a)
      assert aux == "hi"
      assert jnp.all(grad == 1)
  
      @eqx.filter_value_and_grad(has_aux=True)
      def g(x):
          return jnp.sum(x), "hi"
  
      (value, aux), grad = g(a)
      assert value == jnp.sum(a)
      assert aux == "hi"
      assert jnp.all(grad == 1)
  
imports: import warnings
  from typing import Union
  import equinox
  import jax
  import jax.numpy
  import jax.random
  import jax.tree_util
  import numpy
  import pytest
  from .helpers import tree_allclose
label_desc: Use image node_id 3 for calling a global function with example usage: test_aux(getkey) and returns: jnp,  str, jnp,  str