Make the test suite deterministic on Windows and proxied environments
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 55/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- python
- Bereich
- ci-cd, operating-systems, testing-qa
Rechercherichtung
Beginne mit tests/test_transform.py:424 und den Proxy-Fällen in tests/test_client.py:996 und tests/test_client.py:1936 und führe dann den dokumentierten pytest-Befehl unter Windows aus. Prüfe pyproject.toml auf die angegebenen Betriebssysteme und die CI-Konfiguration des Repositorys. Erledigt ist die Aufgabe, wenn die Kern-Testsuite ohne Host-Proxy-Einstellungen oder Unterschiede bei den Zeilenenden besteht und Windows-Abdeckung hinzugefügt wurde, sofern die CI-Konfiguration dies unterstützt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 94
- Forks
- 17
- Ø Merge
- 13 Min.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus browserbase/sdk-python
-
removesuffix helper returns an empty string for an empty suffixEvtl. vergeben @abhinavkr26104 hat das vor 50 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
browserbase/sdk-python#182 ·
-
Extension example catches its own assertions and cannot detect failed deletionEvtl. vergeben @abhinavkr26104 hat das vor 50 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
browserbase/sdk-python#180 ·
-
Query serializer silently drops empty-string parametersEvtl. vergeben @abhinavkr26104 hat das vor 50 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
browserbase/sdk-python#179 ·
-
Mypy fails on Python 3.12 TypeAliasType compatibility branchEvtl. vergeben @abhinavkr26104 hat das vor 50 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
browserbase/sdk-python#178 ·
-
Fix malformed README quickstart fence and non-runnable timeout snippetEvtl. vergeben @abhinavkr26104 hat das vor 50 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
browserbase/sdk-python#176 ·
Alle Issues in browserbase/sdk-python
Ähnliche Issues
-
Action calls retired claude-3-5-haiku-20241022, generating failing API requests for every userOffen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 91/100
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 92/100
-
enhancement P2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Toloka/tolokaforge#1776 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
TencentCloud/Octop#1622 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[arch] gate_sync.sh: stale remote tmp files on install failure; overlapping cron runs unguardedOffenarch area:fleet priority:p3 severity:low track:hosted-product
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag