Skip to content

Commit eb9d519

Browse files
authored
GH-47648: [Archery][Integration] More granularity in JSON test cases (#47649)
### Rationale for this change Separate binary columns from other primitives in the integration test cases, to make life easier when writing a new Arrow implementation. ### Are these changes tested? Yes, by integration CI test. ### Are there any user-facing changes? No, only for implementers who would use the generated files directly. * GitHub Issue: #47648 Authored-by: Antoine Pitrou <[email protected]> Signed-off-by: Antoine Pitrou <[email protected]>
1 parent 935f318 commit eb9d519

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

dev/archery/archery/integration/datagen.py

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1562,8 +1562,7 @@ def generate_duplicate_fieldnames_case():
15621562
def generate_primitive_case(batch_sizes, name='primitive'):
15631563
types = ['bool', 'int8', 'int16', 'int32', 'int64',
15641564
'uint8', 'uint16', 'uint32', 'uint64',
1565-
'float32', 'float64', 'binary', 'utf8',
1566-
'fixedsizebinary_19', 'fixedsizebinary_120']
1565+
'float32', 'float64']
15671566

15681567
fields = []
15691568

@@ -1574,7 +1573,19 @@ def generate_primitive_case(batch_sizes, name='primitive'):
15741573
return _generate_file(name, fields, batch_sizes)
15751574

15761575

1577-
def generate_primitive_large_offsets_case(batch_sizes):
1576+
def generate_binary_case(batch_sizes, name='binary'):
1577+
types = ['binary', 'utf8', 'fixedsizebinary_19', 'fixedsizebinary_120']
1578+
1579+
fields = []
1580+
1581+
for type_ in types:
1582+
fields.append(get_field(type_ + "_nullable", type_, nullable=True))
1583+
fields.append(get_field(type_ + "_nonnullable", type_, nullable=False))
1584+
1585+
return _generate_file(name, fields, batch_sizes)
1586+
1587+
1588+
def generate_large_binary_case(batch_sizes):
15781589
types = ['largebinary', 'largeutf8']
15791590

15801591
fields = []
@@ -1583,7 +1594,7 @@ def generate_primitive_large_offsets_case(batch_sizes):
15831594
fields.append(get_field(type_ + "_nullable", type_, nullable=True))
15841595
fields.append(get_field(type_ + "_nonnullable", type_, nullable=False))
15851596

1586-
return _generate_file('primitive_large_offsets', fields, batch_sizes)
1597+
return _generate_file('large_binary', fields, batch_sizes)
15871598

15881599

15891600
def generate_null_case(batch_sizes):
@@ -1907,7 +1918,11 @@ def get_generated_json_files(tempdir=None):
19071918
generate_primitive_case([17, 20], name='primitive'),
19081919
generate_primitive_case([0, 0, 0], name='primitive_zerolength'),
19091920

1910-
generate_primitive_large_offsets_case([17, 20]),
1921+
generate_binary_case([], name='binary_no_batches'),
1922+
generate_binary_case([17, 20], name='binary'),
1923+
generate_binary_case([0, 0, 0], name='binary_zerolength'),
1924+
1925+
generate_large_binary_case([17, 20]),
19111926

19121927
generate_null_case([10, 0]),
19131928

0 commit comments

Comments
 (0)