class_docstr: Test cases for diagnostics infra.
class_docstr_tok: ["Test","cases","for","diagnostics","infra","."]
code: def test_diagnostic_log_is_emitted_when_level_not_less_than_diagnostic_options_verbosity_level(
      self,
  ):
      verbosity_level = logging.INFO
      self.context.options.verbosity_level = verbosity_level
      with self.context:
          diagnostic = infra.Diagnostic(
              self.rules.rule_without_message_args, infra.Level.NOTE
          )
  
          level_message_pairs = [
              (logging.INFO, "info message"),
              (logging.WARNING, "warning message"),
              (logging.ERROR, "error message"),
          ]
  
          for level, message in level_message_pairs:
              with self.assertLogs(
                  diagnostic.logger, level=verbosity_level
              ):
                  diagnostic.log(level, message)
  
          self.assertTrue(
              any(
                  message.find(message) >= 0
                  for message in diagnostic.additional_messages
              )
          )
  
imports: from __future__ import annotations
  import contextlib
  import dataclasses
  import io
  import logging
  import typing
  import unittest
  from typing import AbstractSet, Protocol, Tuple
  import torch
  from torch.onnx import errors
  from torch.onnx._internal import diagnostics
  from torch.onnx._internal.diagnostics import infra
  from torch.onnx._internal.diagnostics.infra import formatter, sarif
  from torch.onnx._internal.fx import diagnostics
  from torch.testing._internal import common_utils, logging_utils
label_desc: Use image node_id 4 for calling the TestDiagnosticsInfra obj's underlying member method code with example usage: obj.test_diagnostic_log_is_emitted_when_level_not_less_than_diagnostic_options_verbosity_level() without return types