summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozinstall/tests/test_binary.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /testing/mozbase/mozinstall/tests/test_binary.py
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--testing/mozbase/mozinstall/tests/test_binary.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/testing/mozbase/mozinstall/tests/test_binary.py b/testing/mozbase/mozinstall/tests/test_binary.py
new file mode 100644
index 0000000000..6454c78ef5
--- /dev/null
+++ b/testing/mozbase/mozinstall/tests/test_binary.py
@@ -0,0 +1,50 @@
+import os
+
+import mozinfo
+import mozinstall
+import mozunit
+import pytest
+
+
+@pytest.mark.skipif(
+ mozinfo.isWin,
+ reason="Bug 1157352 - New firefox.exe needed for mozinstall 1.12 and higher.",
+)
+def test_get_binary(tmpdir, get_installer):
+ """Test to retrieve binary from install path."""
+ if mozinfo.isLinux:
+ installdir = mozinstall.install(get_installer("tar.bz2"), tmpdir.strpath)
+ binary = os.path.join(installdir, "firefox")
+
+ assert mozinstall.get_binary(installdir, "firefox") == binary
+
+ elif mozinfo.isWin:
+ installdir_exe = mozinstall.install(
+ get_installer("exe"), tmpdir.join("exe").strpath
+ )
+ binary_exe = os.path.join(installdir_exe, "core", "firefox.exe")
+
+ assert mozinstall.get_binary(installdir_exe, "firefox") == binary_exe
+
+ installdir_zip = mozinstall.install(
+ get_installer("zip"), tmpdir.join("zip").strpath
+ )
+ binary_zip = os.path.join(installdir_zip, "firefox.exe")
+
+ assert mozinstall.get_binary(installdir_zip, "firefox") == binary_zip
+
+ elif mozinfo.isMac:
+ installdir = mozinstall.install(get_installer("dmg"), tmpdir.strpath)
+ binary = os.path.join(installdir, "Contents", "MacOS", "firefox")
+
+ assert mozinstall.get_binary(installdir, "firefox") == binary
+
+
+def test_get_binary_error(tmpdir):
+ """Test that an InvalidBinary error is raised."""
+ with pytest.raises(mozinstall.InvalidBinary):
+ mozinstall.get_binary(tmpdir.strpath, "firefox")
+
+
+if __name__ == "__main__":
+ mozunit.main()