ZipBytes length test fails on macOS with .NET 10.0.400

Abierto Apto para principiantes
#10,040 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@mkzung ya está trabajando en esto.

Desde el 6/11/2026.

  • #10041 de @mkzung — abierto

Evaluación

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

Línea de trabajo

Empieza con ZipBytesReturnsByteArrayWithCorrectLength en el proyecto de pruebas e inspecciona cómo comprueba la salida de Compression.ZipBytes. Actualiza la prueba para verificar que el registro final ZIP ocupa los últimos 22 bytes; después, descomprime el archivo y compara la carga binaria completa. Ejecuta el comando dotnet test filtrado proporcionado; el trabajo estará terminado cuando la prueba pase sin depender de un tamaño comprimido fijo.

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

Descripción

Expected Behavior

ZipBytesReturnsByteArrayWithCorrectLength checks that Compression.ZipBytes returns exactly the archive bytes, without unused buffer capacity. A valid archive should pass across supported runtimes.

Actual Behavior

On macOS arm64 with .NET SDK 10.0.400, unchanged master 06eb5cb315c7265e00fd2c3c0eda1caef697e637 produces 905,693 bytes, while the test expects 906,121 for every non-Windows platform. The archive decompresses to the original fixture without any extra bytes.

Reproducing the Problem
dotnet test Tests/QuantConnect.Tests.csproj --configuration Release --filter FullyQualifiedName~ZipBytesReturnsByteArrayWithCorrectLength

Expected: 906121. Actual: 905693.

Potential Solution

Check that the no-comment ZIP end record occupies the final 22 bytes, then decompress and compare the complete binary payload. This catches returning MemoryStream.GetBuffer() in place of ToArray() without depending on a particular Deflate output size.

Lenguaje dominante
C#
Estrellas
22.4k
Forks
5.4k
Merge medio
1 d 23 h
PR fusionados (30 d)
51

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

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 QuantConnect/Lean

Todos los issues de QuantConnect/Lean

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.