code: def test_cov_ctf():
      """Test basic cov computation on ctf data with/without compensation."""
      pytest.importorskip("sklearn")
      raw = read_raw_ctf(ctf_fname).crop(0.0, 2.0).load_data()
      events = make_fixed_length_events(raw, 99999)
      assert len(events) == 2
      ch_names = [
          raw.info["ch_names"][pick]
          for pick in pick_types(
              raw.info, meg=True, eeg=False, ref_meg=False
          )
      ]
  
      for comp in [0, 1]:
          raw.apply_gradient_compensation(comp)
          epochs = Epochs(raw, events, None, -0.2, 0.2, preload=True)
          with pytest.warns(RuntimeWarning, match="Too few samples"):
              noise_cov = compute_covariance(
                  epochs, tmax=0.0, method=["empirical"]
              )
          prepare_noise_cov(noise_cov, raw.info, ch_names)
  
      raw.apply_gradient_compensation(0)
      epochs = Epochs(raw, events, None, -0.2, 0.2, preload=True)
      with pytest.warns(RuntimeWarning, match="Too few samples"):
          noise_cov = compute_covariance(
              epochs, tmax=0.0, method=["empirical"]
          )
      raw.apply_gradient_compensation(1)
  
      # TODO This next call in principle should fail.
      prepare_noise_cov(noise_cov, raw.info, ch_names)
  
      # make sure comps matrices was not removed from raw
      assert raw.info["comps"], "Comps matrices removed"
  
imports: import itertools
  import sys
  from inspect import signature
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_almost_equal, assert_array_equal, assert_equal
  from mne import Epochs, compute_covariance, compute_proj_raw, compute_rank, compute_raw_covariance, create_info, find_events, make_ad_hoc_cov, make_fixed_length_events, merge_events, pick_channels_cov, pick_info, pick_types, read_cov, read_evokeds, write_cov
  from mne._fiff.pick import _DATA_CH_TYPES_SPLIT
  from mne.channels import equalize_channels
  from mne.cov import _auto_low_rank_model, _regularized_covariance, compute_whitener, prepare_noise_cov, regularize, whiten_evoked
  from mne.datasets import testing
  from mne.fixes import _safe_svd
  from mne.io import RawArray, read_info, read_raw_ctf, read_raw_fif
  from mne.preprocessing import maxwell_filter
  from mne.rank import _compute_rank_int
  from mne.utils import _record_warnings, assert_snr, catch_logging
label_desc: Use image node_id 21 for calling a global function with example usage: test_cov_ctf() without return types