Skip to content

Qt Logging, waitSignals

Compare
Choose a tag to compare
@nicoddemus nicoddemus released this 06 Jun 22:35
· 856 commits to master since this release
  • Messages sent by qDebug, qWarning, qCritical are captured and displayed when tests fail, similar to pytest-catchlog. Also, tests can be configured to automatically fail if an unexpected message is generated. (See docs).
  • New method waitSignals: will block untill all signals given are triggered, see docs (thanks @The-Compiler for idea and complete PR).
  • New parameter raising to waitSignals and waitSignals: when True (defaults to False) will raise a qtbot.SignalTimeoutError exception when timeout is reached, see docs (thanks again to @The-Compiler for idea and complete PR).
  • pytest-qt now requires pytest version >= 2.7.

Internal changes to improve memory management

  • QApplication.exit() is no longer called at the end of the test session and the QApplication instance is not garbage collected anymore;
  • QtBot no longer receives a QApplication as a parameter in the constructor, always referencing QApplication.instance() now; this avoids keeping an extra reference in the qtbot instances.
  • deleteLater is called on widgets added in QtBot.addWidget at the end of each test;
  • QApplication.processEvents() is called at the end of each test to make sure widgets are cleaned up;