With QtWebKit it's probably okay to still use it (*cough* Hyperbola
GNU/Linux-libre^tm *cough*), and only blacklisting it with QtWebEngine would be
quite some effort.
Fixes#3608
After reading https://pyyaml.org/wiki/PyYAMLDocumentation again, turns out
Loader.add_constructor and .add_implicit_resolver are actually *class* methods.
In other words, we've been adding dozens of constructors/resolvers to the
default YAML loader object, causing it to slow down massively in other tests
which call configdata.init().
Instead, create our own loader class and only add them once there.
I'm still not sure why this caused the duration to increase with every YAML load
though - that might still be some kind of bug in PyYAML.
Fixes#2777
The test above this one loads hello.txt, but we don't wait for the "load
finished" message, so it can arrive after the previous test already finished and
make this test not wait properly.
However, we also can't easily wait for the load finished message in the
previous test as it only appears with QtWebEngine, not QtWebKit.
As a workaround, we simply load another file in that test, to circumvent this
kind of cross-interaction.
These are passing locally but failing in travis. This fixes two possible
timing issues:
- Ensure the signals are set up befor the pidfile is written. The
function that sends the signal waits for the pidfile to exist, so this
ensures we don't miss a signal.
- Wait for the log message indicating that the editor file was read
back, so the test doesn't run through before we get a chance to read
from the editor.