mirror of
https://github.com/jesseduffield/lazygit.git
synced 2026-08-24 10:13:41 -05:00
Our minimum required git version is 2.32.0, which is the first version that does support the GIT_CONFIG_GLOBAL env var, so we don't need the ~/.gitconfig dance any more.
35 lines
1.6 KiB
Bash
Executable File
35 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
echo "Running integration tests with $(git --version)"
|
|
|
|
# if the LAZYGIT_GOCOVERDIR env var is set, we'll capture code coverage data
|
|
if [ -n "$LAZYGIT_GOCOVERDIR" ]; then
|
|
# Go expects us to either be running the test binary directly or running `go test`, but because
|
|
# we're doing both and because we want to combine coverage data for both, we need to be a little
|
|
# hacky. To capture the coverage data for the test runner we pass the test.gocoverdir positional
|
|
# arg, but if we do that then the GOCOVERDIR env var (which you typically pass to the test binary) will be overwritten by the test runner. So we're passing LAZYGIT_COCOVERDIR instead
|
|
# and then internally passing that to the test binary as GOCOVERDIR.
|
|
go test -timeout 30m -cover -coverpkg=github.com/jesseduffield/lazygit/pkg/... pkg/integration/clients/*.go -args -test.gocoverdir="/tmp/code_coverage"
|
|
EXITCODE=$?
|
|
|
|
# We're merging the coverage data for the sake of having fewer artefacts to upload.
|
|
# We can't merge inline so we're merging to a tmp dir then moving back to the original.
|
|
mkdir -p /tmp/code_coverage_merged
|
|
go tool covdata merge -i=/tmp/code_coverage -o=/tmp/code_coverage_merged
|
|
rm -rf /tmp/code_coverage
|
|
mv /tmp/code_coverage_merged /tmp/code_coverage
|
|
else
|
|
go test -timeout 30m pkg/integration/clients/*.go
|
|
EXITCODE=$?
|
|
fi
|
|
|
|
# If per-test timings were collected (LAZYGIT_TEST_TIMING points at the file the
|
|
# harness appends to), print them sorted by slowest first so they show up in the
|
|
# CI log.
|
|
if [ -n "$LAZYGIT_TEST_TIMING" ] && [ -f "$LAZYGIT_TEST_TIMING" ]; then
|
|
echo "Test timings (seconds):"
|
|
sort -rn "$LAZYGIT_TEST_TIMING"
|
|
fi
|
|
|
|
exit $EXITCODE
|