class_docstr: BenchmarkRunner is responsible for benchmarking all the registered
  benchmark test groups.
  
  Attributes:
      tag_filter (str): control the benchmarks which matches the tag.
      operator (str): only run benchmark test cases that contains
  this filter string in the test case's id.
      test_name (str): only run benchmark test cases that matches this filter,
      this is a case-sensitive substring match and it happens in
      the _keep_test method.
class_docstr_tok: ["BenchmarkRunner","is","responsible","for","benchmarking","all","the","registered","benchmark","test","groups",".","Attributes",":","tag_filter","(","str",")",":","control","the","benchmarks","which","matches","the","tag",".","operator","(","str",")",":","only","run","benchmark","test","cases","that","contains","this","filter","string","in","the","test","case","'s","id",".","test_name","(","str",")",":","only","run","benchmark","test","cases","that","matches","this","filter",",","this","is","a","case-sensitive","substring","match","and","it","happens","in","the","_keep_test","method","."]
code: def _print_test_case_info(self, test_case):
      # Print out the test name and skip the real execution
      if self.args.list_tests:
          print(f"# {test_case.test_config.test_name}")
          return True
      elif self.args.list_ops:
          if self.args.operators is None:
              op_name = test_case.op_bench.module_name()
  
              if op_name not in self.printed_ops_list:
                  print(f"# {op_name}")
                  self.printed_ops_list.add(op_name)
          return True
  
      return False
  
imports: import ast
  import copy
  import functools
  import json
  import timeit
  from collections import namedtuple
  import benchmark_utils
  import numpy
  import torch
  import torch.utils.cpp_extension
label_desc: Use image node_id 13 for calling the BenchmarkRunner obj's underlying member method code with example usage: obj._print_test_case_info(test_case) and returns: False, True, True