diff --git a/.ci-scripts/build-osx.sh b/.ci-scripts/build-osx.sh index f78ba048e..5bcf7a13c 100755 --- a/.ci-scripts/build-osx.sh +++ b/.ci-scripts/build-osx.sh @@ -20,6 +20,14 @@ set -eu -o pipefail readonly BIN_NAME="qTox.dmg" +while (( $# > 0 )); do + case $1 in + --run-tests) RUN_TESTS=1; shift ;; + --online-tests) ONLINE_TESTS=1; shift ;; + *) echo "Unexpected argument $1"; exit 1 ;; + esac +done + build_qtox() { cmake -DUPDATE_CHECK=ON \ -DSPELL_CHECK=OFF \ @@ -27,8 +35,14 @@ build_qtox() { -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH="$(brew --prefix qt@5)" . make -j$(sysctl -n hw.ncpu) - export CTEST_OUTPUT_ON_FAILURE=1 - ctest -j$(sysctl -n hw.ncpu) + if [ ! -z ${RUN_TESTS+x} ]; then + EXCLUDE_TESTS="" + if [ -z ${ONLINE_TESTS+x} ]; then + EXCLUDE_TESTS="-E core" + fi + export CTEST_OUTPUT_ON_FAILURE=1 + ctest ${EXCLUDE_TESTS} -j$(sysctl -n hw.ncpu) + fi make install } diff --git a/.ci-scripts/build-qtox-linux.sh b/.ci-scripts/build-qtox-linux.sh index 51cf5e3fb..cd08519c7 100755 --- a/.ci-scripts/build-qtox-linux.sh +++ b/.ci-scripts/build-qtox-linux.sh @@ -28,6 +28,7 @@ while (( $# > 0 )); do --minimal) MINIMAL=1 ; shift ;; --full) MINIMAL=0; shift ;; --sanitize) SANITIZE=1; shift ;; + --online-tests) ONLINE_TESTS=1; shift ;; --build-type) BUILD_TYPE=$2; shift 2 ;; --help|-h) usage; exit 1 ;; *) echo "Unexpected argument $1"; usage; exit 1 ;; @@ -71,5 +72,10 @@ else $SANITIZE_ARGS fi +EXCLUDE_TESTS="" +if [ -z ${ONLINE_TESTS+x} ]; then + EXCLUDE_TESTS="-E core" +fi + cmake --build . -- -j $(nproc) -ctest -j$(nproc) +ctest ${EXCLUDE_TESTS} -j$(nproc) diff --git a/.github/workflows/build-test-deploy.yaml b/.github/workflows/build-test-deploy.yaml index 1d9af7549..cd598cac0 100644 --- a/.github/workflows/build-test-deploy.yaml +++ b/.github/workflows/build-test-deploy.yaml @@ -123,7 +123,7 @@ jobs: with: docker_image_name: fedora - name: Run build - run: docker-compose run --rm fedora ./.ci-scripts/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} --sanitize + run: docker-compose run --rm fedora ./.ci-scripts/build-qtox-linux.sh --build-type ${{ matrix.build_type }} --${{ matrix.features }} --sanitize --online-tests build-opensuse: name: Opensuse runs-on: ubuntu-latest @@ -501,7 +501,7 @@ jobs: - name: Install toxcore and toxext run: buildscripts/build_toxcore_linux.sh - name: Build qTox - run: ./.ci-scripts/build-osx.sh + run: ./.ci-scripts/build-osx.sh --run-tests - name: Upload dmg uses: actions/upload-artifact@v2 with: diff --git a/windows/cross-compile/build.sh b/windows/cross-compile/build.sh index e6b149967..b00dd3dc0 100755 --- a/windows/cross-compile/build.sh +++ b/windows/cross-compile/build.sh @@ -37,6 +37,7 @@ while (( $# > 0 )); do --src-dir) QTOX_SRC_DIR=$2; shift 2 ;; --arch) ARCH=$2; shift 2 ;; --run-tests) RUN_TESTS=1; shift ;; + --online-tests) ONLINE_TESTS=1; shift ;; --build-type) BUILD_TYPE=$2; shift 2;; *) "Unexpected argument $1"; exit 1 ;; esac @@ -116,7 +117,11 @@ then export WINEPATH='/export;/windows/bin' export CTEST_OUTPUT_ON_FAILURE=1 export PATH="$PATH:/opt/wine-stable/bin" - ctest -j$(nproc) + EXCLUDE_TESTS="" + if [ -z ${ONLINE_TESTS+x} ]; then + EXCLUDE_TESTS="-E core" + fi + ctest ${EXCLUDE_TESTS} -j$(nproc) fi set -u