LinuxSuRen / LinuxSuRen/api-testing

[bug] Extension Download Test Failures on darwin_arm64

Open
#828 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
369
Forks
67
PR merge metrics
No merged PRs in 30d

Description

Extension Download Test Failures on darwin_arm64

Description

The extension download functionality tests are failing when running make test on macOS with ARM64 architecture. The tests fail to find architecture-specific binaries in the mock Docker registry.

Error Details

=== FAIL: TestExtensionCmd/normal (0.01s)
Error: not found atest-store-git_darwin_arm64/atest-store-git from http://127.0.0.1:55323/v2/linuxsuren/atest-ext-store-git/manifests/0.0.2
Error: not found atest-store-orm_darwin_arm64/atest-store-orm from http://127.0.0.1:55323/v2/linuxsuren/atest-ext-store-orm/manifests/0.0.2

Environment

  • OS: macOS (Darwin 25.0.0)
  • Architecture: ARM64 (Apple Silicon)
  • Test: TestExtensionCmd in cmd/extension_test.go
  • Mock Registry: 127.0.0.1:55323

Root Cause Analysis

  1. Architecture-Specific Binary Missing: The test expects darwin_arm64 binaries but the mock Docker registry only contains limited test data
  2. Mock Registry Incomplete: The simulated registry manifests don't include all required architecture variants
  3. Platform Detection: The extension system correctly detects darwin_arm64 but can't find matching binaries

Impact

  • Extension installation tests fail on ARM64 macOS systems
  • Core API testing functionality remains unaffected
  • CI/CD might fail on ARM64 runners

Reproduction Steps

  1. Run make test on macOS with ARM64 architecture
  2. Observe TestExtensionCmd/normal test failure
  3. Check mock registry logs for missing manifest requests

Suggested Solutions

  1. Expand Mock Registry Data: Add darwin_arm64 binaries to test fixtures
  2. Platform Fallback Logic: Implement fallback to linux_amd64 for testing
  3. Skip Architecture-Specific Tests: Skip extension tests on unsupported platforms
  4. Mock Registry Enhancement: Generate complete manifest data for all supported architectures

Files Involved

  • cmd/extension_test.go:66 - Test assertion location
  • Mock registry configuration and test data
  • Extension download and platform detection logic

Priority

Low - This affects testing infrastructure but not core functionality. Extension system works in production environments with proper registries.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with cmd/extension_test.go:66 and run TestExtensionCmd, or reproduce with make test on darwin_arm64. Then inspect the mock registry configuration and test data for the missing architecture-specific binaries and compare the requested manifests. Done means the extension download tests pass on ARM64 macOS without affecting the existing test behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
testing-qa
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.