code: def test_hashfunc(tmp_path):
      """Test md5/sha1 hash calculations."""
      fname1 = tmp_path / "foo"
      fname2 = tmp_path / "bar"
      with open(fname1, "wb") as fid:
          fid.write(b"abcd")
      with open(fname2, "wb") as fid:
          fid.write(b"efgh")
  
      for hash_type in ("md5", "sha1"):
          hash1 = hashfunc(fname1, hash_type=hash_type)
          hash1_ = hashfunc(fname1, 1, hash_type=hash_type)
  
          hash2 = hashfunc(fname2, hash_type=hash_type)
          hash2_ = hashfunc(fname2, 1024, hash_type=hash_type)
  
          assert hash1 == hash1_
          assert hash2 == hash2_
          assert hash1 != hash2
  
imports: from copy import deepcopy
  from datetime import datetime, timezone
  from io import StringIO
  from pathlib import Path
  import numpy
  import pytest
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy import sparse
  from mne import pick_types, read_cov, read_evokeds
  from mne._fiff.pick import _picks_by_type
  from mne.epochs import make_fixed_length_epochs
  from mne.io import read_raw_fif
  from mne.time_frequency import tfr_morlet
  from mne.utils import _PCA, _apply_scaling_array, _apply_scaling_cov, _array_equal_nan, _cal_to_julian, _custom_lru_cache, _dt_to_julian, _freq_mask, _get_inst_data, _julian_to_cal, _julian_to_dt, _reg_pinv, _ReuseCycle, _time_mask, _undo_scaling_array, _undo_scaling_cov, compute_corr, create_slices, grand_average, hashfunc, numerics, object_diff, object_hash, object_size, random_permutation, sum_squared
  from mne.utils.numerics import _LRU_CACHE_MAXSIZES, _LRU_CACHES
label_desc: Use image node_id 2 for calling a global function with example usage: test_hashfunc(tmp_path) without return types