1. 27 May, 2016 1 commit
    • Olivier Berthier's avatar
      framework: Add aborting option when a monitored error is detected · 21031482
      Olivier Berthier authored
      This adds a policy which advises when the user should reboot the system
      to avoid noisy test results due to system becoming unstable, for
      instance, and therefore continues testing successfully.
      
      To do this, a new module is proposed. A class Monitoring is used for
      managing the monitoring rules. Two types of rules, MonitoringFile and
      MonitoringLinuxDmesg, derived from the abstract class MonitoringBase,
      have been implemented. The first allow to track a pattern on standard
      files or locked files. The second, derived from dmesg.LinuxDmesg, will
      track a pattern on the dmesg.
      
      The monitoring rules must be defined in piglit.conf at the section
      monitored-errors. If one of the regex is found, Piglit will raise a
      PiglitAbort exception, stop the test execution -terminating test thread
      pool- and exit with code 3.
      
      Then test execution resume, after rebooting the system or not, is done
      like usually with command line parameter "resume".
      
      To call it, use command line parameter: --abort-on-monitored-error
      
      This option implies --no-concurrent
      
      This include also a set of unit tests for this module.
      Reviewed-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      21031482
  2. 08 Feb, 2016 2 commits
  3. 23 Nov, 2015 1 commit
  4. 11 Nov, 2015 2 commits
    • Dylan Baker's avatar
      framework: Convert the codebase to use the new global Options · a759c320
      Dylan Baker authored
      This is the plunge to change over from the old options model to the new
      one. After this change Options is a global value, and no more passing or
      creation of new instances is done (except for testing).
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      a759c320
    • Dylan Baker's avatar
      framework: make options a global variable. · 6f32e3fb
      Dylan Baker authored
      This changes the behavior of the Options class. Instead of being an
      instance that's passed around, it's now treated as a global variable (or
      as close to one as python gets to having globals), anyone who needs it
      goes and gets it out of the options namespace and uses it.
      
      This patch does a lot of refactoring work that is needed to ensure that
      Options continues to work as it did before (where it was mostly
      initialized and then passed around), This includes a significant amount
      of testing for the new code around Options.
      
      v2: - fix spelling in comments and docstrings
          - Fix _ReList docstring, which was _ReListDescriptor's docstring
          - Fix _ReList.__compile to ensure RegexObject.flags was correct
          - Add docstring to _ReList.__compile
          - Add __delete__ to _ReListDescriptor as NotImplementedError, this
            is just a completeness issue
          - Add/update tests for these changes
          - Remove duplicate addition of 'mock' to tox.ini
      Signed-off-by: default avatarDylan Baker <dylanx.c.baker@intel.com>
      6f32e3fb