code: def test_write_source_space(tmp_path):
      """Test reading and writing of source spaces."""
      src0 = read_source_spaces(fname, patch_stats=False)
      temp_fname = tmp_path / "tmp-src.fif"
      write_source_spaces(temp_fname, src0)
      src1 = read_source_spaces(temp_fname, patch_stats=False)
      _compare_source_spaces(src0, src1)
  
      # test warnings on bad filenames
      src_badname = tmp_path / "test-bad-name.fif.gz"
      with pytest.warns(RuntimeWarning, match="-src.fif"):
          write_source_spaces(src_badname, src0)
      with pytest.warns(RuntimeWarning, match="-src.fif"):
          read_source_spaces(src_badname)
  
imports: from pathlib import Path
  from shutil import copytree
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal, assert_array_less, assert_equal
  import mne
  from mne import SourceEstimate, add_source_space_distances, compute_source_morph, get_volume_labels_from_src, make_sphere_model, morph_source_spaces, pick_types, read_bem_solution, read_bem_surfaces, read_freesurfer_lut, read_source_spaces, read_trans, setup_source_space, setup_volume_source_space, write_source_spaces
  from mne._fiff.constants import FIFF
  from mne._fiff.pick import _picks_to_idx
  from mne.datasets import testing
  from mne.fixes import _get_img_fdata
  from mne.source_estimate import _get_src_type
  from mne.source_space import compute_distance_to_sensors, get_decimated_surfaces
  from mne.source_space._source_space import _compare_source_spaces
  from mne.surface import _accumulate_normals, _triangle_neighbors
  from mne.utils import _record_warnings, requires_mne, run_subprocess
label_desc: Use image node_id 15 for calling a global function with example usage: test_write_source_space(tmp_path) without return types