code: def test_rerun_commit_message_check():
      assert_raises(
          ValueError,
          get_run_info,
          None,
          """\
  [DATALAD RUNCMD] no command
  
  === Do not change lines below ===
  {
   "pwd": ".",
   "exit": 0
  }
  ^^^ Do not change lines above ^^^""",
      )
  
      assert_raises(
          ValueError,
          get_run_info,
          None,
          """\
  [DATALAD RUNCMD] junk json
  
  === Do not change lines below ===
  {
   "pwd": ".,
   "cmd": "echo ok >okfile",
   "exit": 0
  }
  ^^^ Do not change lines above ^^^""",
      )
  
      subject, info = get_run_info(
          None,
          """\
  [DATALAD RUNCMD] fine
  
  === Do not change lines below ===
  {
   "pwd": ".",
   "cmd": "echo ok >okfile",
   "exit": 0
  }
  ^^^ Do not change lines above ^^^""",
      )
      eq_(subject, "fine")
      assert_dict_equal(
          info, {"pwd": ".", "cmd": "echo ok >okfile", "exit": 0}
      )
  
imports: import logging
  import os.path
  import sys
  from io import StringIO
  from os import remove
  import pytest
  from unittest.mock import patch
  from datalad.api import install, run
  from datalad.core.local.run import run_command
  from datalad.core.local.tests.test_run import last_commit_msg
  from datalad.distribution.dataset import Dataset
  from datalad.local.rerun import diff_revision, get_run_info, new_or_modified
  from datalad.support.exceptions import CommandError, IncompleteResultsError
  from datalad.support.gitrepo import GitRepo
  from datalad.tests.utils_pytest import DEFAULT_BRANCH, DEFAULT_REMOTE, SkipTest, assert_dict_equal, assert_false, assert_in, assert_in_results, assert_not_in, assert_not_in_results, assert_raises, assert_repo_status, assert_result_count, assert_status, create_tree, eq_, known_failure_windows, neq_, ok_, ok_exists, ok_file_has_content, ok_file_under_git, skip_if_adjusted_branch, slow, swallow_logs, swallow_outputs, with_tempfile, with_tree
  from datalad.utils import Path, chpwd, on_windows
label_desc: Use image node_id 20 for calling a global function with example usage: test_rerun_commit_message_check() without return types