2020-10-15 21:31:50 +08:00
#!/usr/bin/env bash
2021-10-09 18:01:27 +08:00
# Licensed to the LF AI & Data foundation under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
2020-10-15 21:31:50 +08:00
set -e
SOURCE = " ${ BASH_SOURCE [0] } "
while [ -h " $SOURCE " ] ; do # resolve $SOURCE until the file is no longer a symlink
DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
SOURCE = " $( readlink " $SOURCE " ) "
[ [ $SOURCE != /* ] ] && SOURCE = " $DIR / $SOURCE " # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
SCRIPTS_DIR = " $( cd -P " $( dirname " $SOURCE " ) " && pwd ) "
2020-10-24 11:36:42 +08:00
MILVUS_CORE_DIR = " ${ SCRIPTS_DIR } /../internal/core "
2020-10-23 18:01:24 +08:00
CORE_INSTALL_PREFIX = " ${ MILVUS_CORE_DIR } /output "
2020-10-19 10:36:40 +08:00
UNITTEST_DIRS = ( " ${ CORE_INSTALL_PREFIX } /unittest " )
2020-10-15 21:31:50 +08:00
2021-10-09 17:55:42 +08:00
# currently core will install target lib to "internal/core/output/lib"
2020-10-23 18:01:24 +08:00
if [ -d " ${ CORE_INSTALL_PREFIX } /lib " ] ; then
2021-10-09 18:01:27 +08:00
export LD_LIBRARY_PATH = $LD_LIBRARY_PATH :${ CORE_INSTALL_PREFIX } /lib
2020-10-15 21:31:50 +08:00
fi
# run unittest
2024-08-29 20:03:02 +08:00
arg = " $1 "
filter_value = " ${ arg #*= } "
2020-10-15 21:31:50 +08:00
for UNITTEST_DIR in " ${ UNITTEST_DIRS [@] } " ; do
if [ ! -d " ${ UNITTEST_DIR } " ] ; then
2021-10-09 18:01:27 +08:00
echo "The unittest folder does not exist!"
2020-10-15 21:31:50 +08:00
exit 1
fi
2020-11-13 19:37:59 +08:00
2024-08-29 20:03:02 +08:00
if [ [ $filter_value ] ] ; then
if [ $filter_value = = "--gtest_list_tests" ] ; then
${ UNITTEST_DIR } /all_tests $filter_value
exit 0
else
${ UNITTEST_DIR } /all_tests --gtest_filter= $filter_value
exit 0
fi
fi
2021-07-09 11:59:09 +08:00
echo "Running all unittest ..."
2020-11-13 19:37:59 +08:00
${ UNITTEST_DIR } /all_tests
if [ $? -ne 0 ] ; then
echo ${ UNITTEST_DIR } /all_tests "run failed"
exit 1
fi
2023-07-13 16:22:30 +08:00
if [ -f " ${ UNITTEST_DIR } /dynamic_simd_test " ] ; then
echo "Running dynamic simd test"
${ UNITTEST_DIR } /dynamic_simd_test
if [ $? -ne 0 ] ; then
echo ${ UNITTEST_DIR } /dynamic_simd_test "run failed"
exit 1
fi
fi
2024-08-29 20:03:02 +08:00
2020-10-15 21:31:50 +08:00
done
2020-12-07 15:22:20 +08:00
# run cwrapper unittest
if [ -f ${ CWRAPPER_UNITTEST } ] ; then
2021-10-05 12:26:02 +08:00
echo " Running cwrapper unittest: ${ CWRAPPER_UNITTEST } "
2020-12-07 15:22:20 +08:00
${ CWRAPPER_UNITTEST }
if [ $? -ne 0 ] ; then
echo ${ CWRAPPER_UNITTEST } " run failed"
exit 1
fi
fi