Conversation
✅ Deploy Preview for thriving-cassata-78ae72 canceled.
|
|
| @settings(max_examples=examples(100)) | ||
| @given(rows=rows_strategy) | ||
| def test_rollup_matches_direct_aggregate(conn, metric, column_type, rows): | ||
| check_rollup(conn, metric, column_type, rows) |
There was a problem hiding this comment.
Whole metric families skipped The skip marker removes every generated rollup case for sample variance, sample standard deviation, covariance, and correlation, including inputs that do not trigger the known bugs. The fixed XFAILs cover only narrow examples, so this property cannot catch other regressions in those metric families. Restrict the excluded inputs instead of skipping each metric entirely.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
| conn.execute( | ||
| f'CREATE TABLE "default".pbt.{graph.dim_table} ' | ||
| "(k INTEGER, label VARCHAR, bucket INTEGER)", | ||
| ) | ||
| conn.execute( | ||
| f'CREATE TABLE "default".pbt.{graph.fact_table} ' | ||
| "(k INTEGER, x INTEGER, y INTEGER)", | ||
| ) |
There was a problem hiding this comment.
Generated graphs accumulate resources Each example creates DuckDB tables and API nodes without removing them. The shared fixtures retain those resources across examples, and materialization examples also create pre-aggregation tables. This makes longer runs, especially the tenfold nightly profile, progressively more expensive. Clean up each example’s resources or bound their lifetime.
Summary
Add a deliberately small, extensible Hypothesis correctness harness for DJ OSS.
Known-bug parametrizations remain skipped (14 cases), with 9 strict-XFAIL repros that will turn into failures when those bugs are fixed.
Test Plan
DJ_PBT_PROFILE=ci ../.venv/bin/pytest -q -n 2 --dist=loadscope tests/property --without-integration --without-slow-integrationfromdatajunction-server— 36 passed, 14 skipped, 9 xfailed.uv lock --check --offline.make check— not run locally.make test/ full-suite coverage — not run locally; CI will exercise the repository suite.Deployment Plan
No runtime behavior change. This adds tests, a test-only Hypothesis dependency, and contributor guidance.