Adjust test targets and code style enforcement in build script
This commit is contained in:
44
build.sh
44
build.sh
@@ -307,13 +307,6 @@ host()
|
||||
ARTIFACT="host"
|
||||
# Default to release
|
||||
BUILD_TYPE=${1:-release}
|
||||
if [[ $1 = *"docs"* ]]; then
|
||||
# Generate documentation
|
||||
cd docs/c && doxygen
|
||||
cp -f *.png html/
|
||||
exit 0
|
||||
fi
|
||||
# -DZTS_ENABLE_CENTRAL_API=0
|
||||
VARIANT="-DBUILD_HOST=True"
|
||||
CACHE_DIR=$DEFAULT_HOST_BUILD_CACHE_DIR-$ARTIFACT-$BUILD_TYPE
|
||||
TARGET_BUILD_DIR=$DEFAULT_HOST_BIN_OUTPUT_DIR-$ARTIFACT-$BUILD_TYPE
|
||||
@@ -378,7 +371,7 @@ host-python()
|
||||
rm -rf $LIB_OUTPUT_DIR
|
||||
mkdir -p $LIB_OUTPUT_DIR
|
||||
# Optional step to generate new SWIG wrapper
|
||||
swig -c++ -python -o src/bindings/python/zt_wrap.cpp -Iinclude src/bindings/python/zt.i
|
||||
swig -c++ -python -o src/bindings/python/zt_wrap.cxx -Iinclude src/bindings/python/zt.i
|
||||
$CMAKE $VARIANT -H. -B$CACHE_DIR -DCMAKE_BUILD_TYPE=$BUILD_TYPE
|
||||
$CMAKE --build $CACHE_DIR $BUILD_CONCURRENCY
|
||||
cp -f $CACHE_DIR/lib/$SHARED_LIB_NAME $LIB_OUTPUT_DIR/_libzt.so
|
||||
@@ -533,25 +526,41 @@ test()
|
||||
cd -
|
||||
}
|
||||
|
||||
format-code()
|
||||
{
|
||||
if [[ ! $(which clang-format) = "" ]];
|
||||
then
|
||||
# Eventually: find . -path ./ext -prune -false -o -type f \( -iname \*.c -o -iname \*.h -o -iname \*.cpp -o -iname \*.hpp \) -exec clang-format -i {} \;
|
||||
clang-format -i include/*.h \
|
||||
src/*.c \
|
||||
src/*.cpp \
|
||||
src/*.hpp \
|
||||
examples/c/*.c \
|
||||
test/*.c
|
||||
return 0
|
||||
else
|
||||
echo "Please install clang-format."
|
||||
fi
|
||||
}
|
||||
|
||||
# Test C API
|
||||
test-c()
|
||||
{
|
||||
format-code
|
||||
if [[ -z "${alice_path}" ]]; then
|
||||
echo "Please set necessary environment variables for test"
|
||||
exit 0
|
||||
fi
|
||||
ARTIFACT="test"
|
||||
# Default to debug so asserts aren't optimized out
|
||||
BUILD_TYPE=${1:-debug}
|
||||
TARGET_BUILD_DIR=$DEFAULT_HOST_BIN_OUTPUT_DIR-$ARTIFACT-$BUILD_TYPE
|
||||
BIN_OUTPUT_DIR=$TARGET_BUILD_DIR/bin
|
||||
rm -rf $TARGET_BUILD_DIR
|
||||
host $BUILD_TYPE
|
||||
# Build selftest
|
||||
test $1
|
||||
#test $BUILD_TYPE
|
||||
# Clear logs
|
||||
rm -rf test/*.txt
|
||||
# Start Alice as server
|
||||
"$BIN_OUTPUT_DIR/selftest-c-api" $alice_path $testnet $port4 $port6 &
|
||||
"$BIN_OUTPUT_DIR/selftest-c" $alice_path $testnet $port4 $port6 &
|
||||
# Start Bob as client
|
||||
"$BIN_OUTPUT_DIR/selftest-c-api" $bob_path $testnet $port4 $alice_ip4 $port6 $alice_ip6 &
|
||||
"$BIN_OUTPUT_DIR/selftest-c" $bob_path $testnet $port4 $alice_ip4 $port6 $alice_ip6 &
|
||||
}
|
||||
|
||||
# Test C# API
|
||||
@@ -572,7 +581,7 @@ test-cs()
|
||||
host-pinvoke $1
|
||||
# TODO: This should eventually be converted to a proper dotnet project
|
||||
# Build C# managed API library
|
||||
csc -target:library -out:$LIB_OUTPUT_DIR/ZeroTier.Sockets.dll src/bindings/csharp/*.cs
|
||||
csc -target:library -doc:$LIB_OUTPUT_DIR/ZeroTier.Sockets.xml -out:$LIB_OUTPUT_DIR/ZeroTier.Sockets.dll src/bindings/csharp/*.cs
|
||||
# Build selftest
|
||||
mkdir -p $BIN_OUTPUT_DIR
|
||||
csc -out:$BIN_OUTPUT_DIR/selftest.exe -reference:$LIB_OUTPUT_DIR/ZeroTier.Sockets.dll test/selftest.cs
|
||||
@@ -580,6 +589,7 @@ test-cs()
|
||||
cp $LIB_OUTPUT_DIR/* $BIN_OUTPUT_DIR
|
||||
# Start Alice as server
|
||||
mono --debug "$BIN_OUTPUT_DIR/selftest.exe" $alice_path $testnet $port4 $port6 &
|
||||
sleep 10
|
||||
# Start Bob as client
|
||||
mono --debug "$BIN_OUTPUT_DIR/selftest.exe" $bob_path $testnet $port4 $alice_ip4 $port6 $alice_ip6 &
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user