Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Windows test failures in MockFileSystem.Walk due to path separator

Abierto Apto para principiantes
#601 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
82/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
go
Área
testing

Línea de trabajo

Lee el método Walk en cmd/importDir_test.go y los fixtures usados por TestImportDirectory y TestFindSpecificationFilesWithFS. Ejecuta go test -v ./cmd -run "TestImportDirectory|TestFindSpecificationFilesWithFS"; comprueba cómo se comparan las rutas de los fixtures bajo la raíz en Windows. La tarea está completada cuando el mock de Walk encuentra los archivos fixture y ambas pruebas pasan en Windows.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Go
Estrellas
59
Forks
74
Merge medio
5 d 17 h
PR fusionados (30 d)
22

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microcks/microcks-cli

Todos los issues de microcks/microcks-cli

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.