Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Windows test failures in MockFileSystem.Walk due to path separator

Aberta Para iniciantes
#601 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
82/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
go
Domínio
testing

Direção de pesquisa

Leia o método Walk em cmd/importDir_test.go e os fixtures usados por TestImportDirectory e TestFindSpecificationFilesWithFS. Execute go test -v ./cmd -run "TestImportDirectory|TestFindSpecificationFilesWithFS"; verifique como os caminhos dos fixtures são comparados sob a raiz no Windows. O trabalho estará concluído quando o mock de walk encontrar os arquivos fixture e os dois testes passarem no Windows.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Go
Estrelas
59
Forks
74
Merge médio
5d 4h
PRs com merge (30d)
25

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de microcks/microcks-cli

Todas as issues de microcks/microcks-cli

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.