← Back to issue list

Some tests fail on arm64

View original Github issue

Metadata

Project
craft-archives
Number
#144
Type
issue
State
closed
Author
lengau
Labels
Created
Updated
Closed

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.
77%
#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.
75%
#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.
74%
#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.
74%
#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.
71%
#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.
71%