summaryrefslogtreecommitdiff
path: root/tests/unit/utils/test_version.py
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2021-03-31 09:50:25 +0200
committerFlorian Bruhin <me@the-compiler.org>2021-03-31 13:57:51 +0200
commit8d18255563968496c8d893a301405d33dcdc02d5 (patch)
tree8691d45f1e26691fb0ece933dab55c79efb1680c /tests/unit/utils/test_version.py
parent45d34846c8d43939f07f2c74cab761224a39bf20 (diff)
downloadqutebrowser-8d18255563968496c8d893a301405d33dcdc02d5.tar.gz
qutebrowser-8d18255563968496c8d893a301405d33dcdc02d5.zip
flatpak: Try getting ID from /.flatpak_info
(cherry picked from commit 8b49d87526dd34380df6e98800ecc82367b48be1)
Diffstat (limited to 'tests/unit/utils/test_version.py')
-rw-r--r--tests/unit/utils/test_version.py34
1 files changed, 21 insertions, 13 deletions
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index 7ad223e4b..dcca7e790 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -304,19 +304,27 @@ def test_distribution(tmpdir, monkeypatch, os_release, expected):
assert version.distribution() == expected
-@pytest.mark.parametrize('distribution, expected', [
- (None, False),
- (version.DistributionInfo(
- id='org.kde.Platform', parsed=version.Distribution.kde_flatpak,
- version=utils.VersionNumber(5, 12),
- pretty='Unknown'), True),
- (version.DistributionInfo(
- id='arch', parsed=version.Distribution.arch, version=None,
- pretty='Arch Linux'), False)
-])
-def test_is_flatpak(monkeypatch, distribution, expected):
- monkeypatch.setattr(version, "distribution", lambda: distribution)
- assert version.is_flatpak() == expected
+@pytest.mark.parametrize('has_env', [True, False])
+@pytest.mark.parametrize('has_file', [True, False])
+def test_is_flatpak(monkeypatch, tmp_path, has_env, has_file):
+ if has_env:
+ monkeypatch.setenv('FLATPAK_ID', 'org.qutebrowser.qutebrowser')
+ else:
+ monkeypatch.delenv('FLATPAK_ID', raising=False)
+
+ fake_info_path = tmp_path / '.flatpak_info'
+ if has_file:
+ lines = [
+ "[Application]",
+ "name=org.qutebrowser.qutebrowser",
+ "runtime=runtime/org.kde.Platform/x86_64/5.15",
+ ]
+ fake_info_path.write_text('\n'.join(lines))
+ else:
+ assert not fake_info_path.exists()
+ monkeypatch.setattr(version, '_FLATPAK_INFO_PATH', str(fake_info_path))
+
+ assert version.is_flatpak() == (has_env or has_file)
class GitStrSubprocessFake: