1. 24 9月, 2015 1 次提交
  2. 03 9月, 2015 2 次提交
    • C
      Selftests: remove evil "simple import magic" · 6149e2dc
      Cleber Rosa 提交于
      Even though I may be the one to blame about coming up with this
      "simple import magic", I believe it was a mistake and we should get
      rid of them.
      
      There are a couple of other ways to actually do development out of
      of a source tree, including running unittests that do not require
      this amount of boiler plate code. Examples include just setting
      the PYTHONPATH environment variable to actually run (setuptools based)
      `python setup.py develop`.
      
      The little bits of what looks like the import magic that was left, is
      not really import magic. It's just that functional tests need to locate
      the Avocado source tree base directory to run the test runner from it.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      6149e2dc
    • C
      Selftests: move to adhere to unittest discover default pattern · 24d87eb4
      Cleber Rosa 提交于
      To be honest, our test code could still be kept in the same directories and
      have the same names. But I think we can improve two things here:
      
      1) Flatten a little bit the directory structure of selftests. Two path
      components are being dropped here: "all" and "avocado". So that
      "selftests/all/functional/avocado" becomes simply
      "selftests/functional".
      
      2) File names match what is, by default, recognized by unittest (the
      Standard Library module) based discovery of tests. That means that
      doc_build_test.py becomes test_doc_build.py. Not a big deal IMHO.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      24d87eb4
  3. 14 8月, 2015 1 次提交
  4. 13 8月, 2015 1 次提交
    • C
      Inner Runner implementation · f364a1ab
      Cleber Rosa 提交于
      In some external test suites, what is defined as a "test" can not be
      run by itself and need a specific runner script/tool.
      
      This introduces the concept of an "inner runner", that is, a custom
      test runner or tool that can deal with custom tests that do follow
      the Avocado SIMPLE test definition.
      
      This implements the Trello card:
      
       https://trello.com/c/TpXecE2n/486-introduce-inner-runner-to-avocado-run
      
      More information can be found in the man page section about it.
      
      Changes from v1:
       * removed "level" from "inner level runner" mentions
       * replicated docs from man page to "main" docs
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      f364a1ab
  5. 04 8月, 2015 1 次提交
  6. 31 7月, 2015 1 次提交
  7. 20 7月, 2015 1 次提交
    • L
      avocado.core.loader: Refactor test loader to be consistent · 3573b193
      Lukáš Doktor 提交于
      Previously the "file" loader was special and always matched the URL
      which might be confusing and lead to problems when developing additional
      plugins.
      
      This commit tires to define the way loaders should work. They must never
      fail (unless of uncaught exception which is reported and next available
      plugins is used). Instead when the URL produces broken test or even a
      single corrupted subtest, consider it as URL not for me and return empty
      set. The loader proxy uses next plugin to resolve this URL. When no
      plugin resolves the URL user is advised to run "avocado list -V" to see
      the potential problems.
      
      The order of loader plugins was also changed. Now the file-loader is
      first by default and all remaining ones are loaded by the plugin
      priority. The order can be changed in setting
      "plugins/loader_plugins_priority". It uses "name" variable of the each
      loader plugin. Not listed plugins are loaded afterwards.
      
      Additionally the whole loader API was simplified. Now it only accepts
      one parameter - list_tests - which is 3-state:
      
      1. ALL       - all tests including broken/incorrect ones
      2. AVAILABLE - available tests (for listing purposes)
      2. DEFAULT   - default tests (to run when no url given)
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      3573b193
  8. 08 7月, 2015 1 次提交
  9. 07 7月, 2015 2 次提交
  10. 18 6月, 2015 1 次提交
  11. 12 6月, 2015 1 次提交
  12. 05 6月, 2015 1 次提交
  13. 06 5月, 2015 1 次提交
  14. 14 4月, 2015 1 次提交
  15. 07 4月, 2015 1 次提交
  16. 25 3月, 2015 1 次提交
    • L
      scripts.avocado-bash-utils: Add Avocado bash utils · fa0e77a7
      Lukáš Doktor 提交于
      This patch is initial support for people using custom bash scripts
      with avocado. Tests should use:
      
          PATH=$(avocado "exec-path"):$PATH
      
      and then they can utilize the helpers.
      
      This version contain functions to write to Test.log the same way it's
      possible from python including failing the test with TestWarn in case
      avocado_warn was used.
      Signed-off-by: NLukáš Doktor <ldoktor@redhat.com>
      fa0e77a7
  17. 18 3月, 2015 2 次提交
  18. 24 2月, 2015 3 次提交
  19. 20 2月, 2015 1 次提交
  20. 03 2月, 2015 2 次提交
    • R
      avocado: Add support for recursively finding tests in a directory · f95dc31b
      Rudá Moura 提交于
      Add support to inspect and find tests inside a directory, recursively,
      by using the method `discover_url`. It takes a url (path) and
      returns the tests parameters it discovers.
      
      The loader object has the .discover() method, that can be used
      to inspect the location, and the .validate() method, that will
      discover any problems on the user's input.
      
      We are also changing the behavior of avocado to error out on
      invalid inputs (missing paths or files that are not avocado
      tests). Therefore, the concept of MISSING or NOT_A_TEST both
      disappear from the UI. Unittests were updated to reflect the
      new status quo.
      Signed-off-by: NRudá Moura <rmoura@redhat.com>
      Signed-off-by: NLucas Meneghel Rodrigues <lmr@redhat.com>
      f95dc31b
    • R
      selftests: Update functional tests to use --sysinfo=on|off. · 6e67db5b
      Rudá Moura 提交于
      * Use --sysinfo=off in the current functional tests. It will
      drop the total execution time of the tests.
      
      * Add a new functional test `sysinfo_tests.py` which will actually
      test if the sysinfo directory is being created or not, depending on
      the proper command line option.
      6e67db5b
  21. 31 1月, 2015 1 次提交
  22. 29 1月, 2015 1 次提交
  23. 22 1月, 2015 1 次提交
    • L
      avocado: Improve avocado test load heuristics · 6674048d
      Lucas Meneghel Rodrigues 提交于
      When avocado analyzes a path that looks like a python module,
      first it'll try to import the module, then look for an appropriate
      test class inside this module. Improve the test load heuristics
      by looking for classes that inherit from avocado.test.Test, and
      not the rudimentary detection, inspired by autotest.
      
      If the module import went fine, but we simply can't find an
      avocado test inside of it, if the file is executable we'll
      try to execute it as a simple test. If it's not executable,
      it'll be considered as not a test (same count as not_found tests).
      If we can't import the module due to a test bug, once again we'll
      check if the file is executable - if executable, we'll execute it
      as a simple test, if not, we'll consider it a buggy test.
      
      Unfortunately there's no way to tell apart a buggy avocado test
      and a random py module with a bug, so both will be treated the same.
      Adjust code to reflect this new status.
      Signed-off-by: NLucas Meneghel Rodrigues <lmr@redhat.com>
      6674048d
  24. 11 12月, 2014 2 次提交
  25. 05 12月, 2014 1 次提交
  26. 03 12月, 2014 1 次提交
  27. 28 11月, 2014 1 次提交
  28. 25 11月, 2014 1 次提交
  29. 04 11月, 2014 1 次提交
    • R
      avocado.utils.script: Introduce script module. · 2b1e807b
      Rudá Moura 提交于
      Introduce avocado.utils.script module to handle the creation
      of scripts stored in the file system.
      
      The module includes a flexible class for creating generic scripts and
       includes utilities functions too. Some examples:
      
          CONTENT = """
          #!/bin/sh
          echo "Hi There!"
          """
      
          x = avocado.utils.script.Script('/var/tmp/test.sh', CONTENT)
          x.save()
          ... do something with x, like run it ...
          x.remove()
      
          t = avocado.utils.script.make_temp_script('test.sh', CONTENT)
          ... do something with y, like run it ...
      
      Avocado functional tests makes use of script creation,
      so we will handle these creation using this proper module.
      Signed-off-by: NRudá Moura <rmoura@redhat.com>
      2b1e807b
  30. 30 9月, 2014 1 次提交
  31. 26 9月, 2014 1 次提交
  32. 12 9月, 2014 1 次提交
    • L
      avocado: Move tests to example/tests · c04cbf42
      Lucas Meneghel Rodrigues 提交于
      We have tests/ and selftests/ in avocado (the test runner).
      The former includes examples of tests that make use of the
      avocado API, and are also used to test avocado via CI.
      
      This is confusing, as it doesn't make it clear to users that
      tests are not part of the avocado framework. Since we have a
      directory called examples with some other files (multiplexer,
      plugins), move the tests to there (and keep using them in the CI).
      Signed-off-by: NLucas Meneghel Rodrigues <lmr@redhat.com>
      c04cbf42
  33. 05 9月, 2014 1 次提交