From a720d21dcd60c25f20342d6256c54f2927154c2d Mon Sep 17 00:00:00 2001 From: Yu Yang Date: Sat, 5 Aug 2017 16:11:43 +0800 Subject: [PATCH] Paddle always not use `virtualenv` to unit-test * User must install Paddle python package before unittest. * Or use docker to build Paddle --- CMakeLists.txt | 1 - Dockerfile | 2 +- cmake/util.cmake | 23 +++++--------- paddle/scripts/docker/build.sh | 4 +-- paddle/scripts/run_python_tests.sh | 48 ------------------------------ 5 files changed, 10 insertions(+), 68 deletions(-) delete mode 100755 paddle/scripts/run_python_tests.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 59407f638f1..c7d743e193e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,7 +55,6 @@ option(WITH_C_API "Compile PaddlePaddle with C-API(Prediction)" OFF) option(WITH_GOLANG "Compile PaddlePaddle with GOLANG" OFF) option(GLIDE_INSTALL "Download and install go dependencies " ON) option(USE_NNPACK "Compile PaddlePaddle with NNPACK library" OFF) -option(UNITTEST_USE_VIRTUALENV "Python unittest with virtualenv" ON) # CMAKE_BUILD_TYPE if(NOT CMAKE_BUILD_TYPE) diff --git a/Dockerfile b/Dockerfile index b4a427cc4de..156ad3552b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ RUN apt-get update && \ apt-get clean -y # paddle is using numpy.flip, which is introduced since 1.12.0 -RUN pip install -y 'numpy>=1.12.0' +RUN pip --no-cache-dir install 'numpy>=1.12.0' # Install Go and glide RUN wget -O go.tgz https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz && \ diff --git a/cmake/util.cmake b/cmake/util.cmake index 3391527e5ad..4a27623b7ff 100644 --- a/cmake/util.cmake +++ b/cmake/util.cmake @@ -149,19 +149,12 @@ endfunction() # Create a python unittest using run_python_tests.sh, # which takes care of making correct running environment function(add_python_test TEST_NAME) - if (UNITTEST_USE_VIRTUALENV) - add_test(NAME ${TEST_NAME} - COMMAND env PADDLE_PACKAGE_DIR=${PADDLE_PYTHON_PACKAGE_DIR} - bash ${PROJ_ROOT}/paddle/scripts/run_python_tests.sh ${ARGN} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - else() - foreach(arg ${ARGN}) - get_filename_component(py_fn ${arg} NAME_WE) - set(TRG_NAME ${TEST_NAME}_${py_fn}) - add_test(NAME ${TRG_NAME} - COMMAND env PYTHONPATH=${PADDLE_PYTHON_PACKAGE_DIR} - python2 ${arg} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - endforeach() - endif() + foreach(arg ${ARGN}) + get_filename_component(py_fn ${arg} NAME_WE) + set(TRG_NAME ${TEST_NAME}_${py_fn}) + add_test(NAME ${TRG_NAME} + COMMAND env PYTHONPATH=${PADDLE_PYTHON_PACKAGE_DIR} + python2 ${arg} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + endforeach() endfunction() diff --git a/paddle/scripts/docker/build.sh b/paddle/scripts/docker/build.sh index 7b17363226d..92e59a27ac1 100644 --- a/paddle/scripts/docker/build.sh +++ b/paddle/scripts/docker/build.sh @@ -37,7 +37,6 @@ Configuring cmake in /paddle/build ... -DWITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF} -DWITH_TESTING=${WITH_TESTING:-OFF} -DCMAKE_EXPORT_COMPILE_COMMANDS=ON - -DUNITTEST_USE_VIRTUALENV=OFF ======================================== EOF @@ -54,8 +53,7 @@ cmake .. \ -DCUDNN_ROOT=/usr/ \ -DWITH_STYLE_CHECK=${WITH_STYLE_CHECK:-OFF} \ -DWITH_TESTING=${WITH_TESTING:-OFF} \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - -DUNITTEST_USE_VIRTUALENV=OFF + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON cat < /dev/null -SCRIPTPATH=$PWD -popd > /dev/null - -rm -rf .test_env -virtualenv .test_env -unset PYTHONHOME -unset PYTHONPATH -source .test_env/bin/activate -PYTHON=python - -$PYTHON -m pip install $SCRIPTPATH/../dist/*.whl - -if [ "X${PADDLE_PACKAGE_DIR}" != "X" ]; then - $PYTHON -m pip install ${PADDLE_PACKAGE_DIR}/*.whl -else - export PYTHONPATH=$SCRIPTPATH/../../python/ -fi - -$PYTHON -m pip install ipython==5.3 - -for fn in "$@" -do - echo "test $fn" - $PYTHON $fn - if [ $? -ne 0 ]; then - exit 1 - fi -done - -deactivate -rm -rf .test_env -- GitLab