From 3d8a51a5bc14c80ee93f86e2056972ea57fe715a Mon Sep 17 00:00:00 2001 From: Wook Song Date: Fri, 24 Apr 2020 17:35:51 +0900 Subject: [PATCH] [Tests/Python] Update test scripts for python extensions This patch modifies the scripts running the test cases for python filters to use proper PYTHONPATH. Signed-off-by: Wook Song --- packaging/run_unittests_binaries.sh | 25 +++++++++++++++---------- tests/nnstreamer_filter_python/runTest.sh | 11 +++++++++-- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/packaging/run_unittests_binaries.sh b/packaging/run_unittests_binaries.sh index a06af2a..d4d6166 100755 --- a/packaging/run_unittests_binaries.sh +++ b/packaging/run_unittests_binaries.sh @@ -13,24 +13,29 @@ export GST_PLUGIN_PATH=$(pwd)/gst/nnstreamer export NNSTREAMER_CONF=$(pwd)/nnstreamer-test.ini export NNSTREAMER_FILTERS=$(pwd)/ext/nnstreamer/tensor_filter export NNSTREAMER_DECODERS=$(pwd)/ext/nnstreamer/tensor_decoder -export PYTHONPATH=$(pwd)/ext/nnstreamer/tensor_filter/:$PYTHONPATH - +export _PYTHONPATH=${PYTHONPATH} run_entry() { entry=$1 - - if [[ $entry == *"python3"* ]]; then + if [[ $entry == *"python3"* || $entry == *"python2"* ]]; then + PY=$(echo ${entry} | grep -oP "python[0-9]") pushd ext/nnstreamer/tensor_filter - ln -sf nnstreamer_python3.so nnstreamer_python.so + TEST_PYTHONPATH=${PY}_module + rm -rf ${TEST_PYTHONPATH} + mkdir -p ${TEST_PYTHONPATH} + pushd ${TEST_PYTHONPATH} + # Covert to an absolute path from the relative path + TEST_PYTHONPATH=$(pwd) + export PYTHONPATH=${TEST_PYTHONPATH} + if [[ ! -f ${TEST_PYTHONPATH}/nnstreamer_python.so ]]; then + ln -sf ../nnstreamer_${PY}.so nnstreamer_python.so + fi popd - elif [[ $entry == *"python2"* ]]; then - pushd ext/nnstreamer/tensor_filter - ln -sf nnstreamer_python2.so nnstreamer_python.so popd fi - echo $entry - ${entry} --gst-plugin-path=. --gtest_output="xml:${entry##*/}.xml" + ${entry} --gtest_output="xml:${entry##*/}.xml" + export PYTHONPATH=${_PYTHONPATH} return $? } diff --git a/tests/nnstreamer_filter_python/runTest.sh b/tests/nnstreamer_filter_python/runTest.sh index a9c8889..10793a8 100755 --- a/tests/nnstreamer_filter_python/runTest.sh +++ b/tests/nnstreamer_filter_python/runTest.sh @@ -44,11 +44,18 @@ fi FRAMEWORK="python2" # This symlink is necessary only for testcases; when installed, symlinks will be made pushd ../../build/ext/nnstreamer/tensor_filter -ln -s nnstreamer_python2.so nnstreamer_python.so +TEST_PYTHONPATH=${FRAMEWORK}_pymodule +mkdir -p ${TEST_PYTHONPATH} +pushd ${TEST_PYTHONPATH} +# Covert to an absolute path from the relative path +export PYTHONPATH=$(pwd) +if [[ ! -f ./nnstreamer_python.so ]]; then + ln -s ../nnstreamer_${FRAMEWORK}.so nnstreamer_python.so +fi +popd popd # Passthrough test -export PYTHONPATH=../../build/ext/nnstreamer/tensor_filter/:$PYTHONPATH PATH_TO_SCRIPT="../test_models/models/passthrough.py" gstTest "--gst-plugin-path=${PATH_TO_PLUGIN} videotestsrc num-buffers=1 ! video/x-raw,format=RGB,width=280,height=40,framerate=0/1 ! videoconvert ! video/x-raw, format=RGB ! tensor_converter ! tee name=t ! queue ! tensor_filter framework=\"${FRAMEWORK}\" model=\"${PATH_TO_SCRIPT}\" input=\"3:280:40:1\" inputtype=\"uint8\" output=\"3:280:40:1\" outputtype=\"uint8\" ! filesink location=\"testcase1.passthrough.log\" sync=true t. ! queue ! filesink location=\"testcase1.direct.log\" sync=true" 1 0 0 $PERFORMANCE callCompareTest testcase1.direct.log testcase1.passthrough.log 1 "Compare 1" 0 0 -- 2.7.4