code: def test_source_load_config(
      self,
      type_: Type[ConfigSource],
      path: str,
      config_path: str,
      expected_defaults_list: List[InputDefault],
      expected_package: Any,
      expected_config: Any,
      recwarn: Any,
  ) -> None:
      assert issubclass(type_, ConfigSource)
      src = type_(provider="foo", path=path)
      if isinstance(expected_config, dict):
          ret = src.load_config(config_path=config_path)
          assert ret.config == expected_config
          assert ret.header["package"] == expected_package
          assert ret.defaults_list == expected_defaults_list
      else:
          with expected_config:
              src.load_config(config_path=config_path)
  
file_path: hydra/hydra/test_utils/config_source_common_tests.py
imports: from typing import Any, List, Optional, Type
  from pytest import mark, param, raises, skip
  from hydra.core.default_element import InputDefault
  from hydra.core.object_type import ObjectType
  from hydra.plugins.config_source import ConfigLoadError, ConfigSource
label_desc: Use image node_id 8 for calling the ConfigSourceTestSuite obj's underlying member method code with example usage: obj.test_source_load_config(type_, path, config_path, expected_defaults_list, expected_package, expected_config, recwarn) without return types