1. 08 Aug, 2018 1 commit
  2. 20 Jul, 2018 2 commits
  3. 19 Dec, 2017 1 commit
  4. 23 Oct, 2017 1 commit
  5. 19 Jan, 2017 1 commit
  6. 09 Sep, 2016 1 commit
  7. 02 Sep, 2016 1 commit
  8. 05 Aug, 2016 7 commits
  9. 02 Jun, 2016 2 commits
  10. 14 Apr, 2016 1 commit
  11. 13 Apr, 2016 2 commits
    • Dylan Baker's avatar
      unittests: move generator tests to unittests · da9a6c51
      Dylan Baker authored
      This is excluded in tox for the non-generator profile. This allows us to
      share the utils directory easily, and puts *all* of the tests in one
      directory.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      da9a6c51
    • Dylan Baker's avatar
      generators: Add helper classes for GLSL version numbers · d0dc5f87
      Dylan Baker authored
      This adds a new module in the generated_tests/modules directory, which
      contains three classes, GLSLVersion, GLSLESVersion, and Version. Version
      is a factory that caches other versions and makes GLSLVersion and
      GLSLESVersion instances on demand.
      
      The goal of these classes is to provide a simple, unified method for
      dealing with GLSL version numbers, which is something that a lot of
      generators need to do. To that end it provides rich comparisons against
      each other and against ints and floats. The hope is that other generator
      writers could leverage this work in their generators to simplify things.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      Acked-by: Ilia Mirkin's avatarIlia Mirkin <imirkin@alum.mit.edu>
      d0dc5f87
  12. 18 Feb, 2016 2 commits
  13. 11 Feb, 2016 1 commit
    • Dylan Baker's avatar
      python: function with six version 1.5.2 · c4a5618a
      Dylan Baker authored
      CMake actually marks that we require six 1.4.0, however, I can't find
      any packages anywhere for 1.4.0, and the lowest version I've seen
      requested is 1.5.2.
      
      This fixes requirements for working with six 1.5.2, and sets tox to use
      1.5.2 (and a suitable version of mock). Primarily there are a few things
      we're using that are not available: six.moves.getcwd, six.viewvalues,
      six.python_2_unicode_compatible.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      Tested-by: Brian Paul's avatarBrian Paul <brianp@vmware.com>
      c4a5618a
  14. 08 Feb, 2016 3 commits
  15. 21 Jan, 2016 1 commit
    • Dylan Baker's avatar
      framework/test/base.py: use subprocess32 for timeouts. · 09fc4303
      Dylan Baker authored
      Subprocess32 provides a backport of python 3.2's subprocess module,
      which has a timeout parameter for Popen.communicate. When the timeout
      runs out then an exception is raised, and when that exception is caught
      we can kill the process.
      
      This is fairly similar to the way the current timeout mechanism works,
      except that the current mechanism is not thread safe. Since one of the
      major features of piglit is that it offer's processes isolated
      concurrency of tests, it makes sense to make the effort to provide a
      timeout mechanism that supports concurrency. Unfortunately there isn't a
      good cross platform mechanism for this in python 2.x, even with
      subprocess 32 only *nix systems are supported, not windows.
      
      The big advantage of this is it allows consistent behavior between
      python 2.x and 3.x as we look toward the future and the possibility of
      using a hybrid approach to transition to python 3.x while maintaining
      2.x support until it's not needed.
      
      This patch look pretty substantial. It's not as big as it looks, since
      it adds some fairly big tests.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      09fc4303
  16. 08 Jan, 2016 2 commits
  17. 30 Nov, 2015 1 commit
    • Dylan Baker's avatar
      dmesg_tests.py: rework entire module to be better · a74b8cde
      Dylan Baker authored
      This module reworks the dmesg testing to be much more robust, largely by
      taking advantage of the mock module. This allows us test test dmesg
      without actually calling dmesg, which eliminates the need for root
      privileges, and allowing all tests to run on all platforms.
      
      These tests also don't probe at the internal bits of the class, instead
      they probe at the public API.
      
      This significantly simplifies the tests, increases coverage, and
      improves the quality of the tests in many cases, while making some of
      the tests less fragile but less specific in other cases.
      
      v2: - add tests for dmesg wrapping. Tests for this functionality where
            present in the replaced implementation.
          - remove '--attr=\!privileged' from tox.ini. There are now no
            privileged tests, so no need to exclude them
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      a74b8cde
  18. 30 Oct, 2015 1 commit
    • Dylan Baker's avatar
      framework/tests/oglconform_tests.py: Add tests for tests/oglconform.py · cffbe44c
      Dylan Baker authored
      This adds a pretty extensive set of tests for oglconform.py, with the
      goal of making further cleanups and refactors easier and not introducing
      regressions.
      
      This adds a dependency of mock for the unittests. No production code
      needs this dependency, so this wont affect most (any?) piglit users.
      Mock allows for better testing, in fact, it allows oglconform to be
      tested even when it's not installed.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      cffbe44c
  19. 19 Oct, 2015 2 commits
  20. 09 Oct, 2015 3 commits
    • Dylan Baker's avatar
      tox: Also test python 3.{3-5} for the generators. · 663aeb07
      Dylan Baker authored
      This tests the test generators with python 3.x as well as 2.x. The
      generators have been supposed to build with python 3.3+ for some time,
      but haven't.
      
      This exposes a bug in the tessealation generators that keep them from
      building with python 3.x, and these tests fail. This is expected, and
      there are patches out for review to correct this.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      663aeb07
    • Dylan Baker's avatar
      tox: Add a test module for testing the generators. · 24eb4586
      Dylan Baker authored
      This test module provides a function that enumerates the test generators
      (it assumes that all files ending in .py are generators unless they're
      black listed), and generates a nose job for each of them.
      
      This allows us to ensure that the generators work in an automated
      fashion, and with a simple patch will allow us to test them with various
      versions of python (2.7 and 3.3+), which we claim to support with the
      generators.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      24eb4586
    • Dylan Baker's avatar
      framework: add tox testing support · 53638cf2
      Dylan Baker authored
      tox is a python test manager that runs the tests in isolated
      environments with their own copies of dependent libraries, and can be
      used to test against multiple versions of python. This allows us to
      easily test the framework with and without the acceleration modules it
      can optionally use (simplejson and lxml), it will also allow us to test
      against multiple versions of python 3.x (which we support for the
      generators, and presumably will support in the future)
      
      This uses the coverage module, and uses nose's cover-tests option.
      Unfortunately nose assumes that anything /[Tt]est/ is a test, and hides
      the tests for the test package. This might be resolvable by modifying
      the regex, but it isn't something straightforward to fix. Using
      --cover-tests will get us the test package, but it also gets us the
      tests package.
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      53638cf2