1. 10 3月, 2017 3 次提交
  2. 09 3月, 2017 8 次提交
  3. 08 3月, 2017 11 次提交
  4. 07 3月, 2017 5 次提交
  5. 06 3月, 2017 4 次提交
  6. 04 3月, 2017 9 次提交
    • C
      Merge remote-tracking branch 'ldoktor/mux-plugin5' · 69539a39
      Cleber Rosa 提交于
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      69539a39
    • L
      varianter: Improve few docstrings · 8a5b88d5
      Lukáš Doktor 提交于
      There are some old docstrings which are not much helpful, let's improve
      them.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      8a5b88d5
    • L
      varianter: Complete rework of the variants/params/mux documentation · 061c4ae8
      Lukáš Doktor 提交于
      Finally after all the refactoring, refining and modifying here is the
      up-to-date documentation which follows the current structure and tries
      to describe both theoretically and practically how are test's parameters
      produced and how they can be used.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      061c4ae8
    • L
      varianter: Change the variant format · dbd134bd
      Lukáš Doktor 提交于
      Currently the variant format is (variant_id, (variant, mux_path)) which
      is not really scalable, nor user friendly. Let's use a dictionary
      instead.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      dbd134bd
    • L
      varianter: Remove the unnecessary "ignore_new_data" interface · 62829d0b
      Lukáš Doktor 提交于
      The "ignore_new_data" was used by "replay" to override Varianter and
      tell it to stop accepting new data by other plugins (like yaml_to_mux).
      With the new changes the plugins are part of the Varianter, so when
      "replay" replaces it with the old (parsed) one, it will not parse itself
      again, therefor the default_params and variants stays untouched.
      
      To make sure this works well a unittest is included.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      62829d0b
    • L
      varianter: Rename "mux-skip-defaults" to "variants-..." · 883e8ea8
      Lukáš Doktor 提交于
      The "mux-skip-defaults" is a generic concept and should be renamed to
      "variants-skip-defaults" as the whole generic concept is called
      variant/varianter. This change is only internal and not visible to
      users.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      883e8ea8
    • L
      varianter: Make it properly pluggable · bae47d00
      Lukáš Doktor 提交于
      This patch replaces the hardcoded mux in Varianter for list of Varianter
      plugins, iterating through all of them to produce all specified
      variants. The interface is described in `avocado.core.plugin_interfaces`
      and we also provide base-implementation for Mux-like plugins in
      `avocado.core.mux`.
      
      Mainly this PR is about defining the stevedore entry points, moving the
      code around and wrapping the code into a class according the defined
      stevedore interface. Doing so allowed us to simplify the `MuxTree`
      object which does not need to keep track of the `root` of the tree,
      because the root is stored in the pluggin's instance.
      
      There is still one potential issue in Varianter which is probably even
      more visible now, which is that we are pickling it in jobdata in order
      to be able to reproduce the variants when re-running/diffing the job.
      Before this was prone to code-changes but now it can be even worse as
      multiple plugins can be enabled and can break loading of the previous
      state. To avoid the potential breakage this version simply initializes
      only the available extensions which should produce only the supported
      variants.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      bae47d00
    • L
      varianter: Create the concept of default_params · 0e4fed8c
      Lukáš Doktor 提交于
      The idea behind default_params is, that some of the params are
      considered the default_params, they can change, but are not part of
      variant, nor the variant-id.
      
      This implementation replaces the `Mux.data_inject` with
      `Mux.add_default_param` which also accepts `name` to map data to
      different plugins/groups in order to allow ignoring only some of them.
      
      During parsing it extends multiplex variants of the defaults (merges
      multiplex variants into defaults, therefor the mux overrides the values)
      in order to provide the combination while yielding variants. Then when
      there are variants, it yields the variant (compound of the variant and
      the default_params) and variant-id. If there are no variants, it yields
      only the default_params with no variant-id (None).
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      0e4fed8c
    • L
      varianter: Support for number of variants · 0cd7f91d
      Lukáš Doktor 提交于
      Currently the Varianter itself calculates the number of tests, but in
      the future we want to allow each variants plugin to report the number of
      tests. Let's add support for `__len__` to the Mux plugin and utilize it
      in Varianter instead of hardcoded iteration.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      0cd7f91d