Make the test suite deterministic on Windows and proxied environments
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- ci-cd, operating-systems, testing-qa
Línea de trabajo
Empieza por tests/test_transform.py:424 y los casos de proxy en tests/test_client.py:996 y tests/test_client.py:1936; después, ejecuta el comando de pytest documentado en Windows. Comprueba en pyproject.toml los sistemas operativos anunciados y la configuración de CI del repositorio. Se considera terminado cuando la suite principal pasa sin configuraciones de proxy del host ni diferencias en los finales de línea, y se ha añadido cobertura para Windows si la configuración de CI lo permite.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
The unit suite is not portable to a supported Windows checkout. On Windows with normal Git CRLF conversion and common proxy environment variables, four otherwise-local tests fail.
Reproduction
On Windows/Python 3.12 after installing the dev dependencies:
python -m pytest -q -n 0 -k "not aiohttp"
Observed failures:
tests/test_transform.py:424(sync and async):tests/sample_file.txtis checked out with CRLF, producingSGVsbG8sIHdvcmxkIQ0K; the assertion hard-codes LF bytes (SGVsbG8sIHdvcmxkIQo=).tests/test_client.py:996andtests/test_client.py:1936: the proxy tests expect one mount after settingHTTP_PROXY, but inheritedNO_PROXY/proxy environment state can cause httpx to produce zero matching mounts.
Result from this audit: 4 failed, 1072 passed, 2 skipped after excluding the separately parameterized aiohttp cases. The remaining suite passes.
Expected behavior
Tests should pass on every OS advertised in pyproject.toml (Operating System :: Microsoft :: Windows) and should isolate themselves from host proxy variables and line-ending conversion.
Suggested fixes:
- Make
sample_file.txtbinary-stable via.gitattributes, or derive the expected base64 from the file bytes rather than a hard-coded newline convention. - Clear all relevant proxy/no-proxy environment variables in the proxy tests before setting the values under test.
- Add a Windows CI job, at least for the core unit suite.
Why it matters
Windows contributors currently cannot get a clean test run from an unmodified checkout, and the Linux-only CI matrix cannot catch these regressions.
- Lenguaje dominante
- Python
- Estrellas
- 93
- Forks
- 16
- Merge medio
- 11 min
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de browserbase/sdk-python
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#182 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
browserbase/sdk-python#180 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#179 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
browserbase/sdk-python#178 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
browserbase/sdk-python#176 ·
Todos los issues de browserbase/sdk-python
Issues similares
-
triage/confirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
agentscope-ai/agentscope#2775 ·
-
comp/desktop P3 type/bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
NousResearch/hermes-agent#118866 ·
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
apache/cloudstack#14222 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100