mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-11-25 06:16:37 +01:00
Merge pull request #1329 from mcintyre94/CP-19888-copy
[CP-19888] Add support for code coverage in build jobs
This commit is contained in:
commit
b170fdecc1
27
mk/build.sh
27
mk/build.sh
@ -54,6 +54,7 @@ function check_deps ()
|
||||
}
|
||||
|
||||
check_deps nunit-console.exe zip unzip wget curl hg git patch mt.exe candle.exe light.exe
|
||||
|
||||
if [ "${BUILD_KIND:+$BUILD_KIND}" != production ]
|
||||
then
|
||||
check_deps signtool.exe
|
||||
@ -72,14 +73,28 @@ XENADMIN_DIR="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
|
||||
|
||||
source ${XENADMIN_DIR}/mk/declarations.sh
|
||||
|
||||
run_tests()
|
||||
{
|
||||
if [ -n "${REPORT_COVERAGE+x}" ]; then
|
||||
if [ -z "${NCOVER_PROJECT_ID+x}" ]; then
|
||||
echo "FATAL: REPORT_COVERAGE was set, but NCOVER_PROJECT_ID was not"
|
||||
exit 1
|
||||
fi
|
||||
echo "Running tests with coverage because REPORT_COVERAGE declared"
|
||||
source ${XENADMIN_DIR}/mk/tests-checks-cover.sh
|
||||
else
|
||||
source ${XENADMIN_DIR}/mk/tests-checks.sh
|
||||
fi
|
||||
}
|
||||
|
||||
test_phase()
|
||||
{
|
||||
# Skip the tests if the SKIP_TESTS variable is defined (e.g. in the Jenkins UI, add "export SKIP_TESTS=1" above the call for build script)
|
||||
if [ -n "${SKIP_TESTS+x}" ]; then
|
||||
echo "Tests skipped because SKIP_TESTS declared"
|
||||
else
|
||||
source ${XENADMIN_DIR}/mk/tests-checks.sh
|
||||
fi
|
||||
# Skip the tests if the SKIP_TESTS variable is defined (e.g. in the Jenkins UI, add "export SKIP_TESTS=1" above the call for build script)
|
||||
if [ -n "${SKIP_TESTS+x}" ]; then
|
||||
echo "Tests skipped because SKIP_TESTS declared"
|
||||
else
|
||||
run_tests
|
||||
fi
|
||||
}
|
||||
|
||||
production_jenkins_build()
|
||||
|
60
mk/tests-checks-cover.sh
Normal file
60
mk/tests-checks-cover.sh
Normal file
@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (c) Citrix Systems Inc.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms,
|
||||
# with or without modification, are permitted provided
|
||||
# that the following conditions are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer.
|
||||
# * Redistributions in binary form must reproduce the above
|
||||
# copyright notice, this list of conditions and the
|
||||
# following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
|
||||
set -u
|
||||
|
||||
source "$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/declarations.sh"
|
||||
|
||||
net stop ncover || true # Stop ncover if it's running, so we have a known good service
|
||||
net start ncover
|
||||
|
||||
echo "Running + monitoring coverage of tests..."
|
||||
|
||||
export NCOVER_USING_PROJECT="${NCOVER_PROJECT_ID}"
|
||||
export NCOVER_BUILD_ID="${BUILD_ID}"
|
||||
|
||||
source "$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/tests-checks.sh"
|
||||
|
||||
ncover summarize --project="XC Tests" --wait
|
||||
|
||||
echo "Generating coverage report..."
|
||||
ncover report --project="XC Tests" --execution="${BUILD_ID}" --file="$(cygpath -d ${TEST_DIR})\coverage.html" --detail=method
|
||||
|
||||
net stop ncover || true # Stop ncover, ignore the error if it's already stopped
|
||||
|
||||
cp ${TEST_DIR}/coverage.html ${OUTPUT_DIR}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user