Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,7 @@ repos:
?^ci/scripts/python_sdist_test\.sh$|
?^ci/scripts/python_wheel_unix_test\.sh$|
?^ci/scripts/python_test_type_annotations\.sh$|
?^ci/scripts/python_test\.sh$|
?^ci/scripts/r_build\.sh$|
?^ci/scripts/r_revdepcheck\.sh$|
?^ci/scripts/release_test\.sh$|
Expand Down
51 changes: 29 additions & 22 deletions ci/scripts/python_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,19 @@

set -ex

arrow_dir=${1}
test_dir=${1}/python/build/dist
arrow_dir="${1}"

if [ -n "${ARROW_PYTHON_VENV:-}" ]; then
# shellcheck source=/dev/null
. "${ARROW_PYTHON_VENV}/bin/activate"
fi

export ARROW_SOURCE_DIR=${arrow_dir}
export ARROW_TEST_DATA=${arrow_dir}/testing/data
export PARQUET_TEST_DATA=${arrow_dir}/cpp/submodules/parquet-testing/data
export LD_LIBRARY_PATH=${ARROW_HOME}/lib:${LD_LIBRARY_PATH}
export DYLD_LIBRARY_PATH=${ARROW_HOME}/lib:${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}
export ARROW_GDB_SCRIPT=${arrow_dir}/cpp/gdb_arrow.py
export ARROW_SOURCE_DIR="${arrow_dir}"
export ARROW_TEST_DATA="${arrow_dir}/testing/data"
export PARQUET_TEST_DATA="${arrow_dir}/cpp/submodules/parquet-testing/data"
export LD_LIBRARY_PATH="${ARROW_HOME}/lib:${LD_LIBRARY_PATH}"
export DYLD_LIBRARY_PATH="${ARROW_HOME}/lib:${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}"
export ARROW_GDB_SCRIPT="${arrow_dir}/cpp/gdb_arrow.py"

# Enable some checks inside Python itself
export PYTHONDEVMODE=1
Expand All @@ -42,18 +42,18 @@ if [ -z "${ARROW_DEBUG_MEMORY_POOL}" ]; then
fi

# By default, force-test all optional components
: ${PYARROW_TEST_ACERO:=${ARROW_ACERO:-ON}}
: ${PYARROW_TEST_AZURE:=${ARROW_AZURE:-ON}}
: ${PYARROW_TEST_CUDA:=${ARROW_CUDA:-ON}}
: ${PYARROW_TEST_DATASET:=${ARROW_DATASET:-ON}}
: ${PYARROW_TEST_FLIGHT:=${ARROW_FLIGHT:-ON}}
: ${PYARROW_TEST_GANDIVA:=${ARROW_GANDIVA:-ON}}
: ${PYARROW_TEST_GCS:=${ARROW_GCS:-ON}}
: ${PYARROW_TEST_HDFS:=${ARROW_HDFS:-ON}}
: ${PYARROW_TEST_ORC:=${ARROW_ORC:-ON}}
: ${PYARROW_TEST_PARQUET:=${ARROW_PARQUET:-ON}}
: ${PYARROW_TEST_PARQUET_ENCRYPTION:=${PARQUET_REQUIRE_ENCRYPTION:-ON}}
: ${PYARROW_TEST_S3:=${ARROW_S3:-ON}}
: "${PYARROW_TEST_ACERO:=${ARROW_ACERO:-ON}}"
: "${PYARROW_TEST_AZURE:=${ARROW_AZURE:-ON}}"
: "${PYARROW_TEST_CUDA:=${ARROW_CUDA:-ON}}"
: "${PYARROW_TEST_DATASET:=${ARROW_DATASET:-ON}}"
: "${PYARROW_TEST_FLIGHT:=${ARROW_FLIGHT:-ON}}"
: "${PYARROW_TEST_GANDIVA:=${ARROW_GANDIVA:-ON}}"
: "${PYARROW_TEST_GCS:=${ARROW_GCS:-ON}}"
: "${PYARROW_TEST_HDFS:=${ARROW_HDFS:-ON}}"
: "${PYARROW_TEST_ORC:=${ARROW_ORC:-ON}}"
: "${PYARROW_TEST_PARQUET:=${ARROW_PARQUET:-ON}}"
: "${PYARROW_TEST_PARQUET_ENCRYPTION:=${PARQUET_REQUIRE_ENCRYPTION:-ON}}"
: "${PYARROW_TEST_S3:=${ARROW_S3:-ON}}"

export PYARROW_TEST_ACERO
export PYARROW_TEST_AZURE
Expand All @@ -68,10 +68,17 @@ export PYARROW_TEST_PARQUET
export PYARROW_TEST_PARQUET_ENCRYPTION
export PYARROW_TEST_S3

# Convert the space-separated options into a Bash array.
# This avoids ShellCheck SC2086 and preserves argument boundaries.
read -r -a PYTEST_ARGS_ARRAY <<< "$PYTEST_ARGS"

# Testing PyArrow
pytest -r s ${PYTEST_ARGS} --pyargs pyarrow
pytest -r s "${PYTEST_ARGS_ARRAY[@]}" --pyargs pyarrow

# Testing RST documentation examples (if PYTEST_RST_ARGS is set)
if [ -n "${PYTEST_RST_ARGS}" ]; then
pytest ${PYTEST_RST_ARGS} ${arrow_dir}/docs/source/python
# Convert the space-separated options into a Bash array.
# This avoids ShellCheck SC2086 and preserves argument boundaries.
read -r -a PYTEST_RST_ARGS_ARRAY <<< "$PYTEST_RST_ARGS"
pytest "${PYTEST_RST_ARGS_ARRAY[@]}" "${arrow_dir}/docs/source/python"
fi
Loading