code: def test_jax_gumbel(
      *,
      dtype_key,
      shape,
      dtype,
      on_device,
      fn_tree,
      frontend,
      test_flags,
      backend_fw,
  ):
      input_dtype, key = dtype_key
  
      def call():
          return helpers.test_frontend_function(
              input_dtypes=input_dtype,
              frontend=frontend,
              test_flags=test_flags,
              backend_to_test=backend_fw,
              fn_tree=fn_tree,
              on_device=on_device,
              test_values=False,
              key=key[0],
              shape=shape,
              dtype=dtype[0],
          )
  
      ret = call()
  
      if not ivy.exists(ret):
          return
  
      ret_np, ret_from_np = ret
      ret_np = helpers.flatten_and_to_np(ret=ret_np, backend=backend_fw)
      ret_from_np = helpers.flatten_and_to_np(
          ret=ret_from_np, backend=backend_fw
      )
      for u, v in zip(ret_np, ret_from_np):
          assert u.dtype == v.dtype
          assert u.shape == v.shape
  
imports: import pytest
  from hypothesis import strategies
  import ivy
  import numpy
  import sys
  import ivy_tests.test_ivy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
label_desc: Use image node_id 17 for calling a global function with example usage: test_jax_gumbel() and returns: helpers