code: def test_ff():
      # Generate inputs
      cmd = f"salib sample ff -p {ishigami_fp} -o {input_file} \
      --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 ff -p {ishigami_fp} -X {input_file} \
      -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
      )
      result = re.sub(r"[\n\t\s]*", "", result)
  
      expected = "MEx13.855764e-08x20.000000e+00x30.000000e+00dummy_00.000000e+00IE(x1,x2)0.0(x1,x3)0.0(x2,x3)0.0(x1,dummy_0)0.0(x2,dummy_0)0.0(x3,dummy_0)0.0"  # noqa: E501
      assert (
          len(result) > 0 and result == expected
      ), f"Unexpected FF results.\n\nExpected:\n{expected}\n\nGot:{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 5 for calling a global function with example usage: test_ff() without return types