Robin Mode Test Run Reportο
Date: 2026-02-05
Configuration: SPARKLESS_TEST_BACKEND=robin, SPARKLESS_BACKEND=robin
Command: pytest tests/ --ignore=tests/archive -n 10 -v --tb=short
Backend: robin-sparkless (Rust/Polars engine)
Summaryο
Result |
Count |
|---|---|
PASSED |
1,005 |
FAILED |
1,505 |
SKIPPED |
21 |
ERROR |
0 |
Total recorded |
2,531 |
Note: The run was interrupted by a 10-minute timeout before the full suite completed (2,545 tests scheduled). Counts are from the captured output; the last ~14 tests may not have finished.
Result filesο
tests/robin_mode_test_results.txtβ Full verbose pytest output (tee of stdout/stderr).tests/robin_mode_failed_tests.txtβ One line per failed test (unique test IDs).
Errorsο
This run had 0 ERRORs. Previously, seven parquet teardown ERRORs were fixed (Robin storage db_path).
Failure areas (sample)ο
Failed tests are spread across many modules. Representative areas:
Parity / DataFrame: filter, join (inner/left/right/outer/semi/anti), select, set operations (union), transformations (distinct, orderBy, withColumn, limit), window (cume_dist, dense_rank, first_value, lag, etc.), parquet/table append persistence.
Integration: case sensitivity (case_sensitive_, case_insensitive_, ambiguity_detection).
Examples:
test_comparison,test_with_backend_infoin unified infrastructure example.
Many failures are expected while the Robin backend has limited op coverage (e.g. only a subset of operations are delegated to robin-sparkless; the rest fall back or fail).
Passing areas (sample)ο
Tests that passed include:
Documentation:
test_examples_show_v2_features,test_example_outputs_capturedFixture compatibility: session creation, multiple sessions, context manager, cleanup, SparkContext
Function API:
current_date,current_timestamp, static methods, signaturesParity: cross_join, groupby, aggregations (sum, avg, count, min, max, multiple aggs, groupby multiple columns, global aggregation, nulls), grouped_data mean parity
Unit: backend (robin optional), core (column resolver), and many others that either donβt require a full session or exercise paths supported by the Robin backend
How to reproduceο
# Ensure robin-sparkless is installed
pip install robin-sparkless
SPARKLESS_TEST_BACKEND=robin SPARKLESS_BACKEND=robin python -m pytest tests/ --ignore=tests/archive -n 10 --dist loadfile -v --tb=short 2>&1 | tee tests/robin_mode_test_results.txt
Conclusionο
Robin mode is active for the run: session creation uses the Robin backend and fixtures assert
backend_type == "robin", so no tests silently used the Polars backend.A large proportion of tests fail under Robin, consistent with the current Robin backend supporting only a subset of operations; the rest hit unsupported paths or fall back in ways that donβt match test expectations.
This run had no ERRORs (parquet teardown fixed). Next steps for improving Robin mode pass rate: extend the Robin materializer and backend to support more operations and align behavior with the Polars backend where appropriate.