code: def test_cli_3(path, arr):
      _write_arr(path, arr)
      parser = mtscomp_parser()
      args = [str(path), "-d", str(arr.dtype), "-s", str(sample_rate)]
  
      # Error raised if params are not given.
      with raises(ValueError):
          mtscomp(args)
      with raises(ValueError):
          mtscomp(args[:1] + ["-n", "19"])
  
      # Now, we use --set-default
      with raises(ValueError):
          mtscomp(args + ["--set-default"])
      # This should still fail.
      with raises(ValueError):
          mtscomp(args[:1])
      # Should not fail
      mtscomp(args[:1] + ["-n", "19"])
  
      # Check the saved default config.
      pargs, config = _args_to_config(parser, args[:1])
      assert config.dtype == str(arr.dtype)
      assert config.check_after_compress is True
      assert config.get("n_channels", None) is None
      assert config.sample_rate == 1234
  
imports: from contextlib import redirect_stdout
  import io
  from itertools import product
  import json
  import hashlib
  import logging
  import os
  import os.path
  from pathlib import Path
  import re
  import numpy
  from pytest import fixture, raises, mark
  import mtscomp
  from mtscomp import add_default_handler, Writer, Reader, load_raw_data, diff_along_axis, cumsum_along_axis, mtscomp_parser, mtsdecomp_parser, _args_to_config, read_config, compress, decompress, mtsdesc, mtscomp, mtsdecomp, mtschop, CHECK_ATOL
label_desc: Use image node_id 37 for calling a global function with example usage: test_cli_3(path, arr) without return types