Some tests fail on arm64
Metadata
Current evaluation
Closed without resolution. Tests fail on arm64 due to hard-coded amd64 architecture in expected values. No fix or merge was provided, leaving the issue abandoned.
Suggested action: —
No scores available.
Issue body
### Bug Description
Some tests fail on arm64 due to having the architecture hard-coded into expected values.
### To Reproduce
Run tests on arm64
### part yaml
_No response_
### Relevant log output
```shell
=================================== FAILURES ===================================
_________________________________ test_install _________________________________
fake_etc_apt = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install0/etc/apt')
all_repo_types = [{'components': ['main'], 'formats': ['deb', 'deb-src'], 'key-id': '78E1918602959B9C59103100F1831DDAFC42E99D', 'priori..., 'suites': ['focal'], 'type': 'apt', ...}, {'cloud': 'antelope', 'pocket': 'updates', 'priority': 123, 'type': 'apt'}]
test_keys_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install0/keys')
@pytest.mark.slow
def test_install(fake_etc_apt, all_repo_types, test_keys_dir):
"""Integrated test that checks the configuration of keys, sources and pins."""
assert repo.install(project_repositories=all_repo_types, key_assets=test_keys_dir)
check_keyrings(fake_etc_apt)
> check_sources(fake_etc_apt, signed_by_location=fake_etc_apt / "keyrings")
tests/integration/repo/test_installer.py:205:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
etc_apt_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install0/etc/apt')
signed_by_location = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install0/etc/apt/keyrings')
def check_sources(etc_apt_dir: Path, signed_by_location: Path) -> None:
sources_dir = etc_apt_dir / "sources.list.d"
keyrings_on_fs = etc_apt_dir / "keyrings"
if CLOUD_DATA:
cloud_name = CLOUD_DATA["cloud"]
codename = CLOUD_DATA["codename"]
else:
cloud_name = codename = None
# Must have exactly these sources files, one for each repo
source_to_contents = {
"http_ppa_launchpad_net_snappy_dev_snapcraft_daily_ubuntu": APT_SOURCES.format(
key_location=signed_by_location
),
"ppa-deadsnakes_ppa": PPA_SOURCES.format(
codename=VERSION_CODENAME, key_location=signed_by_location
),
"http_apt_puppet_com": PUPPET_SOURCES.format(key_location=signed_by_location),
}
if CLOUD_DATA:
source_to_contents[f"cloud-{cloud_name}"] = CLOUD_SOURCES.format(
cloud=cloud_name,
codename=codename,
key_location=signed_by_location,
)
assert len(list(keyrings_on_fs.iterdir())) == len(source_to_contents)
for source_repo, expected_contents in source_to_contents.items():
source_file = sources_dir / f"craft-{source_repo}.sources"
assert source_file.is_file()
> assert source_file.read_text() == expected_contents
E AssertionError: assert 'Types: deb d...C42E99D.gpg\n' == 'Types: deb d...C42E99D.gpg\n'
E Types: deb deb-src
E URIs: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
E Suites: focal
E Components: main
E - Architectures: amd64
E ? -
E + Architectures: arm64
E ? +
E Signed-By: /tmp/pytest-of-ubuntu/pytest-0/test_install0/etc/apt/keyrings/craft-FC42E99D.gpg
tests/integration/repo/test_installer.py:275: AssertionError
_____________________________ test_install_in_root _____________________________
tmp_path = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install_in_root0')
all_repo_types = [{'components': ['main'], 'formats': ['deb', 'deb-src'], 'key-id': '78E1918602959B9C59103100F1831DDAFC42E99D', 'priori..., 'suites': ['focal'], 'type': 'apt', ...}, {'cloud': 'antelope', 'pocket': 'updates', 'priority': 123, 'type': 'apt'}]
test_keys_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install_in_root0/keys')
@pytest.mark.slow
def test_install_in_root(tmp_path, all_repo_types, test_keys_dir):
"""Integrated test that checks the configuration of keys, sources and pins."""
etc_apt = tmp_path / "etc/apt"
create_etc_apt_dirs(etc_apt)
assert repo.install_in_root(
project_repositories=all_repo_types, key_assets=test_keys_dir, root=tmp_path
)
check_keyrings(etc_apt)
> check_sources(etc_apt, signed_by_location=Path("/etc/apt/keyrings"))
tests/integration/repo/test_installer.py:220:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
etc_apt_dir = PosixPath('/tmp/pytest-of-ubuntu/pytest-0/test_install_in_root0/etc/apt')
signed_by_location = PosixPath('/etc/apt/keyrings')
def check_sources(etc_apt_dir: Path, signed_by_location: Path) -> None:
sources_dir = etc_apt_dir / "sources.list.d"
keyrings_on_fs = etc_apt_dir / "keyrings"
if CLOUD_DATA:
cloud_name = CLOUD_DATA["cloud"]
codename = CLOUD_DATA["codename"]
else:
cloud_name = codename = None
# Must have exactly these sources files, one for each repo
source_to_contents = {
"http_ppa_launchpad_net_snappy_dev_snapcraft_daily_ubuntu": APT_SOURCES.format(
key_location=signed_by_location
),
"ppa-deadsnakes_ppa": PPA_SOURCES.format(
codename=VERSION_CODENAME, key_location=signed_by_location
),
"http_apt_puppet_com": PUPPET_SOURCES.format(key_location=signed_by_location),
}
if CLOUD_DATA:
source_to_contents[f"cloud-{cloud_name}"] = CLOUD_SOURCES.format(
cloud=cloud_name,
codename=codename,
key_location=signed_by_location,
)
assert len(list(keyrings_on_fs.iterdir())) == len(source_to_contents)
for source_repo, expected_contents in source_to_contents.items():
source_file = sources_dir / f"craft-{source_repo}.sources"
assert source_file.is_file()
> assert source_file.read_text() == expected_contents
E AssertionError: assert 'Types: deb d...C42E99D.gpg\n' == 'Types: deb d...C42E99D.gpg\n'
E Types: deb deb-src
E URIs: http://ppa.launchpad.net/snappy-dev/snapcraft-daily/ubuntu
E Suites: focal
E Components: main
E - Architectures: amd64
E ? -
E + Architectures: arm64
E ? +
E Signed-By: /etc/apt/keyrings/craft-FC42E99D.gpg
tests/integration/repo/test_installer.py:275: AssertionError
================= 2 failed, 1 passed, 218 deselected in 58.70s =================
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Tests fail on arm64 due to hard-coded amd64 architecture in expected values. No fix or merge was provided, leaving the issue abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Tests fail on arm64 due to hardcoded architecture expectations. No fix or pull request was merged, indicating the issue was abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Tests failed on arm64 due to hardcoded amd64 architecture values in expected outputs. The issue was closed without a fix or pull request, remaining unresolved after syncing to Jira ticket CRAFT-3801. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. Tests failed on arm64 due to hardcoded architecture expectations in test assertions. No fix or merge was provided, indicating the issue was abandoned or tracked internally. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1119 tests: skip the tests that can't be run in arm64 | snapcraft | closed | Closed without merging. The author abandoned the pull request after forgetting to commit final changes, planning to update it to explicitly expect arm64 test failures before resubmission. | |
| #2018 Package service integration tests fail on non-amd64 architectures | charmcraft | open | Package service integration tests hardcode amd64, causing failures on arm64 CI. Still open; QA workflow limits tests to amd64 as a workaround referencing this issue. No fix merged yet. | |
| #1649899 integration tests fail in armhf | snapcraft (launchpad) | closed | Integration tests for armhf remain disabled and require adjustments. The issue was closed without a fix, indicating the problem was abandoned pending future work. | |
| #1662917 We are not running autopkgtests for arm64 | snapcraft (launchpad) | closed | Abandoned due to prolonged inactivity. The request to enable autopkgtests for arm64 was closed without resolution, leaving the testing gap unfixed. No implementation or follow-up actions were recorded. | |
| #1145 tests: expect failures for the tests that can't be run in arm64 | snapcraft | merged | Merged. Updated test suite to expect failures on arm64 where execution is unsupported. Changes modify two files to adjust expectations, resolving the bug report. | |
| #1255 Make tests platform-agnostic | craft-parts | open | Tests have hardcoded amd64 strings preventing execution on other architectures. CI runners for arm/s390x/ppc64el have been added, but 45 hardcoded amd64 references remain in test files. Triaged, no recent activity in ~12 months. |