summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-03-18 11:04:39 +0100
committerFlorian Bruhin <me@the-compiler.org>2021-03-18 11:07:51 +0100
commit37a41c7b7ac924b93bacad25926cb731e5c9e080 (patch)
treef055d0a56f9aa304c0abe55d0555888f1550dd6b
parent3acdb3288c9de923abb811c2c7385c5c9ff2c47d (diff)
downloadqutebrowser-37a41c7b7ac924b93bacad25926cb731e5c9e080.tar.gz
qutebrowser-37a41c7b7ac924b93bacad25926cb731e5c9e080.zip
Add a test for flatpak runtime dir
See #6300 (cherry picked from commit ca8c3205857bf81a06f8f36aae999303281412e2, but adjusted for this branch)
-rw-r--r--qutebrowser/browser/history.py2
-rw-r--r--tests/unit/utils/test_standarddir.py13
2 files changed, 13 insertions, 2 deletions
diff --git a/qutebrowser/browser/history.py b/qutebrowser/browser/history.py
index 9eaa88760..773c6cc51 100644
--- a/qutebrowser/browser/history.py
+++ b/qutebrowser/browser/history.py
@@ -178,7 +178,7 @@ class WebHistory(sql.SqlTable):
try:
rebuild_completion = self.metainfo['force_rebuild']
- except sql.BugError:
+ except sql.BugError: # pragma: no cover
log.sql.warning("Failed to access meta info, trying to recover...",
exc_info=True)
self.metainfo.try_recover()
diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py
index 5b24ed962..6da33fe82 100644
--- a/tests/unit/utils/test_standarddir.py
+++ b/tests/unit/utils/test_standarddir.py
@@ -31,7 +31,7 @@ import subprocess
from PyQt5.QtCore import QStandardPaths
import pytest
-from qutebrowser.utils import standarddir, utils, qtutils
+from qutebrowser.utils import standarddir, utils, qtutils, version
# Use a different application name for tests to make sure we don't change real
@@ -202,6 +202,17 @@ class TestStandardDir:
standarddir._init_runtime(args=None)
assert standarddir.runtime() == str(tmpdir_env / APPNAME)
+ def test_flatpak_runtimedir(self, monkeypatch, tmp_path):
+ app_id = 'org.qutebrowser.qutebrowser'
+ expected = tmp_path / 'app' / app_id
+
+ monkeypatch.setattr(version, 'is_sandboxed', lambda: True)
+ monkeypatch.setenv('XDG_RUNTIME_DIR', str(tmp_path))
+ monkeypatch.setenv('FLATPAK_ID', app_id)
+
+ standarddir._init_runtime(args=None)
+ assert standarddir.runtime() == str(expected)
+
@pytest.mark.fake_os('windows')
def test_runtimedir_empty_tempdir(self, monkeypatch, tmpdir):
"""With an empty tempdir on non-Linux, we should raise."""