summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozinstall/tests/test_binary.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozinstall/tests/test_binary.py')
-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()