code: def test_run(valid_bm, valid_configs):
      bm = valid_bm
  
      assert list(bm.result.keys()) == list(valid_configs.keys())
      for config_name, config in bm.result.items():
          assert set(config.keys()) == {
              "pipeline_params",
              "rolling_evaluation",
          }
  
          rolling_evaluation = config["rolling_evaluation"]
          assert set(rolling_evaluation.keys()) == {
              "split_0",
              "split_1",
              "split_2",
          }
  
          for split_key, split_value in rolling_evaluation.items():
              assert set(split_value.keys()) == {
                  "runtime_sec",
                  "pipeline_result",
              }
  
              runtime_sec = split_value["runtime_sec"]
              assert round(runtime_sec, 3) == runtime_sec
  
              pipeline_result = split_value["pipeline_result"]
              assert pipeline_result.backtest is None
              assert pipeline_result.forecast is not None
  
imports: import pickle
  import sys
  import numpy
  import pandas
  import pytest
  from plotly.colors import DEFAULT_PLOTLY_COLORS
  from greykite.algo.forecast.silverkite.constants.silverkite_holiday import SilverkiteHoliday
  from greykite.common.constants import ACTUAL_COL
  from greykite.common.constants import PREDICTED_COL
  from greykite.common.constants import PREDICTED_LOWER_COL
  from greykite.common.constants import PREDICTED_UPPER_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.evaluation import root_mean_squared_error
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.framework.benchmark.benchmark_class import BenchmarkForecastConfig
  from greykite.framework.constants import FORECAST_STEP_COL
  from greykite.framework.templates.autogen.forecast_config import ComputationParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationMetricParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.autogen.forecast_config import ModelComponentsParam
  from greykite.framework.templates.forecaster import Forecaster
  from greykite.framework.templates.model_templates import ModelTemplateEnum
  from greykite.sklearn.cross_validation import RollingTimeSeriesSplit
label_desc: Use image node_id 8 for calling a global function with example usage: test_run(valid_bm, valid_configs) without return types