Skip to content

Commit ea53585

Browse files
dfa1claude
andcommitted
test: triage round 2 — 10 more corpus slugs (13 ok total); gap catch widened
Classifications from the round-2 sweep (all verified against the parquet oracle with the fixes on this branch): uci-adult, uci-abalone, uci-mushroom, uci-forest-fires, uci-dry-bean-dataset, insurance, international-football ok; uci-auto-mpg + uci-heart-disease gap:208 (unsigned U8 columns); uci-magic-gamma-telescope gap:215 (new finding: narrow dict-offset ptypes IOOBE in VarBinArray.DictMode). assertStillFails now accepts any RuntimeException as a reproducing gap: a gap may surface as IndexOutOfBoundsException before its decoder gains proper VortexException bounds guards (#215 does exactly that). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent ff4a6a0 commit ea53585

3 files changed

Lines changed: 20 additions & 18 deletions

File tree

docs/compatibility.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,12 @@ Per-slug status lives in `integration/src/test/resources/raincloud/expected-stat
6262
(`ok` must pass; `gap:<issue>` must still fail, so a fix flips the entry in the same change;
6363
`untriaged` runs and reports without failing the build). A scheduled workflow
6464
(`raincloud-conformance.yml`) hydrates a size-capped subset weekly. Current triage —
65-
6 `ok`, 4 known gaps: nested struct columns in scan
65+
13 `ok`, 7 known gaps: nested struct columns in scan
6666
([#207](https://github.com/dfa1/vortex-java/issues/207)), unsigned integers rendered signed
67-
([#208](https://github.com/dfa1/vortex-java/issues/208) — silent corruption), RLE over F64
68-
([#209](https://github.com/dfa1/vortex-java/issues/209)); 237 slugs untriaged. Fixed so
69-
far by this suite: lazy dict U8/U16 values
67+
([#208](https://github.com/dfa1/vortex-java/issues/208) — silent corruption, 4 datasets),
68+
RLE over F64 ([#209](https://github.com/dfa1/vortex-java/issues/209)), narrow dict-offset
69+
ptypes in string dicts ([#215](https://github.com/dfa1/vortex-java/issues/215));
70+
227 slugs untriaged. Fixed so far by this suite: lazy dict U8/U16 values
7071
([#206](https://github.com/dfa1/vortex-java/issues/206)), row validity dropped by wrapper
7172
decoders ([#210](https://github.com/dfa1/vortex-java/issues/210) — silent corruption),
7273
all-null columns in CSV export

integration/src/test/java/io/github/dfa1/vortex/integration/RaincloudConformanceIntegrationTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import dev.hardwood.reader.ParquetFileReader;
77
import dev.hardwood.reader.RowReader;
88
import dev.hardwood.schema.ColumnSchema;
9-
import io.github.dfa1.vortex.core.error.VortexException;
109
import io.github.dfa1.vortex.csv.CsvExporter;
1110
import io.github.dfa1.vortex.csv.ExportOptions;
1211
import org.junit.jupiter.api.DynamicTest;
@@ -109,12 +108,14 @@ private static void reportUntriaged(Path vortex, Path parquet) {
109108
}
110109

111110
private static void assertStillFails(Path vortex, Path parquet, String status) {
112-
// Given / When — a decode gap still reproduces when the export itself throws;
113-
// no oracle needed (the oracle may not even read this parquet, e.g. nested columns)
111+
// Given / When — a decode gap still reproduces when the export itself throws; any
112+
// RuntimeException counts (a gap may surface as IndexOutOfBoundsException before its
113+
// decoder gains proper VortexException bounds guards, e.g. #215). No oracle needed
114+
// (the oracle may not even read this parquet, e.g. nested columns).
114115
List<String> result;
115116
try {
116117
result = exportVortex(vortex);
117-
} catch (VortexException e) {
118+
} catch (RuntimeException e) {
118119
return;
119120
} catch (IOException e) {
120121
throw new UncheckedIOException(e);

integration/src/test/resources/raincloud/expected-status.csv

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ hotel-booking-demand,untriaged
121121
hotpotqa-fullwiki,untriaged
122122
housing-prices-dataset,untriaged
123123
humaneval,untriaged
124-
insurance,untriaged
125-
international-football-results-from-1872-to-2017,untriaged
124+
insurance,ok
125+
international-football-results-from-1872-to-2017,ok
126126
iowa-liquor-sales,untriaged
127127
kepler-exoplanet-search-results,ok
128128
kepler-labelled-time-series-data,untriaged
@@ -186,11 +186,11 @@ tinystories,untriaged
186186
titanic-dataset,untriaged
187187
truthfulqa-mc,untriaged
188188
uber-pickups-in-new-york-city,untriaged
189-
uci-abalone,untriaged
190-
uci-adult,untriaged
189+
uci-abalone,ok
190+
uci-adult,ok
191191
uci-ai4i-2020-predictive-maintenance,untriaged
192192
uci-air-quality,untriaged
193-
uci-auto-mpg,untriaged
193+
uci-auto-mpg,gap:208
194194
uci-automobile,untriaged
195195
uci-bank-marketing,untriaged
196196
uci-beijing-multi-site-air-quality,untriaged
@@ -207,18 +207,18 @@ uci-credit-approval,untriaged
207207
uci-default-of-credit-card-clients,untriaged
208208
uci-diabetes,untriaged
209209
uci-diabetes-130-us-hospitals,untriaged
210-
uci-dry-bean-dataset,untriaged
210+
uci-dry-bean-dataset,ok
211211
uci-electricityloaddiagrams20112014,untriaged
212212
uci-energy-efficiency,untriaged
213213
uci-estimation-of-obesity-levels,ok
214-
uci-forest-fires,untriaged
215-
uci-heart-disease,untriaged
214+
uci-forest-fires,ok
215+
uci-heart-disease,gap:208
216216
uci-heart-failure-clinical-records,untriaged
217217
uci-human-activity-recognition-using-smartphones,untriaged
218218
uci-individual-household-electric-power-consumption,untriaged
219219
uci-iris,ok
220-
uci-magic-gamma-telescope,untriaged
221-
uci-mushroom,untriaged
220+
uci-magic-gamma-telescope,gap:215
221+
uci-mushroom,ok
222222
uci-online-retail,untriaged
223223
uci-online-retail-ii,untriaged
224224
uci-online-shoppers-purchasing-intention,untriaged

0 commit comments

Comments
 (0)