Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Windows test failures in MockFileSystem.Walk due to path separator

Aperta Adatta ai principianti
#601 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
82/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
go
Ambito
testing

Direzione di ricerca

Leggi il metodo Walk in cmd/importDir_test.go e i fixture usati da TestImportDirectory e TestFindSpecificationFilesWithFS. Esegui go test -v ./cmd -run "TestImportDirectory|TestFindSpecificationFilesWithFS"; controlla come vengono confrontati i percorsi dei fixture sotto la radice su Windows. Il lavoro è completato quando la mock walk trova i file fixture ed entrambi i test passano su Windows.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
Go
Stelle
59
Fork
74
Merge medio
5g 17h
PR unite (30g)
22

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microcks/microcks-cli

Tutte le issue di microcks/microcks-cli

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.