Skip to content

[bug] Extension Download Test Failures on darwin_arm64 #828

@KariHall619

Description

@KariHall619

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions