This is an automated email from the ASF dual-hosted git repository.

apitrou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git


The following commit(s) were added to refs/heads/master by this push:
     new 0cb4c8f  MINOR: [C++][CI] Fix Valgrind error in parquet-arrow-test
0cb4c8f is described below

commit 0cb4c8fadff2a64db6d616cc8e73d7bc0ebd4c23
Author: Antoine Pitrou <[email protected]>
AuthorDate: Wed Oct 13 17:05:42 2021 +0200

    MINOR: [C++][CI] Fix Valgrind error in parquet-arrow-test
    
    The issue is a benign read from uninitialized value when GTest tries to 
print out a NestedFilterTestCase instance.
    
    Closes #11400 from pitrou/minor-valgrind-parquet
    
    Authored-by: Antoine Pitrou <[email protected]>
    Signed-off-by: Antoine Pitrou <[email protected]>
---
 ci/scripts/cpp_test.sh                            | 14 ++++++++++----
 cpp/src/parquet/arrow/arrow_reader_writer_test.cc |  6 ++++++
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/ci/scripts/cpp_test.sh b/ci/scripts/cpp_test.sh
index 7099f78..822557f 100755
--- a/ci/scripts/cpp_test.sh
+++ b/ci/scripts/cpp_test.sh
@@ -19,9 +19,14 @@
 
 set -ex
 
-arrow_dir=${1}
-source_dir=${1}/cpp
-build_dir=${2}/cpp
+if [[ $# < 2 ]]; then
+  echo "Usage: $0 <Arrow dir> <build dir> [ctest args ...]"
+  exit 1
+fi
+
+arrow_dir=${1}; shift
+build_dir=${1}/cpp; shift
+source_dir=${arrow_dir}/cpp
 binary_output_dir=${build_dir}/${ARROW_BUILD_TYPE:-debug}
 
 export ARROW_TEST_DATA=${arrow_dir}/testing/data
@@ -79,7 +84,8 @@ ctest \
     --output-on-failure \
     --parallel ${n_jobs} \
     --timeout 300 \
-    "${ctest_options[@]}"
+    "${ctest_options[@]}" \
+    $@
 
 if [ "${ARROW_BUILD_EXAMPLES}" == "ON" ]; then
     examples=$(find ${binary_output_dir} -executable -name "*example")
diff --git a/cpp/src/parquet/arrow/arrow_reader_writer_test.cc 
b/cpp/src/parquet/arrow/arrow_reader_writer_test.cc
index c1f682f..fa8b15d 100644
--- a/cpp/src/parquet/arrow/arrow_reader_writer_test.cc
+++ b/cpp/src/parquet/arrow/arrow_reader_writer_test.cc
@@ -4196,6 +4196,12 @@ struct NestedFilterTestCase {
   std::shared_ptr<::arrow::DataType> expected_schema;
   std::string write_data;
   std::string read_data;
+
+  // For Valgrind
+  friend std::ostream& operator<<(std::ostream& os, const 
NestedFilterTestCase& param) {
+    os << "NestedFilterTestCase{write_schema = " << 
param.write_schema->ToString() << "}";
+    return os;
+  }
 };
 class TestNestedSchemaFilteredReader
     : public ::testing::TestWithParam<NestedFilterTestCase> {};

Reply via email to