Commit a41b2c3
test(gfql): engine-parametrize the #1787 varlen contract (pandas/polars/cuDF/polars-gpu)
Review follow-ups on #1794.
Comments -> tests: the gate in row_pipeline.py carried per-shape prose asserting which
shapes diverge and by how much. A comment asserting behaviour is unverified and rots.
Every numeric claim is now a named test; the comment keeps only the WHY of the
deliberate divergence from master's serving decision plus a pointer to the tests.
29 -> 18 comment lines, executable logic byte-identical (the only non-comment hunks are
two trailing comments on existing lines).
Engine-parametrized: renamed to test_varlen_bounded_engine_parity_1787.py and
parametrized over pandas / polars / cuDF / polars-gpu. It encodes the INTENDED
per-engine behaviour rather than assuming identity -- the polars engines must decline
exactly the shapes the pandas-API engines must answer -- with oracle counts pinned as
literals so a regression that makes every engine equally wrong still fails. GPU params
gate on a runtime probe and report a reasoned SKIP, never a silent pass; the coverage
boundary (no CI lane runs cuDF or polars-gpu) is stated in the module docstring.
Dropping the module-level polars importorskip also means the pandas params now execute
in test-gfql-core, where the old file was skipped in its entirety (re: #1795).
Found while doing so: cuDF silently returns 1 where pandas returns 9 on seeded
undirected degenerate `(a {p:v})-[*1..1]-(b)` (23/40 random graphs; drop any one of
seeded/undirected/max==1 and it agrees). Separate defect, filed as #1798 and pinned here
with xfail(strict=True).
Mutation-checked both directions: reverting the gate to 233b64c fails 13 tests;
widening it to decline all bounded var-length fails 12.
Verified: dgx-spark GB10 / cuDF 26.02.01 / polars 1.35.2 via
graphistry/test-rapids-official:26.02-gfql-polars with --gpus all -- 80 passed,
1 xfailed, 0 skipped. CI-equivalent local polars lane (cuDF import-blocked) 2395 passed,
54 skipped, 0 failed. bin/lint.sh and bin/typecheck.sh clean.
Note: the accompanying CI fix for the test-polars py3.12 timeout (#1797) touches
.github/workflows/ci.yml and could not be pushed with the available token, which lacks
the `workflow` OAuth scope. The patch is attached to the PR.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015YsqAZQLbqjSDrYSFz2GoB1 parent 56f564a commit a41b2c3
5 files changed
Lines changed: 450 additions & 176 deletions
File tree
- bin
- graphistry
- compute/gfql/lazy/engine/polars
- tests/compute/gfql
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
27 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
Lines changed: 19 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1312 | 1312 | | |
1313 | 1313 | | |
1314 | 1314 | | |
1315 | | - | |
1316 | | - | |
1317 | | - | |
1318 | | - | |
1319 | | - | |
1320 | | - | |
1321 | | - | |
1322 | | - | |
1323 | | - | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
| 1323 | + | |
| 1324 | + | |
1324 | 1325 | | |
1325 | | - | |
1326 | | - | |
1327 | | - | |
1328 | | - | |
| 1326 | + | |
| 1327 | + | |
1329 | 1328 | | |
1330 | 1329 | | |
1331 | 1330 | | |
1332 | 1331 | | |
1333 | 1332 | | |
1334 | | - | |
1335 | | - | |
| 1333 | + | |
| 1334 | + | |
1336 | 1335 | | |
1337 | 1336 | | |
1338 | 1337 | | |
1339 | 1338 | | |
1340 | 1339 | | |
1341 | 1340 | | |
1342 | | - | |
1343 | | - | |
1344 | | - | |
| 1341 | + | |
1345 | 1342 | | |
1346 | | - | |
1347 | | - | |
1348 | | - | |
1349 | | - | |
1350 | | - | |
| 1343 | + | |
1351 | 1344 | | |
1352 | | - | |
1353 | | - | |
1354 | | - | |
1355 | | - | |
1356 | | - | |
1357 | | - | |
1358 | | - | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
1359 | 1348 | | |
1360 | 1349 | | |
1361 | 1350 | | |
| |||
Lines changed: 0 additions & 145 deletions
This file was deleted.
0 commit comments