1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-25 04:46:25 +00:00

Support arch specific dockerfiles (#4022)

This commit is contained in:
Pascal Vizeli
2022-11-28 09:09:22 +01:00
committed by GitHub
parent fad75810ab
commit 2ddb5ca53f
3 changed files with 85 additions and 11 deletions

View File

@@ -19,3 +19,57 @@ async def test_platform_set(coresys: CoreSys, install_addon_ssh: Addon):
args = build.get_docker_args(AwesomeVersion("latest"))
assert args["platform"] == "linux/amd64"
async def test_dockerfile_evaluation(coresys: CoreSys, install_addon_ssh: Addon):
"""Test platform set in docker args."""
build = AddonBuild(coresys, install_addon_ssh)
with patch.object(
type(coresys.arch), "supported", new=PropertyMock(return_value=["amd64"])
), patch.object(
type(coresys.arch), "default", new=PropertyMock(return_value="amd64")
):
args = build.get_docker_args(AwesomeVersion("latest"))
assert args["dockerfile"].endswith("fixtures/addons/local/ssh/Dockerfile")
assert str(build.dockerfile).endswith("fixtures/addons/local/ssh/Dockerfile")
assert build.arch == "amd64"
async def test_dockerfile_evaluation_arch(coresys: CoreSys, install_addon_ssh: Addon):
"""Test platform set in docker args."""
build = AddonBuild(coresys, install_addon_ssh)
with patch.object(
type(coresys.arch), "supported", new=PropertyMock(return_value=["aarch64"])
), patch.object(
type(coresys.arch), "default", new=PropertyMock(return_value="aarch64")
):
args = build.get_docker_args(AwesomeVersion("latest"))
assert args["dockerfile"].endswith("fixtures/addons/local/ssh/Dockerfile.aarch64")
assert str(build.dockerfile).endswith(
"fixtures/addons/local/ssh/Dockerfile.aarch64"
)
assert build.arch == "aarch64"
async def test_build_valid(coresys: CoreSys, install_addon_ssh: Addon):
"""Test platform set in docker args."""
build = AddonBuild(coresys, install_addon_ssh)
with patch.object(
type(coresys.arch), "supported", new=PropertyMock(return_value=["aarch64"])
), patch.object(
type(coresys.arch), "default", new=PropertyMock(return_value="aarch64")
):
assert build.is_valid
async def test_build_invalid(coresys: CoreSys, install_addon_ssh: Addon):
"""Test platform set in docker args."""
build = AddonBuild(coresys, install_addon_ssh)
with patch.object(
type(coresys.arch), "supported", new=PropertyMock(return_value=["amd64"])
), patch.object(
type(coresys.arch), "default", new=PropertyMock(return_value="amd64")
):
assert not build.is_valid