mirror of
https://github.com/mattermost/mattermost.git
synced 2026-02-19 02:28:08 -05:00
* MM-12083: unittest using externally managed database * cherry-pick Makefile changes from @cpanato * Jenkins changes (#9915) * add docker compose * udpate * when using minio dont need to set the region * update * add wait for it script * using old minio * add new jenkins file * update makefile * add dockerfile * rename the docker-compose proj to avoid colision (#9917) * rename the docker-compose proj to avoid colision * enable debug * enable debug to double checkt the branchs and fix docker-compose name (#9919) * add ee hash to check (#9920) * fix name (#9921) * update jenkins file to push from branch and prs * if a new push comes in stop the running build * split mysql and postgres variables * add script to run jenkins-like env in local dev env * update docker-compose project name to use uuid to make it more randon * fix DCNAME definition * update elasticsearch docker image * revert test * tidy up stages, and wait for mysql differently * update docker image and add check for postgres * checking if is ready * update docker compose to have a wait for deps * add readme and rename dockerfile * fix -unittest setup * using mm docker image * restore parallel unit tests at the package level Spin up a dedicated database for each package under test to avoid races in accessing the same tables. Simplify the interface for configuring the test database to just a DSN instead of multiple exports for each field. * try to work around root mysql access in CI * update local-test-env.sh too * MYSQL_ROOT_HOST: % * fix missing quotes * setting some memory limits for mysql * revert memory docker compose does not support * fix env name for postgres * expose errors in app/export_test.go * fix test label, better error checking on teardown * increase query timeout for tests * fix export_test * update local dev script * add configurable mysql root passwd
27 lines
734 B
Bash
Executable file
27 lines
734 B
Bash
Executable file
#!/usr/bin/env bash
|
|
set -o pipefail
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
|
|
|
|
GO=$1
|
|
GOFLAGS=$2
|
|
PACKAGES=$3
|
|
TESTS=$4
|
|
TESTFLAGS=$5
|
|
|
|
PACKAGES_COMMA=$(echo $PACKAGES | tr ' ' ',')
|
|
|
|
echo "Packages to test: $PACKAGES"
|
|
find . -name 'cprofile*.out' -exec sh -c 'rm "{}"' \;
|
|
find . -type d -name data -not -path './vendor/*' | xargs rm -rf
|
|
|
|
$GO test $GOFLAGS -run=$TESTS $TESTFLAGS -v -timeout=2000s -covermode=count -coverpkg=$PACKAGES_COMMA -exec $DIR/test-xprog.sh $PACKAGES 2>&1 | tee output
|
|
EXIT_STATUS=$?
|
|
|
|
cat output | $GOPATH/bin/go-junit-report > report.xml
|
|
rm output
|
|
find . -name 'cprofile*.out' -exec sh -c 'tail -n +2 {} >> cover.out ; rm "{}"' \;
|
|
rm -f config/*.crt
|
|
rm -f config/*.key
|
|
|
|
exit $EXIT_STATUS
|