code: def test_dgsm():
      # Generate inputs
      cmd = f"salib sample finite_diff -p {ishigami_fp} -o {input_file} -d 0.001\
      --precision=8 -n 1000 --seed=100".split()
      subprocess.run(cmd)
  
      # Run model and save output
      np.savetxt(output_file, Ishigami.evaluate(np.loadtxt(input_file)))
  
      analyze_cmd = f"salib analyze dgsm -p {ishigami_fp} -X {input_file}\
      -Y {output_file} -c 0 -r 1000 --seed=100".split()
  
      # run analysis and use regex to strip all whitespace from result
      result = subprocess.check_output(
          analyze_cmd, universal_newlines=True
      )
  
      dgsm_expected = [2.207554, 7.092019, 3.238259]
  
      test = pd.read_csv(StringIO(result), index_col=0, sep=r"\s+")
      test["calc"] = dgsm_expected
  
      lower = test["dgsm"] - test["dgsm_conf"]
      upper = test["dgsm"] + test["dgsm_conf"]
      comparison = test["calc"].between(lower, upper)
      assert comparison.all(), (
          "Expected DGSM results not within confidence bounds\n"
          f"Expected +/-: {dgsm_expected}\n"
          f"Got +/-: {test['dgsm_conf']}\n"
      )
  
file_path: SALib/tests/test_cli_analyze.py
imports: import subprocess
  from SALib.test_functions import Ishigami
  import numpy
  import pandas
  from io import StringIO
  import re
  import os
  from os.path import join
label_desc: Use image node_id 3 for calling a global function with example usage: test_dgsm() without return types