code: def test_bit_shift_forward(
      seed, x_shape, shift_shape, direction, dtype, ctx, func_name
  ):
      from nbla_test_utils import function_tester
  
      rng = np.random.RandomState(seed)
      # np.iinfo(dtype).max is divided by 2 to aviod out of bounds err
      inputs = [
          rng.randint(0, np.iinfo(dtype).max // 2, x_shape).astype(
              dtype
          ),
          rng.randint(0, 128, shift_shape).astype(dtype),
      ]
      backward = [False, False]
      func_args = [direction]
      function_tester(
          rng,
          F.bit_shift,
          ref_bit_shift,
          inputs,
          func_name=func_name,
          func_args=func_args,
          ctx=ctx,
          backward=backward,
      )
  
imports: import pytest
  import numpy
  import nnabla.functions
  from nbla_test_utils import list_context
label_desc: Use image node_id 2 for calling a global function with example usage: test_bit_shift_forward(seed, x_shape, shift_shape, direction, dtype, ctx, func_name) without return types