50 lines
1.5 KiB
Python
50 lines
1.5 KiB
Python
import os
|
|
|
|
import mozinfo
|
|
import mozinstall
|
|
import mozunit
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
mozinfo.isWin,
|
|
reason="Bug 1157352 - New icecat.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, "icecat")
|
|
|
|
assert mozinstall.get_binary(installdir, "icecat") == binary
|
|
|
|
elif mozinfo.isWin:
|
|
installdir_exe = mozinstall.install(
|
|
get_installer("exe"), tmpdir.join("exe").strpath
|
|
)
|
|
binary_exe = os.path.join(installdir_exe, "core", "icecat.exe")
|
|
|
|
assert mozinstall.get_binary(installdir_exe, "icecat") == binary_exe
|
|
|
|
installdir_zip = mozinstall.install(
|
|
get_installer("zip"), tmpdir.join("zip").strpath
|
|
)
|
|
binary_zip = os.path.join(installdir_zip, "icecat.exe")
|
|
|
|
assert mozinstall.get_binary(installdir_zip, "icecat") == binary_zip
|
|
|
|
elif mozinfo.isMac:
|
|
installdir = mozinstall.install(get_installer("dmg"), tmpdir.strpath)
|
|
binary = os.path.join(installdir, "Contents", "MacOS", "icecat")
|
|
|
|
assert mozinstall.get_binary(installdir, "icecat") == binary
|
|
|
|
|
|
def test_get_binary_error(tmpdir):
|
|
"""Test that an InvalidBinary error is raised."""
|
|
with pytest.raises(mozinstall.InvalidBinary):
|
|
mozinstall.get_binary(tmpdir.strpath, "icecat")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
mozunit.main()
|