Marton Greber created KUDU-3621:
-----------------------------------

             Summary: Create Python library compatibility test script
                 Key: KUDU-3621
                 URL: https://issues.apache.org/jira/browse/KUDU-3621
             Project: Kudu
          Issue Type: Improvement
          Components: build, python
            Reporter: Marton Greber


It would be nice to have a script checked in $KUDU_HOME/build-support which 
would test all the supported Python versions, maybe check that the 
packaging/package installation works as expected.
things to test:
* build from source, and run all tests
* build from source the sdist (what we upload to pypi), then try to install 
that package in a clean env (maybe on could also put in running the python 
example as well)
* handle ubuntu and macos: on ubuntu we have somewhat well defined version 
support, however on macos testing the lower end of the support range is not 
feasible

so far i've been using a simple script when running version compatibility tests.
Maybe this can serve as a starting point for creating a nice script.
My script for testing on macos for example:
{code:java}
#!/bin/bash
set -eou pipefail

export 
DYLD_LIBRARY_PATH=$KUDU_HOME/build/debug/lib:$KUDU_HOME/build/debug/lib/exported

version=$1
kudu_python_package_filename="kudu_python-1.18.0.dev0.tar.gz"
cd $KUDU_HOME/python
rm -rf venv/

### Testing dev env

python$version --version

echo "testing if development setup works"
rm -rf ./build/*
rm -rf kudu_python.egg-info
echo "creating venv"
virtualenv -p python$version venv
source ./venv/bin/activate
python -m pip install -r requirements_dev.txt
python setup.py test
deactivate
rm -rf ./venv

### Test Packaging
echo "build the source dist in a clean env"
rm -rf ./dist/*
echo "creating venv"
virtualenv -p python$version venv
source ./venv/bin/activate
python setup.py sdist
deactivate
rm -rf ./venv
echo "cleaned up venv"

echo "install the sdist into a clean venv"
echo "creating venv"
virtualenv -p python$version venv
source ./venv/bin/activate
pip install ./dist/$kudu_python_package_filename
echo "executing pip list:"
pip list
deactivate
rm -rf ./venv
{code}






--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to