{"action":"created","issue":{"url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/43","labels_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/43/labels{/name}","comments_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/43/comments","events_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/43/events","html_url":"https://github.com/pytest-dev/pytest-qt/pull/43","id":78245583,"number":43,"title":"[WIP] Add waitSignals.","user":{"login":"The-Compiler","id":625793,"avatar_url":"https://avatars.githubusercontent.com/u/625793?v=3","gravatar_id":"","url":"https://api.github.com/users/The-Compiler","html_url":"https://github.com/The-Compiler","followers_url":"https://api.github.com/users/The-Compiler/followers","following_url":"https://api.github.com/users/The-Compiler/following{/other_user}","gists_url":"https://api.github.com/users/The-Compiler/gists{/gist_id}","starred_url":"https://api.github.com/users/The-Compiler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/The-Compiler/subscriptions","organizations_url":"https://api.github.com/users/The-Compiler/orgs","repos_url":"https://api.github.com/users/The-Compiler/repos","events_url":"https://api.github.com/users/The-Compiler/events{/privacy}","received_events_url":"https://api.github.com/users/The-Compiler/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2015-05-19T20:48:22Z","updated_at":"2015-06-02T12:36:20Z","closed_at":"2015-06-02T01:49:05Z","pull_request":{"url":"https://api.github.com/repos/pytest-dev/pytest-qt/pulls/43","html_url":"https://github.com/pytest-dev/pytest-qt/pull/43","diff_url":"https://github.com/pytest-dev/pytest-qt/pull/43.diff","patch_url":"https://github.com/pytest-dev/pytest-qt/pull/43.patch"},"body":"After I was stuck with the other PR I tried adding something else I've been missing: The possibility to wait for *multiple* signals (until all have been emitted).\r\n\r\nHere I also get a segfault:\r\n\r\n```\r\npytestqt/_tests/test_wait_signal.py::test_signal_triggered[wait_function5-2000-500-False] PASSED\r\npytestqt/_tests/test_wait_signal.py::test_signal_triggered_multiple[wait_function0-5000-10000-20000-True] Fatal Python error: Segmentation fault\r\n\r\nCurrent thread 0x00007f827e961700 (most recent call first):\r\n  File \"/home/florian/proj/pytest-qt/pytestqt/plugin.py\", line 418 in wait\r\n  File \"/home/florian/proj/pytest-qt/pytestqt/_tests/test_wait_signal.py\", line 32 in explicit_wait\r\n  File \"/home/florian/proj/pytest-qt/pytestqt/_tests/test_wait_signal.py\", line 112 in test_signal_triggered_multiple\r\n[...]\r\n```\r\n\r\n```\r\n#0  0x0000555555d824a0 in ?? ()\r\n#1  0x00007ffff3062921 in pyqtBoundSignal_emit (self=0x7ffff3371878, args=0x7ffff7fb8048) at ../qpy/QtCore/qpycore_pyqtboundsignal.cpp:633\r\n#2  0x00007ffff79a9528 in PyObject_Call (func=func@entry=0x7fffe8f3fb08, arg=arg@entry=0x7ffff7fb8048, kw=<optimized out>) at Objects/abstract.c:2040\r\n#3  0x00007ffff7a56867 in PyEval_CallObjectWithKeywords (func=0x7fffe8f3fb08, arg=0x7ffff7fb8048, kw=<optimized out>) at Python/ceval.c:4114\r\n#4  0x00007ffff304e610 in PyQtSlot::call (this=0x555555e4b2e0, callable=0x7fffe8f3fb08, args=0x7ffff7fb8048) at ../qpy/QtCore/qpycore_pyqtslot.cpp:222\r\n#5  0x00007ffff304e390 in PyQtSlot::invoke (this=0x555555e4b2e0, qargs=0x7fffffff73f0, self=0x0, result=0x0, no_receiver_check=false) at ../qpy/QtCore/qpycore_pyqtslot.cpp:147\r\n#6  0x00007ffff304e0b6 in PyQtSlot::invoke (this=0x555555e4b2e0, qargs=0x7fffffff73f0, no_receiver_check=false) at ../qpy/QtCore/qpycore_pyqtslot.cpp:76\r\n#7  0x00007ffff304fa2d in PyQtSlotProxy::unislot (this=0x555555e6a330, qargs=0x7fffffff73f0) at ../qpy/QtCore/qpycore_pyqtslotproxy.cpp:205\r\n#8  0x00007ffff304f981 in PyQtSlotProxy::qt_metacall (this=0x555555e6a330, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffff73f0) at ../qpy/QtCore/qpycore_pyqtslotproxy.cpp:170\r\n#9  0x00007ffff2bbccea in QMetaObject::activate (sender=sender@entry=0x555555e50eb0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3733\r\n#10 0x00007ffff2bbd257 in QMetaObject::activate (sender=sender@entry=0x555555e50eb0, m=m@entry=0x7ffff2dd90c0 <QSingleShotTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0)\r\n    at kernel/qobject.cpp:3583\r\n#11 0x00007ffff2bca71b in timeout (this=0x555555e50eb0) at .moc/qtimer.moc:123\r\n#12 QSingleShotTimer::timerEvent (this=0x555555e50eb0) at kernel/qtimer.cpp:318\r\n#13 0x00007ffff2bbd8e3 in QObject::event (this=0x555555e50eb0, e=<optimized out>) at kernel/qobject.cpp:1268\r\n#14 0x00007fffe9d3f646 in QApplicationPrivate::notify_helper (this=this@entry=0x555555d537f0, receiver=receiver@entry=0x555555e50eb0, e=e@entry=0x7fffffff7780) at kernel/qapplication.cpp:3717\r\n#15 0x00007fffe9d44521 in QApplication::notify (this=0x555555d3a4c0, receiver=0x555555e50eb0, e=0x7fffffff7780) at kernel/qapplication.cpp:3161\r\n#16 0x00007fffe92d9f18 in sipQApplication::notify (this=0x555555d3a4c0, a0=0x555555e50eb0, a1=0x7fffffff7780) at sipQtWidgetsQApplication.cpp:349\r\n#17 0x00007ffff2b8c9fb in QCoreApplication::notifyInternal (this=0x555555d3a4c0, receiver=0x555555e50eb0, event=event@entry=0x7fffffff7780) at kernel/qcoreapplication.cpp:963\r\n#18 0x00007ffff2be4aad in sendEvent (event=0x7fffffff7780, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224\r\n#19 QTimerInfoList::activateTimers (this=0x555555d79830) at kernel/qtimerinfo_unix.cpp:637\r\n#20 0x00007ffff2be4ef1 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177\r\n#21 0x00007ffff16b39fd in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0\r\n#22 0x00007ffff16b3ce0 in ?? () from /usr/lib/libglib-2.0.so.0\r\n#23 0x00007ffff16b3d8c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0\r\n#24 0x00007ffff2be5bcc in QEventDispatcherGlib::processEvents (this=0x555555d79550, flags=...) at kernel/qeventdispatcher_glib.cpp:418\r\n#25 0x00007fffe87eb94c in QPAEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at eventdispatchers/qeventdispatcher_glib.cpp:115\r\n#26 0x00007ffff2b8a3f2 in QEventLoop::exec (this=0x555555b577a0, flags=...) at kernel/qeventloop.cpp:204\r\n[...]\r\n```"},"comment":{"url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/comments/107938791","html_url":"https://github.com/pytest-dev/pytest-qt/pull/43#issuecomment-107938791","issue_url":"https://api.github.com/repos/pytest-dev/pytest-qt/issues/43","id":107938791,"user":{"login":"nicoddemus","id":1085180,"avatar_url":"https://avatars.githubusercontent.com/u/1085180?v=3","gravatar_id":"","url":"https://api.github.com/users/nicoddemus","html_url":"https://github.com/nicoddemus","followers_url":"https://api.github.com/users/nicoddemus/followers","following_url":"https://api.github.com/users/nicoddemus/following{/other_user}","gists_url":"https://api.github.com/users/nicoddemus/gists{/gist_id}","starred_url":"https://api.github.com/users/nicoddemus/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nicoddemus/subscriptions","organizations_url":"https://api.github.com/users/nicoddemus/orgs","repos_url":"https://api.github.com/users/nicoddemus/repos","events_url":"https://api.github.com/users/nicoddemus/events{/privacy}","received_events_url":"https://api.github.com/users/nicoddemus/received_events","type":"User","site_admin":false},"created_at":"2015-06-02T12:36:20Z","updated_at":"2015-06-02T12:36:20Z","body":"Sure thing, thank you! :smile:"}}