Skip to content

Commit c961395

Browse files
committed
GH-48776: [CI][Ruby][Windows] Ensure removing temporary files
1 parent 8b27bc0 commit c961395

File tree

8 files changed

+38
-2
lines changed

8 files changed

+38
-2
lines changed

c_glib/parquet-glib/arrow-file-reader.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,24 @@ gparquet_arrow_file_reader_new_path(const gchar *path, GError **error)
181181
}
182182
}
183183

184+
/**
185+
* gparquet_arrow_file_reader_close:
186+
* @reader: A #GParquetArrowFileReader.
187+
*
188+
* Close the reader.
189+
*
190+
* Since: 23.0.0
191+
*/
192+
void
193+
gparquet_arrow_file_reader_close(GParquetArrowFileReader *reader)
194+
{
195+
auto parquet_arrow_file_reader = gparquet_arrow_file_reader_get_raw(reader);
196+
auto parquet_reader = parquet_arrow_file_reader->parquet_reader();
197+
if (parquet_reader) {
198+
parquet_reader->Close();
199+
}
200+
}
201+
184202
/**
185203
* gparquet_arrow_file_reader_read_table:
186204
* @reader: A #GParquetArrowFileReader.

c_glib/parquet-glib/arrow-file-reader.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ GPARQUET_AVAILABLE_IN_0_11
4343
GParquetArrowFileReader *
4444
gparquet_arrow_file_reader_new_path(const gchar *path, GError **error);
4545

46+
GPARQUET_AVAILABLE_IN_23_0
47+
void
48+
gparquet_arrow_file_reader_close(GParquetArrowFileReader *reader);
49+
4650
GPARQUET_AVAILABLE_IN_0_11
4751
GArrowTable *
4852
gparquet_arrow_file_reader_read_table(GParquetArrowFileReader *reader, GError **error);

ruby/red-arrow/test/test-feather.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ def setup
2929
begin
3030
yield(@output)
3131
ensure
32+
GC.start # Ensure freeing Arrow::Table that refers @output.path.
3233
@output.close!
3334
end
3435
end

ruby/red-arrow/test/test-record-batch-stream-reader.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
# under the License.
1717

1818
class RecordBatchStreamReaderTest < Test::Unit::TestCase
19+
def teardown
20+
GC.start # Ensure freeing Arrow::RecordBatch that refers tempfile.path.
21+
end
22+
1923
test("write/read") do
2024
fields = [
2125
Arrow::Field.new("uint8", :uint8),

ruby/red-arrow/test/test-table.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -747,6 +747,10 @@ def create_output(extension)
747747
@file.path
748748
end
749749

750+
def teardown
751+
GC.start # Ensure freeing Arrow::Table that refers @file.path.
752+
end
753+
750754
sub_test_case("save: auto detect") do
751755
test("arrow") do
752756
output = create_output(".arrow")

ruby/red-parquet/lib/parquet/arrow-file-reader.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717

1818
module Parquet
1919
class ArrowFileReader
20+
include Arrow::BlockClosable
21+
2022
def each_row_group
2123
return to_enum(__method__) {n_row_groups} unless block_given?
2224

ruby/red-parquet/test/test-arrow-table.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ def setup
5050
begin
5151
yield(@output)
5252
ensure
53+
GC.start # Ensure freeing Arrow::Table that refers @output.path.
5354
@output.close!
5455
end
5556
end

ruby/red-parquet/test/test-boolean-statistics.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ def setup
2424
chunk_size = 1024
2525
writer.write_table(table, chunk_size)
2626
writer.close
27-
reader = Parquet::ArrowFileReader.new(file.path)
28-
@statistics = reader.metadata.get_row_group(0).get_column_chunk(0).statistics
27+
Parquet::ArrowFileReader.open(file.path) do |reader|
28+
@statistics =
29+
reader.metadata.get_row_group(0).get_column_chunk(0).statistics
30+
end
2931
end
3032

3133
def test_min

0 commit comments

Comments
 (0)