code: def test_preset_n_and_ew_and_onnx(
      preset_args,
      clres,
      start_time=time.time(),
      time_limit=Def.TimeOuts.test_time_limit,
  ):
      """
      Test command arguments - check evaluation worker, number of workers and
                               onnx.
      """
  
      ew_flag = ["-ew"]
      n_flag = ["-n", Def.Flags.enw]
      onnx_flag = ["-onnx"]
      s_flag = ["-s", Def.Flags.css]
      p_valid_params = p_utils.validation_params(preset_args)
  
      run_cmd = [
          "python3",
          "rl_coach/coach.py",
          "-p",
          "{}".format(preset_args),
          "-e",
          "{}".format("ExpName_" + preset_args),
      ]
  
      # add flags to run command
      test_ew_flag = a_utils.add_one_flag_value(flag=ew_flag)
      test_n_flag = a_utils.add_one_flag_value(flag=n_flag)
      test_onnx_flag = a_utils.add_one_flag_value(flag=onnx_flag)
      test_s_flag = a_utils.add_one_flag_value(flag=s_flag)
  
      run_cmd.extend(test_ew_flag)
      run_cmd.extend(test_n_flag)
      run_cmd.extend(test_onnx_flag)
      run_cmd.extend(test_s_flag)
  
      print(str(run_cmd))
  
      try:
          proc = subprocess.Popen(
              run_cmd, stdout=clres.stdout, stderr=clres.stdout
          )
  
          try:
              # Check csv files has been created
              a_utils.validate_arg_result(
                  flag=test_ew_flag,
                  p_valid_params=p_valid_params,
                  clres=clres,
                  process=proc,
                  start_time=start_time,
                  timeout=time_limit,
              )
  
              # Check csv files created same as the number of the workers
              a_utils.validate_arg_result(
                  flag=test_n_flag,
                  p_valid_params=p_valid_params,
                  clres=clres,
                  process=proc,
                  start_time=start_time,
                  timeout=time_limit,
              )
  
              # Check checkpoint files
              a_utils.validate_arg_result(
                  flag=test_s_flag,
                  p_valid_params=p_valid_params,
                  clres=clres,
                  process=proc,
                  start_time=start_time,
                  timeout=time_limit,
              )
  
              # TODO: add onnx check; issue found #257
  
          except AssertionError:
              # close process once get assert false
              proc.kill()
              # if test failed - print logs
              screen.error(open(clres.stdout.name).read(), crash=False)
              assert False
  
      except OSError as e:
          # if test launch failed due to OSError - skip test
          pytest.skip(e)
  
      proc.kill()
  
file_path: coach/rl_coach/tests/test_coach_args.py
imports: import subprocess
  import time
  import pytest
  import rl_coach.tests.utils.args_utils
  import rl_coach.tests.utils.presets_utils
  from rl_coach.logger import screen
  from rl_coach.tests.utils.definitions import Definitions
label_desc: Use image node_id 4 for calling a global function with example usage: test_preset_n_and_ew_and_onnx(preset_args, clres, start_time, time_limit) without return types