silx.test:

silx.test

silx.test.utils

silx.gui.utils.testutils

Helper class to write Qt widget unittests.

qWaitForWindowExposedAndActivate(window, timeout=None)[source]

Waits until the window is shown in the screen.

It also activates the window and raises it.

See QTest.qWaitForWindowExposed for details.

class TestCaseQt(methodName='runTest')[source]

Base class to write test for Qt stuff.

It creates a QApplication before running the tests. WARNING: The QApplication is shared by all tests, which might have side effects.

After each test, this class is checking for widgets remaining alive. To allow some widgets to remain alive at the end of a test, set the allowedLeakingWidgets attribute to the number of widgets that can remain alive at the end of the test. With PySide2, this test is not run for now as it seems PySide2 is leaking widgets internally.

All keyboard and mouse event simulation methods call qWait(20) after simulating the event (as QTest does on Mac OSX). This was introduced to fix issues with continuous integration tests running with Xvfb on Linux.

DEFAULT_TIMEOUT_WAIT = 100

Default timeout for qWait

TIMEOUT_WAIT = 0

Extra timeout in millisecond to add to qSleep, qWait and qWaitForWindowExposed.

Intended purpose is for debugging, to add extra time to waits in order to allow to view the tested widgets.

classmethod setUpClass()[source]

Makes sure Qt is inited

classmethod tearDownClass()[source]

Hook method for deconstructing the class fixture after running all tests in the class.

setUp()[source]

Get the list of existing widgets.

tearDown()[source]

Hook method for deconstructing the test fixture after testing it.

property qapp

The QApplication currently running.

Press = 0

Key press action code

Release = 1

Key release action code

Click = 2

Key click action code

property QTest

The Qt QTest class from the used Qt binding.

keyClick(widget, key, modifier=0, delay=- 1)[source]

Simulate clicking a key.

See QTest.keyClick for details.

keyClicks(widget, sequence, modifier=0, delay=- 1)[source]

Simulate clicking a sequence of keys.

See QTest.keyClick for details.

keyEvent(action, widget, key, modifier=0, delay=- 1)[source]

Sends a Qt key event.

See QTest.keyEvent for details.

keyPress(widget, key, modifier=0, delay=- 1)[source]

Sends a Qt key press event.

See QTest.keyPress for details.

keyRelease(widget, key, modifier=0, delay=- 1)[source]

Sends a Qt key release event.

See QTest.keyRelease for details.

mouseClick(widget, button, modifier=None, pos=None, delay=- 1)[source]

Simulate clicking a mouse button.

See QTest.mouseClick for details.

mouseDClick(widget, button, modifier=None, pos=None, delay=- 1)[source]

Simulate double clicking a mouse button.

See QTest.mouseDClick for details.

mouseMove(widget, pos=None, delay=- 1)[source]

Simulate moving the mouse.

See QTest.mouseMove for details.

mousePress(widget, button, modifier=None, pos=None, delay=- 1)[source]

Simulate pressing a mouse button.

See QTest.mousePress for details.

mouseRelease(widget, button, modifier=None, pos=None, delay=- 1)[source]

Simulate releasing a mouse button.

See QTest.mouseRelease for details.

qSleep(ms)[source]

Sleep for ms milliseconds, blocking the execution of the test.

See QTest.qSleep for details.

classmethod qWait(ms=None)[source]

Waits for ms milliseconds, events will be processed.

See QTest.qWait for details.

qWaitForWindowExposed(window, timeout=None)[source]

Waits until the window is shown in the screen.

See QTest.qWaitForWindowExposed for details.

exposeAndClose(widget)[source]

Wait for expose a widget, flag it delete on close, and close it.

classmethod qWaitForDestroy(ref)[source]

Wait for Qt object destruction.

Use a weakref as parameter to avoid any strong references to the object.

It have to be used as following. Removing the reference to the object before calling the function looks to be expected, else deleteLater() will not work.

ref = weakref.ref(self.obj)
self.obj = None
self.qWaitForDestroy(ref)
Parameters

ref (weakref) – A weakref to an object to avoid any reference

Returns

True if the object was destroyed

Return type

bool

logScreenShot(level=40)[source]

Take a screenshot and log it into the logging system if the logger is enabled for the expected level.

The screenshot is stored in the directory “./build/test-debug”, and the logging system only log the path to this file.

Parameters

level – Logging level

class SignalListener[source]

Util to listen a Qt event and store parameters

clear()[source]

Clear stored data

callCount()[source]

Returns how many times the listener was called.

Return type

int

arguments(callIndex=None, argumentIndex=None)[source]

Returns positional arguments optionally filtered by call count id or argument index.

Parameters
  • callIndex (int) – Index of the called data

  • argumentIndex (int) – Index of the positional argument.

karguments(callIndex=None, argumentName=None)[source]

Returns positional arguments optionally filtered by call count id or name of the keyword argument.

Parameters
  • callIndex (int) – Index of the called data

  • argumentName (int) – Name of the keyword argument.

partial(*args, **kargs)[source]

Returns a new partial object which when called will behave like this listener called with the positional arguments args and keyword arguments keywords. If more arguments are supplied to the call, they are appended to args. If additional keyword arguments are supplied, they extend and override keywords.

getQToolButtonFromAction(action)[source]

Return a QToolButton corresponding to a QAction.

Parameters

action (QAction) – The QAction from which to get QToolButton.

Returns

A QToolButton associated to action or None.