- qtbot.waitSignal with raising=True is the default this way, so we remove the
raising=True.
- qtbot.waitSignal with raising=False stay untouched
- Some qtbot.waitSignal without raising had one added (because we don't want it
to raise)
- Some qtbot.waitSignal without raising actually should've raised, which they
do now.
The output was almost always useless without -v because the debug log wasn't
shown at all, only error/info.
Now we display a maximum of 50 lines (regardless of what level) without -v.
For some unknown reason, report.longrepr.addsection might not exist, which
caused failures on OS X and Windows. If that happens, we just don't add a
section at all.
When using print and relying on pytest to capture it as stdout, we ran into
this pytest/pytest-qt issue:
https://github.com/pytest-dev/pytest-qt/issues/113
Now we use our own capturing mechanism instead, which also means we get nicer
output.
Fixes#1122.
With this change, no test should affect another one anymore. Changes in detail:
- Before each test, invalid lines are cleaned so the invalid output from the
previous test doesn't affect the next one.
- Before each test, qutebrowser is restarted if it was quit.
- After each test, the data is cleared properly in every case.
- If there was an invalid output, the test waits for 1s for more output, and
then terminates qutebrowser so it's restarted with a clean state.
We need to search for lines in the history because we could miss something
otherwise, but for subsequent wait_for calls, we really don't want to wait for
the same thing again.
This should make test_backforward.py more stable as it *actually* waits when
going back now. Before, it did produce failures such as this one on OS X:
____________________________ test_going_backforward ____________________________
[..]
@bdd.then(bdd.parsers.parse("The requests should be:\n{pages}"))
def list_of_loaded_pages(httpbin, pages):
requests = [httpbin.Request('GET', '/' + path.strip())
for path in pages.split('\n')]
> assert httpbin.get_requests() == requests
E assert [Request(verb...rward/1.txt')] == [Request(verb=...rward/2.txt')]
E At index 3 diff: Request(verb='GET', path='/data/backforward/1.txt') != Request(verb='GET', path='/data/backforward/2.txt')
E Full diff:
E [Request(verb='GET', path='/data/backforward/1.txt'),
E Request(verb='GET', path='/data/backforward/2.txt'),
E Request(verb='GET', path='/data/backforward/1.txt'),
E - Request(verb='GET', path='/data/backforward/1.txt')]
E ? ^
E + Request(verb='GET', path='/data/backforward/2.txt')]
E ? ^
tests/integration/features/conftest.py:85: AssertionError