code: def test_fast():
      # Generate inputs
      cmd = f"salib sample fast_sampler -p {ishigami_fp} -o {input_file} \
      --precision=8 -n 1000 -M 4 --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 fast -p {ishigami_fp} \
      -Y {output_file} -c 0 --seed=100".split()
  
      # run analysis and use regex to strip all whitespace from result
      result = subprocess.check_output(
          analyze_cmd, universal_newlines=True
      )
  
      expected = """              S1        ST   S1_conf   ST_conf
  x1  3.104027e-01  0.555603  0.016616 0.040657
  x2  4.425532e-01  0.469546  0.016225  0.041809
  x3  1.921394e-28  0.239155  0.015777  0.042567"""
  
      col_names = ["Name", "S1", "ST", "S1_conf", "ST_conf"]
  
      data = StringIO(expected)
      df1 = pd.read_csv(data, sep="\t")
  
      df1 = df1.iloc[:, 0].str.split(expand=True)
      df1.columns = col_names
      df1 = df1.iloc[:, 1:].values.astype("float64")
  
      data = StringIO(result)
      df2 = pd.read_csv(data, sep="\t")
  
      df2 = df2.iloc[:, 0].str.split(expand=True)
      df2.columns = col_names
      df2 = df2.iloc[:, 1:].values.astype("float64")
  
      assert np.allclose(
          df1, df2, rtol=2e-02
      ), "Unexpected FAST results.\n\nExpected:\n{}\n\nGot:{}".format(
          expected, result
      )
  
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 4 for calling a global function with example usage: test_fast() without return types