From 565b56d2909953e973d077b8b815598a067a177b Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Thu, 22 Apr 2021 11:17:58 -0700 Subject: [PATCH] Adjust test targets and code style enforcement in build script --- build.sh | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/build.sh b/build.sh index 1c26687..1befb32 100755 --- a/build.sh +++ b/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 & }