未验证 提交 e01966f8 编写于 作者: H Hongsheng Zeng 提交者: GitHub

add test for import parl (#73)

* add test for import parl

* fix error of check_style

* change pip source

* refine naming
上级 2bbaa112
......@@ -15,7 +15,7 @@
# A dev image based on paddle production image
FROM parl/parl-test:1.1-cuda9.0-cudnn7
FROM parl/parl-test:1.1-cuda9.0-cudnn7-v2
COPY ./requirements.txt /root/
......
......@@ -67,6 +67,7 @@ function run_test_with_gpu() {
========================================
EOF
ctest --output-on-failure
rm -rf ${REPO_ROOT}/build
}
function run_test_with_cpu() {
......@@ -81,19 +82,41 @@ function run_test_with_cpu() {
========================================
EOF
ctest --output-on-failure
rm -rf ${REPO_ROOT}/build
}
function run_import_test {
export CUDA_VISIBLE_DEVICES=""
mkdir -p ${REPO_ROOT}/build
cd ${REPO_ROOT}/build
cmake .. -DIS_TESTING_IMPORT=ON
cat <<EOF
========================================
Running import test...
========================================
EOF
ctest --output-on-failure
rm -rf ${REPO_ROOT}/build
}
function main() {
set -e
local CMD=$1
init
case $CMD in
check_style)
check_style
;;
test)
/root/miniconda3/envs/empty_env/bin/pip install -i https://pypi.tuna.tsinghua.edu.cn/simple .
/root/miniconda3/envs/paddle1.4.0/bin/pip install -i https://pypi.tuna.tsinghua.edu.cn/simple .
run_test_with_gpu
run_test_with_cpu
run_import_test
;;
*)
print_usage
......
......@@ -17,6 +17,8 @@ cmake_minimum_required(VERSION 3.0)
enable_testing()
option(WITH_TESTING "Include unit testing" ON)
option(IS_TESTING_IMPORT "Whether is testing import parl" OFF)
set(PADDLE_PYTHON_PATH "" CACHE STRING "Python path to PaddlePaddle Fluid")
function(py_test TARGET_NAME)
......@@ -34,10 +36,30 @@ function(py_test TARGET_NAME)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endfunction()
function(import_test TARGET_NAME)
set(options "")
set(oneValueArgs "")
set(multiValueArgs SRCS DEPS ARGS ENVS)
cmake_parse_arguments(py_test "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
add_test(NAME ${TARGET_NAME}_with_empty_env
COMMAND env PYTHONPATH=.:${py_test_ENVS}
/root/miniconda3/envs/empty_env/bin/python -u ${py_test_SRCS} ${py_test_ARGS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_test(NAME ${TARGET_NAME}_with_paddle1.4.0
COMMAND env PYTHONPATH=.:${py_test_ENVS}
/root/miniconda3/envs/paddle1.4.0/bin/python -u ${py_test_SRCS} ${py_test_ARGS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endfunction()
if (WITH_TESTING)
file(GLOB_RECURSE TEST_OPS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*_test.py")
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")
foreach(src ${TEST_OPS})
py_test(${src} SRCS ${src}.py ENVS ${PADDLE_PYTHON_PATH})
endforeach()
if (IS_TESTING_IMPORT)
set(src "parl/tests/import_test")
import_test(${src} SRCS ${src}.py ENVS ${PADDLE_PYTHON_PATH})
else ()
file(GLOB_RECURSE TEST_OPS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*_test.py")
string(REPLACE ".py" "" TEST_OPS "${TEST_OPS}")
foreach(src ${TEST_OPS})
py_test(${src} SRCS ${src}.py ENVS ${PADDLE_PYTHON_PATH})
endforeach()
endif()
endif()
# Copyright (c) 2018 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import unittest
class ImportTest(unittest.TestCase):
def test_import_parl_alone(self):
import parl
if __name__ == '__main__':
unittest.main()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册