LinuxSuRen / LinuxSuRen/api-testing

[bug] Extension Download Test Failures on darwin_arm64

オープン
#828 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug
主要言語
Go
スター
369
フォーク
67
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

cmd/extension_test.go:66 から始めて TestExtensionCmd を実行するか、darwin_arm64 で make test を実行して再現します。次に、モックレジストリの設定とテストデータを調べ、欠落しているアーキテクチャ固有のバイナリを確認し、要求されたマニフェストを比較します。ARM64 macOS で拡張機能のダウンロードテストが、既存のテスト動作に影響を与えずに成功すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
go
領域
testing-qa
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。