code: def test_config_file(
      plain_command_line, config_command_line, config_contents
  ):
      config_file_argparse = arguments.ConfigArgumentParser()
      # Capital letter arguments are required
      config_file_argparse.add_argument("-a", type=int)
      config_file_argparse.add_argument("-b", type=int)
      config_file_argparse.add_argument("-C", type=int, required=True)
      config_file_argparse.add_argument("-D", type=int, required=True)
      config_file_argparse.add_argument("-e", type=int)
  
      # The option '--config <file>' will be added automaticall to config_command_line
      with tempfile.NamedTemporaryFile("w") as fp:
          arguments.save_args(
              argparse.Namespace(**config_contents), fp.name
          )
          fp.flush()
  
          # Parse args and cast to dicts directly
          args_command_line = vars(
              config_file_argparse.parse_args(
                  args=plain_command_line.split()
              )
          )
          args_config = vars(
              config_file_argparse.parse_args(
                  args=(
                      config_command_line + (" --config %s" % fp.name)
                  ).split()
              )
          )
  
          # Remove the config entry
          del args_command_line["config"]
          del args_config["config"]
  
          assert args_command_line == args_config
  
imports: import argparse
  import pytest
  import tempfile
  import os
  import re
  import sockeye.arguments
  import sockeye.constants
  from itertools import zip_longest
label_desc: Use image node_id 17 for calling a global function with example usage: test_config_file(plain_command_line, config_command_line, config_contents) without return types