aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/test-qbs.sh
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2020-08-15 15:03:44 +0200
committerIvan Komissarov <ABBAPOH@gmail.com>2020-09-01 16:11:59 +0000
commit7c15b368e2adcb917095cc46d07c7da5e97cc76d (patch)
tree420e16893168a10504ac5c7eb1765f898cbf491c /scripts/test-qbs.sh
parentb60f3409bbd6317de5f889d49055bee70648931b (diff)
Initial support for GitHub Actions
This commit adds jobs similar to what we have in Travis. Some tests are disabled when running on GitHub since they do not pass for various reasons. Note that those tests are usually skipped on Travis due to missing dependencies. Change-Id: Icec96dc22e2939d12568d2de1f1a4537c35977ad Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'scripts/test-qbs.sh')
-rwxr-xr-xscripts/test-qbs.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/scripts/test-qbs.sh b/scripts/test-qbs.sh
new file mode 100755
index 000000000..608499f43
--- /dev/null
+++ b/scripts/test-qbs.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+#############################################################################
+##
+## Copyright (C) 2020 Ivan Komissarov <abbapoh@gmail.com>
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of Qbs.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+set -eu
+
+#
+# Qbs is built with the address sanitizer enabled.
+# Suppress findings in some parts of Qbs / dependencies.
+#
+export LSAN_OPTIONS="suppressions=$( cd "$(dirname "$0")" ; pwd -P )/address-sanitizer-suppressions.txt:print_suppressions=0"
+
+export PATH="$1:$PATH"
+
+qbs-config --list profiles
+
+CPUS=$("$(dirname "$0")"/cpu-count.sh)
+
+export QBS_AUTOTEST_PROFILE=${QBS_AUTOTEST_PROFILE:-qt}
+echo "Running Qbs tests (${CPUS} jobs in parallel)."
+find $1 -name "tst_*" | xargs -I{} -n1 -P${CPUS} bash -c 'export LOG=$(mktemp) ; $({} > ${LOG} 2>&1) ; export RESULT=$? ; cat ${LOG} ; exit ${RESULT}'