1. 21 4月, 2017 1 次提交
  2. 20 4月, 2017 1 次提交
  3. 18 4月, 2017 1 次提交
  4. 13 4月, 2017 3 次提交
  5. 12 4月, 2017 2 次提交
    • L
      mux: Improve the variant_id · dd1919d4
      Lukáš Doktor 提交于
      Use the combination of path-ordered leaves names and a hash of combined
      fingerprint as variant_id. This should improve human-readability of the
      results and also it should produce machine-friendly unique names, which
      change when values in variant are modified.
      
      Because the leaves names are ordered by path, the order of yaml file
      does not affect the variant_id. On the other hand any modified/added
      value changes the fingerprint and therefor variant_id.
      
      Important feature is also that the variant still contains the
      default_params, but the variant-id is not affected by it.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      dd1919d4
    • L
      tree: Add support "fingerprint" method · 3262c280
      Lukáš Doktor 提交于
      The TreeNode.fingerprint() generates string, which represents the value
      of the node. The idea is to represent the content of the node and it's
      environment and such for the purpose of evaluating, whether other node
      is alike.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      3262c280
  6. 07 4月, 2017 1 次提交
  7. 06 4月, 2017 1 次提交
  8. 04 4月, 2017 2 次提交
  9. 31 3月, 2017 1 次提交
    • L
      mux: Add support for internal filters · 20364904
      Lukáš Doktor 提交于
      This adds the support to define per-node filters, which take part of
      environment and are evaluated during multiplexation.
      
      The basic idea is to define relations ({could be only used | could
      not be used} with other branch), which makes it a bit different from
      what we know from `--mux-filter-{only|out}`:
      
      1. They are applied per complete variant (because the filters are
         compound of per-leaf-filters)
      2. They don't remove/keep the nodes, but they only evaluate whether
         this resulting variant makes sense (whether it passes the filters)
      
      See the updated documentation for details.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      20364904
  10. 28 3月, 2017 1 次提交
  11. 27 3月, 2017 2 次提交
  12. 25 3月, 2017 1 次提交
  13. 15 3月, 2017 2 次提交
  14. 10 3月, 2017 2 次提交
  15. 09 3月, 2017 2 次提交
  16. 08 3月, 2017 7 次提交
  17. 04 3月, 2017 3 次提交
    • 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: 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
  18. 25 2月, 2017 1 次提交
  19. 24 2月, 2017 2 次提交
    • L
      docs: Add note regarding public properties · 5c0c0440
      Lukáš Doktor 提交于
      This should help beginners to identify the issue when accidentally
      overriding test's public variables. Also add a unittest to support this
      note.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      5c0c0440
    • L
      Test: Turn test status into a property · 990a5edc
      Lukáš Doktor 提交于
      I'm not 100% sure, but I don't see a benefit in allowing people to
      override test status from inside test. They are suppose to use
      assertions, or `self.fail`-like methods. With this change it'd be harder
      to manually override the test status (as can be seen on updated
      unittests) but we minimize the accidental write into `self.status`
      variable, which can lead to confusing results.
      
      Note we can consider adding `set_status` method to allow setting this
      property, but I'd like to avoid allowing direct `self.status = ` usage.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      990a5edc
  20. 16 2月, 2017 3 次提交
    • A
      selftests: suppress missing directory message · d2fedfc7
      Amador Pahim 提交于
      checkall runs `ls` twice in the job-results dir. Once before the
      selftests and once again after the tests, comparing the outputs to make
      sure there's no new results there after the selftests.
      
      When the job-results does not exist in advance (the case in travis
      environments), the message 'ls: cannot access /home/travis/avocado/job-results:
      No such file or directory' is shown in the logs. The message is harmless
      and does not affect the check. Let's just suppress the stderr from the
      `ls` command in that check.
      
      Reference: https://trello.com/c/IBoLAJjfSigned-off-by: NAmador Pahim <apahim@redhat.com>
      d2fedfc7
    • L
      yaml_to_mux: Use custom yaml.Loader · 0851e22e
      Lukáš Doktor 提交于
      Previously we were directly using the yaml.Loader, which is shared
      across all `yaml` instances. This patch creates a `_BaseLoader` with the
      basic set of constructors. That one is copied and updated of the
      run-time data (debug/non-debug) during the `_create_from_yaml` to allow
      loading debug and non-debug files in a single execution without
      overriding the same loader.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      0851e22e
    • A
      remote runner: separate stdout and stderr from remote · 4307679d
      Amador Pahim 提交于
      We are returning the stdout and the stderr of the fabric remote
      execution all together inside the CmdResult.stdout
      
      Let's separate them properly.
      Signed-off-by: NAmador Pahim <apahim@redhat.com>
      4307679d
  21. 11 2月, 2017 1 次提交