code: def test_parse_commit_message(self):
      assert parse_commit_message("Normal commit") == {
          "skip": False,
          "no_filter": False,
          "test_all": False,
      }
  
      assert parse_commit_message("[skip ci] commit") == {
          "skip": True,
          "no_filter": False,
          "test_all": False,
      }
      assert parse_commit_message("[ci skip] commit") == {
          "skip": True,
          "no_filter": False,
          "test_all": False,
      }
      assert parse_commit_message("[skip-ci] commit") == {
          "skip": True,
          "no_filter": False,
          "test_all": False,
      }
      assert parse_commit_message("[skip_ci] commit") == {
          "skip": True,
          "no_filter": False,
          "test_all": False,
      }
  
      assert parse_commit_message("[no filter] commit") == {
          "skip": False,
          "no_filter": True,
          "test_all": False,
      }
      assert parse_commit_message("[no-filter] commit") == {
          "skip": False,
          "no_filter": True,
          "test_all": False,
      }
      assert parse_commit_message("[no_filter] commit") == {
          "skip": False,
          "no_filter": True,
          "test_all": False,
      }
      assert parse_commit_message("[filter-no] commit") == {
          "skip": False,
          "no_filter": True,
          "test_all": False,
      }
  
      assert parse_commit_message("[test all] commit") == {
          "skip": False,
          "no_filter": False,
          "test_all": True,
      }
      assert parse_commit_message("[all test] commit") == {
          "skip": False,
          "no_filter": False,
          "test_all": True,
      }
      assert parse_commit_message("[test-all] commit") == {
          "skip": False,
          "no_filter": False,
          "test_all": True,
      }
      assert parse_commit_message("[all_test] commit") == {
          "skip": False,
          "no_filter": False,
          "test_all": True,
      }
  
imports: import os
  import shutil
  import sys
  import tempfile
  import unittest
  from contextlib import contextmanager
  from pathlib import Path
  from git import Repo
  from transformers.testing_utils import CaptureStdout
  import tests_fetcher
  from tests_fetcher import checkout_commit, clean_code, create_module_to_test_map, create_reverse_dependency_map, create_reverse_dependency_tree, diff_is_docstring_only, extract_imports, get_all_tests, get_diff, get_module_dependencies, get_tree_starting_at, infer_tests_to_run, init_test_examples_dependencies, parse_commit_message, print_tree_deps_of
label_desc: Use image node_id 19 for calling the TestFetcherTester obj's underlying member method code with example usage: obj.test_parse_commit_message() without return types