code: def test_device_function_recursive(self):
      @jit.rawkernel()
      def f(x, y, z):
          tid = jit.threadIdx.x
          z[tid] = g(x[tid], y[tid])
  
      @jit.rawkernel(device=True)
      def g(x, y):
          return x + y + g(x, y)
  
      x = testing.shaped_random((30,), dtype=numpy.int32, seed=0)
      y = testing.shaped_random((30,), dtype=numpy.int32, seed=1)
      z = testing.shaped_random((30,), dtype=numpy.int32, seed=2)
      with pytest.raises(ValueError):
          f((1,), (30,), (x, y, z))
  
file_path: cupy/tests/cupyx_tests/jit_tests/test_device_function.py
imports: import unittest
  import numpy
  import pytest
  import cupy
  from cupyx import jit
  from cupy import testing
label_desc: Use image node_id 3 for calling the TestDeviceFunction obj's underlying member method code with example usage: obj.test_device_function_recursive() and returns: unknown