code: def test_numpy_matmul(
      dtypes_values_casting,
      frontend,
      test_flags,
      fn_tree,
      backend_fw,
      on_device,
  ):
      dtypes, x, casting, dtype = dtypes_values_casting
      helpers.test_frontend_function(
          input_dtypes=dtypes,
          backend_to_test=backend_fw,
          frontend=frontend,
          test_flags=test_flags,
          fn_tree=fn_tree,
          on_device=on_device,
          x1=x[0],
          x2=x[1],
          out=None,
          casting=casting,
          order="K",
          dtype=dtype,
          # The arguments below are currently unused.
          # subok=True,
      )
  
file_path: ivy/ivy_tests/test_ivy/test_frontends/test_numpy/test_linalg/test_matrix_and_vector_products.py
imports: from hypothesis import strategies
  import numpy
  import ivy_tests.test_ivy.helpers
  import ivy_tests.test_ivy.test_frontends.test_numpy.helpers
  from ivy_tests.test_ivy.helpers import handle_frontend_test
  from ivy_tests.test_ivy.test_functional.test_core.test_linalg import _get_first_matrix_and_dtype, _get_second_matrix_and_dtype, _get_dtype_value1_value2_axis_for_tensordot
  from ivy_tests.test_ivy.test_functional.test_experimental.test_core.test_linalg import _generate_multi_dot_dtype_and_arrays
label_desc: Use image node_id 7 for calling a global function with example usage: test_numpy_matmul(dtypes_values_casting, frontend, test_flags, fn_tree, backend_fw, on_device) without return types