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> {};