code: def test_line_info(func: str):
      try:
          _, _ = _path_to_binary("nvdisasm")
      except BaseException:
          pytest.skip("nvdisasm is not available")
  
      shape = (128,)
      kernel_info = {}
      if func == "single":
          kernel_info = kernel_single.warmup(
              torch.float32, torch.float32, BLOCK=shape[0], grid=(1,)
          )
      elif func == "call":
          kernel_info = kernel_call.warmup(
              torch.float32, torch.float32, BLOCK=shape[0], grid=(1,)
          )
      elif func == "call_noinline":
          kernel_info = kernel_call_noinline.warmup(
              torch.float32, torch.float32, BLOCK=shape[0], grid=(1,)
          )
      elif func == "multi_files":
          kernel_info = kernel_multi_files.warmup(
              torch.float32, torch.float32, BLOCK=shape[0], grid=(1,)
          )
      elif func == "autotune":
          kernel_info = kernel_autotune.warmup(
              torch.float32, torch.float32, SIZE=shape[0], grid=(1,)
          )[0]
      elif func == "dot_combine":
          kernel_info = kernel_dot_combine.warmup(20, grid=(1,))
  
      file_lines = extract_file_lines(kernel_info.asm["cubin"])
      if func == "single":
          assert check_file_lines(file_lines, "test_line_info.py", 16)
          assert check_file_lines(file_lines, "test_line_info.py", 17)
      elif func == "call":
          assert check_file_lines(file_lines, "test_line_info.py", 29)
          assert check_file_lines(file_lines, "test_line_info.py", 22)
          assert check_file_lines(file_lines, "test_line_info.py", 31)
      elif func == "call_noinline":
          assert check_file_lines(file_lines, "test_line_info.py", 43)
          assert check_file_lines(file_lines, "test_line_info.py", 36)
          assert check_file_lines(file_lines, "test_line_info.py", 37)
          assert check_file_lines(file_lines, "test_line_info.py", 38)
      elif func == "multi_files":
          assert check_file_lines(file_lines, "test_line_info.py", 48)
          assert check_file_lines(file_lines, "test_line_info.py", 50)
          assert check_file_lines(file_lines, "standard.py", 33)
          assert check_file_lines(file_lines, "standard.py", 34)
          assert check_file_lines(file_lines, "standard.py", 36)
      elif func == "autotune":
          assert check_file_lines(file_lines, "test_line_info.py", 60)
          assert check_file_lines(file_lines, "test_line_info.py", 61)
          assert check_file_lines(file_lines, "test_line_info.py", 62)
          assert check_file_lines(file_lines, "test_line_info.py", 63)
      elif func == "dot_combine":
          assert check_file_lines(file_lines, "test_line_info.py", 73)
          assert check_file_lines(
              file_lines, "test_line_info.py", 74, should_contain=False
          )
  
file_path: triton/python/test/unit/language/test_line_info.py
imports: import subprocess
  import tempfile
  import pytest
  import torch
  import triton
  import triton.language
  from triton.backends.nvidia.compiler import _path_to_binary
label_desc: Use image node_id 11 for calling a global function with example usage: test_line_info(func) without return types