예제 #1
0
 def _do_test(self, expected_val, s):
   if isinstance(expected_val, dict):
     val = dict_option(s).val
   elif isinstance(expected_val, (list, tuple)):
     val = list_option(s).val
   else:
     raise Exception('Expected value {0} is of unsupported type: {1}'.format(expected_val,
                                                                             type(expected_val)))
   self.assertEquals(expected_val, val)
예제 #2
0
 def _convert_member_type(t, x):
     if t == dict:
         return dict_option(x).val
     else:
         return t(x)
예제 #3
0
def check_config_file(path):
    cp = Config._create_parser()
    with open(path, 'r') as ini:
        cp.readfp(ini)

    print('Checking config file at {} for unmigrated keys.'.format(path),
          file=sys.stderr)

    def section(s):
        return cyan('[{}]'.format(s))

    for src, dst in migrations.items():
        check_option(cp, src, dst)

    # Special-case handling of per-task subsystem options, so we can sweep them up in all
    # sections easily.

    def check_task_subsystem_options(subsystem_sec,
                                     options_map,
                                     sections=None):
        sections = sections or cp.sections()
        for src_sec in ['DEFAULT'] + sections:
            dst_sec = subsystem_sec if src_sec == 'DEFAULT' else '{}.{}'.format(
                subsystem_sec, src_sec)
            for src_key, dst_key in options_map.items():
                check_option(cp, (src_sec, src_key), (dst_sec, dst_key))

    artifact_cache_options_map = {
        'read_from_artifact_cache': 'read',
        'write_to_artifact_cache': 'write',
        'overwrite_cache_artifacts': 'overwrite',
        'read_artifact_caches': 'read_from',
        'write_artifact_caches': 'write_to',
        'cache_compression': 'compression_level',
    }
    check_task_subsystem_options('cache', artifact_cache_options_map)

    jvm_options_map = {
        'jvm_options': 'options',
        'args': 'program_args',
        'debug': 'debug',
        'debug_port': 'debug_port',
        'debug_args': 'debug_args',
    }
    jvm_options_sections = [
        'repl.scala', 'test.junit', 'run.jvm', 'bench', 'doc.javadoc',
        'doc.scaladoc'
    ]
    check_task_subsystem_options('jvm',
                                 jvm_options_map,
                                 sections=jvm_options_sections)

    # Check that all values are parseable.
    for sec in ['DEFAULT'] + cp.sections():
        for key, value in cp.items(sec):
            value = value.strip()
            if value.startswith('['):
                try:
                    custom_types.list_option(value)
                except ParseError:
                    print('Value of {key} in section {section} is not a valid '
                          'JSON list.'.format(key=green(key),
                                              section=section(sec)))
            elif value.startswith('{'):
                try:
                    custom_types.dict_option(value)
                except ParseError:
                    print('Value of {key} in section {section} is not a valid '
                          'JSON object.'.format(key=green(key),
                                                section=section(sec)))
예제 #4
0
def check_config_file(path):
  cp = Config._create_parser()
  with open(path, 'r') as ini:
    cp.readfp(ini)

  print('Checking config file at {} for unmigrated keys.'.format(path), file=sys.stderr)

  def section(s):
    return cyan('[{}]'.format(s))

  for src, dst in migrations.items():
    check_option(cp, src, dst)

  # Special-case handling of per-task subsystem options, so we can sweep them up in all
  # sections easily.

  def check_task_subsystem_options(subsystem_sec, options_map, sections=None):
    sections = sections or cp.sections()
    for src_sec in ['DEFAULT'] + sections:
      dst_sec = subsystem_sec if src_sec == 'DEFAULT' else '{}.{}'.format(subsystem_sec, src_sec)
      for src_key, dst_key in options_map.items():
        check_option(cp, (src_sec, src_key), (dst_sec, dst_key))

  artifact_cache_options_map = {
    'read_from_artifact_cache': 'read',
    'write_to_artifact_cache': 'write',
    'overwrite_cache_artifacts': 'overwrite',
    'read_artifact_caches': 'read_from',
    'write_artifact_caches': 'write_to',
    'cache_compression': 'compression_level',
  }
  check_task_subsystem_options('cache', artifact_cache_options_map)

  jvm_options_map = {
    'jvm_options': 'options',
    'args': 'program_args',
    'debug': 'debug',
    'debug_port': 'debug_port',
    'debug_args': 'debug_args',
  }
  jvm_options_sections = [
    'repl.scala', 'test.junit', 'run.jvm', 'bench', 'doc.javadoc', 'doc.scaladoc'
  ]
  check_task_subsystem_options('jvm', jvm_options_map, sections=jvm_options_sections)

  # Check that all values are parseable.
  for sec in ['DEFAULT'] + cp.sections():
    for key, value in cp.items(sec):
      value = value.strip()
      if value.startswith('['):
        try:
          custom_types.list_option(value)
        except ParseError:
          print('Value of {key} in section {section} is not a valid '
                'JSON list.'.format(key=green(key), section=section(sec)))
      elif value.startswith('{'):
        try:
          custom_types.dict_option(value)
        except ParseError:
          print('Value of {key} in section {section} is not a valid '
                'JSON object.'.format(key=green(key), section=section(sec)))
예제 #5
0
파일: parser.py 프로젝트: ericzundel/pants
 def _convert_member_type(t, x):
   if t == dict:
     return dict_option(x).val
   else:
     return t(x)
예제 #6
0
def check_config_file(path):
    cp = Config.create_parser()
    with open(path, "r") as ini:
        cp.readfp(ini)

    print("Checking config file at {0} for unmigrated keys.".format(path), file=sys.stderr)

    def section(s):
        return cyan("[{0}]".format(s))

    for src, dst in migrations.items():
        check_option(cp, src, dst)

    # Special-case handling of per-task subsystem options, so we can sweep them up in all
    # sections easily.

    def check_task_subsystem_options(subsystem_sec, options_map, sections=None):
        sections = sections or cp.sections()
        for src_sec in ["DEFAULT"] + sections:
            dst_sec = subsystem_sec if src_sec == "DEFAULT" else "{}.{}".format(subsystem_sec, src_sec)
            for src_key, dst_key in options_map.items():
                check_option(cp, (src_sec, src_key), (dst_sec, dst_key))

    artifact_cache_options_map = {
        "read_from_artifact_cache": "read",
        "write_to_artifact_cache": "write",
        "overwrite_cache_artifacts": "overwrite",
        "read_artifact_caches": "read_from",
        "write_artifact_caches": "write_to",
        "cache_compression": "compression_level",
    }
    check_task_subsystem_options("cache", artifact_cache_options_map)

    jvm_options_map = {
        "jvm_options": "options",
        "args": "program_args",
        "debug": "debug",
        "debug_port": "debug_port",
        "debug_args": "debug_args",
    }
    jvm_options_sections = ["repl.scala", "test.junit", "run.jvm", "bench", "doc.javadoc", "doc.scaladoc"]
    check_task_subsystem_options("jvm", jvm_options_map, sections=jvm_options_sections)

    # Check that all values are parseable.
    for sec in ["DEFAULT"] + cp.sections():
        for key, value in cp.items(sec):
            value = value.strip()
            if value.startswith("["):
                try:
                    custom_types.list_option(value)
                except ParseError:
                    print(
                        "Value of {key} in section {section} is not a valid "
                        "JSON list.".format(key=green(key), section=section(sec))
                    )
            elif value.startswith("{"):
                try:
                    custom_types.dict_option(value)
                except ParseError:
                    print(
                        "Value of {key} in section {section} is not a valid "
                        "JSON object.".format(key=green(key), section=section(sec))
                    )