code: def test_train_dry_run_failure(
      run_in_simple_project: Callable[..., RunResult]
  ):
      temp_dir = os.getcwd()
  
      domain = (
          "version: '" + LATEST_TRAINING_DATA_FORMAT_VERSION + "'\n"
          "session_config:\n"
          "  session_expiration_time: 60\n"
          "  carry_over_slots_to_new_session: true\n"
          "actions:\n"
          "- utter_greet\n"
          "- utter_cheer_up"
      )
  
      with open(os.path.join(temp_dir, "domain.yml"), "w") as f:
          f.write(domain)
  
      output = run_in_simple_project("train", "--dry-run")
  
      assert not any(
          [s for s in output.outlines if "No training required." in s]
      )
      assert (
          output.ret & CODE_NEEDS_TO_BE_RETRAINED
          == CODE_NEEDS_TO_BE_RETRAINED
      ) and (output.ret & CODE_FORCED_TRAINING != CODE_FORCED_TRAINING)
  
imports: import os
  import sys
  from pathlib import Path
  from _pytest.capture import CaptureFixture
  import pytest
  from typing import Callable, List
  from _pytest.pytester import RunResult
  from _pytest.tmpdir import TempPathFactory
  import rasa.shared.utils.io
  from rasa.constants import NUMBER_OF_TRAINING_STORIES_FILE
  from rasa.core.policies.policy import Policy
  from rasa.engine.storage.local_model_storage import LocalModelStorage
  from rasa.engine.storage.resource import Resource
  from rasa.shared.core.domain import Domain
  from rasa.model_training import CODE_NEEDS_TO_BE_RETRAINED, CODE_FORCED_TRAINING
  from rasa.shared.constants import LATEST_TRAINING_DATA_FORMAT_VERSION
  from rasa.shared.nlu.training_data.training_data import DEFAULT_TRAINING_DATA_OUTPUT_PATH
  import rasa.utils.io
  from tests.cli.conftest import RASA_EXE
label_desc: Use image node_id 8 for calling a global function with example usage: test_train_dry_run_failure(run_in_simple_project) without return types