Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Windows test failures in MockFileSystem.Walk due to path separator

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

メンテナーはふだん 1 日以内に返信

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

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
82/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
go
領域
testing

調査の方向性

cmd/importDir_test.go の Walk メソッドと、TestImportDirectory および TestFindSpecificationFilesWithFS で使われるフィクスチャを読む。go test -v ./cmd -run "TestImportDirectory|TestFindSpecificationFilesWithFS" を実行し、Windows でルート配下のフィクスチャパスがどのように照合されるかを確認する。モックの walk がフィクスチャファイルを見つけ、両方のテストが Windows で成功すれば完了。

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

説明

Describe the bug

The directory import tests fail on Windows because MockFileSystem.Walk uses the operating system's path separator to match child paths, while the mock filesystem fixtures use forward slashes.

In cmd/importDir_test.go, the Walk method contains this check:

if path == root || strings.HasPrefix(path, root+string(filepath.Separator)) {

For a root path of /test, the prefix is /test/ on Linux, which matches fixture paths such as /test/openapi.yaml.

On Windows, filepath.Separator is \, so the prefix becomes /test\. This does not match the forward-slash fixture paths, causing the mock filesystem to skip child files.

Steps to reproduce

On Windows, run:

go test -v ./cmd -run "TestImportDirectory|TestFindSpecificationFilesWithFS"
Actual behavior

Seven subtests fail across TestImportDirectory and TestFindSpecificationFilesWithFS.

The directory import tests report:

no specification files found in directory: /test

The file-discovery tests return no matching specification files, even though the fixtures contain them.

Expected behavior

MockFileSystem.Walk should traverse fixture paths consistently across operating systems, and the affected tests should pass on Windows.

Context

The current .github/workflows/build-verify.yml workflow runs tests on Ubuntu, so these Windows-specific test failures are not caught by the existing CI workflow. The project also builds Windows binaries.

Possible fix

Normalize the paths consistently before checking whether a fixture is under the requested root, so the mock filesystem's path matching does not depend on the host operating system.

Microcks version or git rev

Reproduced on Windows amd64 with Go 1.27.0. The exact repository commit SHA used for the reproduction can be added if available.

Install method

Not applicable. This issue concerns Go unit tests for the CLI's mock filesystem.

Additional information

The issue affects test infrastructure rather than the production directory-import implementation. The fix should preserve the existing import behavior while making the mock filesystem portable across operating systems.

主要言語
Go
スター
59
フォーク
74
平均マージ
4日 8時間
マージ済み PR(30日)
23

環境構築

はじめの一歩

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

microcks/microcks-cli のほかの issue

microcks/microcks-cli の issue をすべて見る

似ている issue

Go の issue をもっと見る

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

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