1. 24 5月, 2017 1 次提交
    • C
      avocado list command: also list test tags · e9ad7b6d
      Cleber Rosa 提交于
      Test tags (via docstring directives) have been supported in Avocado
      for a number of releases, but up until now user would only be able to
      see the tags on their tests by resorting to the source code.
      
      This was already difficult when the tags where set only at the class
      level, now that they can be set both on the class and method
      docstring, users would have to do the "math" on their minds.
      
      Let's display the test tags when the verbose switch is given to the
      list command to make the life of users easier.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      e9ad7b6d
  2. 18 5月, 2017 1 次提交
  3. 15 5月, 2017 1 次提交
    • C
      selftests: introduce multiple levels of testing coverage · 4942d2e7
      Cleber Rosa 提交于
      A finer level of granularity may help to extend our testing coverage
      while reducing the amount of false positives.  This introduces the
      three different levels, mapped like this:
      
         * level 0, AKA "make check"
         * level 2, AKA "make check-full"
      
      There are no changes of test assignment, that is, tests previously
      being run under "check-full" will continue to be run only at that
      target.  The same is true for tests that would run under "make check"
      before this.
      
      The big change is that there's now a middle ground, that can be
      activated by manually setting the AVOCADO_CHECK_LEVEL variable.  Level
      1 is intended to be used be used on environments that are halfway
      between a dedicated machine and a really low powered environment.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      4942d2e7
  4. 27 4月, 2017 1 次提交
    • A
      skip classes: internal improvements · d6056afb
      Amador Pahim 提交于
      Due to the deprecation of the self.skip(), the availability of the skip
      decorators and the new CANCEL status, some internal improvements are
      important to keep our behaviour sane and our own code sound and clean.
      
      - The test.SkipTest class was renamed to test.MockingTest to be even more
        generic, intending to be overridden by sub-classes that make the test
        to end both with SKIP or CANCEL status. To keep it generic,
        test.MockingTest class will not SKIP the test if used directly anymore.
      
      - The test.TimeOutSkipTest and test.ReplaySkipTest classes now are using
        the skip decorators instead of raising an exception in setUp(), since
        'skipping' the test means 'don't execute anything', not even the
        setUp().
      
      - The test.DryRunTest class, which is expected to log itself in setUp()
        and then abort the test execution, is now using self.cancel() (instead
        of raising a SKIP exception), being now compliant with the concept
        that a SKIP test cannot execute anything.
      
      - Selftests were adjusted accordingly.
      Signed-off-by: NAmador Pahim <apahim@redhat.com>
      d6056afb
  5. 25 4月, 2017 1 次提交
    • L
      runner: Increase test postprocess timeout · 76d6efa5
      Lukáš Doktor 提交于
      Currently there is a hardcoded test-postprocess timeout consisting of
      two cycle-timeouts which is something between 1 and 2 seconds. This is
      not sufficient on heavily loaded machines so this patch increases the
      timeouts to:
      
       1s: when test was interrupted (ctrl+c/timeout)
      10s: when the process died but the status was not yet delivered
      60s: when test reported status but the process did not finish
      
      taking into account the current available test/job timeout.
      
      As those deadlines are significantly longer, users could have noticed a
      frozen throbber, which is why I propagate the results_dispatcher and
      handle the throbber also during the postprocess, which makes this patch
      a bit more complicated than one would expect. I used "progress = False"
      to distinguish between running test and postprocessing it.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      76d6efa5
  6. 24 4月, 2017 1 次提交
  7. 21 4月, 2017 1 次提交
  8. 20 4月, 2017 1 次提交
  9. 06 4月, 2017 1 次提交
  10. 04 4月, 2017 1 次提交
  11. 28 3月, 2017 1 次提交
  12. 27 3月, 2017 1 次提交
  13. 09 3月, 2017 1 次提交
  14. 08 3月, 2017 1 次提交
  15. 24 2月, 2017 1 次提交
    • 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
  16. 06 2月, 2017 1 次提交
  17. 03 2月, 2017 1 次提交
  18. 12 1月, 2017 1 次提交
  19. 24 11月, 2016 1 次提交
    • C
      Selftests: move resource/time sensitive tests to check-full · 9c18588f
      Cleber Rosa 提交于
      We've been seen failures on resource constrained environments on some
      tests that are either time sensitive and/or assume a some computing
      resources will be available.
      
      Environments such as TravisCI and RPM build servers may not have the
      resources these tests expect, so let's move them to runs of `make
      check-full`.  This will hopefully put an end to the false positives
      we've been getting on TravisCI.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      9c18588f
  20. 23 11月, 2016 1 次提交
  21. 07 11月, 2016 1 次提交
  22. 02 11月, 2016 1 次提交
  23. 30 10月, 2016 1 次提交
    • C
      Functional tests: prevent the persistence of temporary job results · f9cec025
      Cleber Rosa 提交于
      Some functional tests, most of which execute a full avocado command,
      were missing the `--job-results-dir`, pointing to a directory that
      would be removed after the tests.  This has led to the pollution of
      the standard job results directory (usually `~/avocado/job-results`)
      when selftests are run.
      
      This proposal fixes all but one set of functional tests, which has
      to be fixed with a different set of changes (see reference).
      
      Besides the functional tests, some unittests are also creating
      job results that should be discarded.  It's believed that at least
      some of this is caused by the relationship between tests and jobs,
      but this is speculation and it's not attepted to be fixed on this
      patch.
      
      Reference: https://trello.com/c/I2ieqhR5Signed-off-by: NCleber Rosa <crosa@redhat.com>
      f9cec025
  24. 28 10月, 2016 3 次提交
  25. 21 10月, 2016 1 次提交
  26. 10 10月, 2016 1 次提交
  27. 27 9月, 2016 2 次提交
    • C
      Plugins: add mechanism to disable plugins · 193a10ce
      Cleber Rosa 提交于
      While the behavior of having a plugin enabled once it's installed
      has suited Avocado reasonably well, there are valid use cases that
      require plugins to be disabled.
      
      While adding this mechanism, let's define what the Avocado fully
      qualified name for a given plugin is.
      
      While not an urgent feature, enabling and disabling plugins is
      actually one requirement for the implementation of the Job API.  While
      this change allows for disabling plugins globally, a refinement of the
      same logic will allow a given Job to enable/disable some of Avocado's
      functionality.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      193a10ce
    • C
      Functional selftests: conditionally skip based tests that need cc · 5b8e7675
      Cleber Rosa 提交于
      When no C compiler is available, these tests will produce errors.
      Let's skip them when the requirements cannot be met.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      5b8e7675
  28. 21 9月, 2016 1 次提交
  29. 03 8月, 2016 1 次提交
  30. 21 7月, 2016 1 次提交
  31. 08 7月, 2016 1 次提交
  32. 02 6月, 2016 2 次提交
    • L
      avocado.core.runner: Unify the runner error handling · 98d82f0f
      Lukáš Doktor 提交于
      There are two places, where runner can modify the test's status, each
      handling it differently. Let's create a method to handle such occasions
      in the same manner.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      98d82f0f
    • L
      avocado: Avoid left-over processes when test reports status · d86e5912
      Lukáš Doktor 提交于
      Currently when the test reports status avocado does not check whether
      the process finished, leaving open space for left-over test processes.
      This patch unifies the test process handling in case the test reported
      test status and allows the runner to destroy and report error in case
      the test process did not finish.
      
      Additionally it modifies the error message in case the test was
      interrupted, because the original message is IMO not clear enough (I
      spent quite a time analyzing how that happened and if that's an avocado
      bug or supported result).
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      d86e5912
  33. 10 5月, 2016 1 次提交
  34. 06 5月, 2016 1 次提交
    • L
      avocado: Avoid custom handling of SIGINT and SIGUSR · d37c23fa
      Lukáš Doktor 提交于
      Currently avocado adds custom handlers of SIGINT and SIGUSR1 in order to
      produce traceback and notify about user interaction or timeout. This
      could be missleading in case the test uses those signals and potentially
      dangerous as some tests assume default behavior.
      
      This patch removes the custom handling of SIGINT and SIGUSR1 and
      reports the failure in `job.log`. Additionally it tries to inject the
      error message in the test output, if status.logfile available.
      
      In order to keep the useful traceback in case of interruption, this
      patch overrides the default SIGTERM handler. The default behavior of
      SIGTERM is to die, our custom handler raises SystemExit with info saying
      the test was interrupted by sigterm, which should generate traceback and
      finish. The runner then changes the result to INTERRUPTED, so even
      when the test modifies the SIGTERM handler, we get the correct status.
      
      Worth mentioning that in case test ignores SIGTERM, SIGKILL is emitted
      by the runner, so this should be safe approach.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      d37c23fa
  35. 03 5月, 2016 1 次提交
    • L
      avocado.core.loader: Fix the test alias resolver · 3ff48800
      Lukáš Doktor 提交于
      This patch fixes and improves resolving of the test aliases (paths
      relative to `data_dir.get_tests_dir`).
      
      1. It removes the magic `.py` suffix, which prevented non-python files
         from being resolved (simple.sh was resolved to $tests/simple.sh.py)
      2. It adds the feature to filter the class/method from the test
         reference by parsing $test_reference:$class.$method for implicit
         resolver. (previously this worked only for absolute path resolver)
      
      Visible changes are:
      
      * `avocado run passtest` => fails (used to work)
      * `avocado run passtest.py` => works (did not work)
      * `avocado run env_variables.sh` => works (did not work)
      * `avocado run passtest.py:PassTest.test` => works (did not work)
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      3ff48800
  36. 27 4月, 2016 1 次提交
    • C
      Avocado: Release 35.0 · 523c0e41
      Cleber Rosa 提交于
      This release introduces a new versioning scheme, so the "big bump"
      from 0.34.0 to 35.0 is not such a big bump.
      
      Some additional changes with regards to versioning were added, such as
      the way the remote runner checks for Avocado on the remote host.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      523c0e41