code: def test_bytecode_values_for_all_backport_functions(self):
      # Find the maximum version of the checked in models, start backporting to the minimum support version,
      # and comparing the bytecode pkl content.
      # It can't be merged to the test `test_all_backport_functions`, because optimization is dynamic and
      # the content might change when optimize function changes. This test focuses
      # on bytecode.pkl content validation. For the content validation, it is not byte to byte check, but
      # regular expression matching. The wildcard can be used to skip some specific content comparison.
      maximum_checked_in_model_version = max(
          SCRIPT_MODULE_BYTECODE_PKL.keys()
      )
      current_from_version = maximum_checked_in_model_version
  
      with tempfile.TemporaryDirectory() as tmpdirname:
          while current_from_version > MINIMUM_TO_VERSION:
              # Load model v5 and run forward method
              model_name = SCRIPT_MODULE_BYTECODE_PKL[
                  current_from_version
              ]["model_name"]
              input_model_path = (
                  pytorch_test_dir / "cpp" / "jit" / model_name
              )
  
              # A temporary model file will be export to this path, and run through bytecode.pkl
              # content check.
              tmp_output_model_path_backport = Path(
                  tmpdirname, "tmp_script_module_backport.ptl"
              )
  
              current_to_version = current_from_version - 1
              backport_success = _backport_for_mobile(
                  input_model_path,
                  tmp_output_model_path_backport,
                  current_to_version,
              )
              assert backport_success
  
              expect_bytecode_pkl = SCRIPT_MODULE_BYTECODE_PKL[
                  current_to_version
              ]["bytecode_pkl"]
  
              buf = io.StringIO()
              torch.utils.show_pickle.main(
                  [
                      "",
                      tmpdirname
                      + "/"
                      + tmp_output_model_path_backport.name
                      + "@*/bytecode.pkl",
                  ],
                  output_stream=buf,
              )
              output = buf.getvalue()
  
              acutal_result_clean = "".join(output.split())
              expect_result_clean = "".join(expect_bytecode_pkl.split())
              isMatch = fnmatch.fnmatch(
                  acutal_result_clean, expect_result_clean
              )
              assert isMatch
  
              current_from_version -= 1
          shutil.rmtree(tmpdirname)
  
file_path: pytorch/test/mobile/test_bytecode.py
imports: import fnmatch
  import io
  import shutil
  import tempfile
  import torch
  import torch.utils.show_pickle
  from torch.jit.mobile import _load_for_lite_interpreter, _get_mobile_model_contained_types, _get_model_bytecode_version, _get_model_ops_and_info, _backport_for_mobile_to_buffer, _backport_for_mobile
  from torch.testing._internal.common_utils import TestCase, run_tests
  from pathlib import Path
label_desc: Use image node_id 2 for calling the testVariousModelVersions obj's underlying member method code with example usage: obj.test_bytecode_values_for_all_backport_functions() without return types