Exemple #1
0
 def setUp(self) -> None:
     self.config = self._setup_config()
     self.default_seed_values = Config._determine_seed_values(
         seed_values={"buildroot": self.build_root},
     )
     self.expected_combined_values = {
         **FILE_1.expected_options,
         **FILE_2.expected_options,
         "a": {**FILE_2.expected_options["a"], **FILE_1.expected_options["a"]},
     }
Exemple #2
0
 def setUp(self) -> None:
     self.config = _setup_config()
     self.default_seed_values = Config._determine_seed_values(
         seed_values={"buildroot": "fake_buildroot"},
         env={"NAME": "foo"},
     )
     self.expected_combined_values: dict[str, dict[str, list[str]]] = {
         "a": {
             "list": ['["1", "2", "3", "42"]'],
             "list2": ["+[7, 8, 9]"],
             "list3": ['-["x", "y", "z"]'],
             "fast": ["True"],
         },
         "b": {
             "preempt": ["True", "False"]
         },
         "c": {
             "name": ["overridden_from_default"],
             "interpolated_from_section":
             ["overridden_from_default is interpolated"],
             "recursively_interpolated_from_section":
             ["overridden_from_default is interpolated (again)"],
         },
         "d": {
             "dict_val":
             ["{'add': 0, 'remove': 0, 'nested': {'nested_key': 'foo'}}"],
             "list": ["+[0, 1],-[8, 9]"],
         },
         "empty_section": {},
         "list_merging": {
             "list1": ["[]", "[11, 22]"],
             "list2": ["[1, 2]", "+[33]"],
             "list3": ["+[3, 4]", "+[8, 9],-[4, 55]"],
             "list4": ["-[5]", "[66]"],
             "list5": ["[6, 7]"],
             "list6": ["+[77, 88]"],
         },
     }
Exemple #3
0
  def setUp(self) -> None:
    ini1_content = dedent(
      """
      [DEFAULT]
      name: foo
      answer: 42
      scale: 1.2
      path: /a/b/%(answer)s
      embed: %(path)s::foo
      disclaimer:
        Let it be known
        that.

      [a]
      list: [1, 2, 3, %(answer)s]
      list2: +[7, 8, 9]

      [b]
      preempt: True
      
      [b.nested]
      dict: {
          'a': 1,
          'b': %(answer)s,
          'c': ['%(answer)s', '%(answer)s'],
        }
      
      [b.nested.nested-again]
      movie: inception
      """
    )
    ini2_content = dedent(
      """
      [a]
      fast: True

      [b]
      preempt: False
      
      [c.child]
      no_values_in_parent: True

      [defined_section]
      """
    )
    self.config = self._setup_config(ini1_content, ini2_content, suffix=".ini")
    self.default_seed_values = Config._determine_seed_values(
      seed_values={"buildroot": self.build_root},
    )
    self.default_file1_values = {
      "name": "foo",
      "answer": "42",
      "scale": "1.2",
      "path": "/a/b/42",
      "embed": "/a/b/42::foo",
      "disclaimer": "\nLet it be known\nthat.",
    }
    self.expected_file1_options = {
      "a": {
        "list": "[1, 2, 3, 42]",
        "list2": "+[7, 8, 9]",
      },
      "b": {
        "preempt": "True",
      },
      "b.nested": {
        "dict": "{\n'a': 1,\n'b': 42,\n'c': ['42', '42'],\n}"
      },
      "b.nested.nested-again": {
        "movie": "inception",
      },
    }
    self.expected_file2_options: Dict[str, Dict[str, str]] = {
      "a": {
        "fast": "True",
      },
      "b": {
        "preempt": "False",
      },
      "c.child": {
        "no_values_in_parent": "True",
      },
      "defined_section": {},
    }
    self.expected_combined_values: Dict[str, Dict[str, str]] = {
      **self.expected_file1_options,
      **self.expected_file2_options,
      "a": {
        **self.expected_file2_options["a"], **self.expected_file1_options["a"],
      },
    }