aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2023-02-11 18:16:04 +0100
committerGitHub <noreply@github.com>2023-02-11 18:16:04 +0100
commit3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae (patch)
treedd154599341f13097058050518af3b9424dde4e9
parent9668c166e88cd71e517cacfb8d266b75047604f7 (diff)
downloadrneovim-3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae.tar.gz
rneovim-3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae.tar.bz2
rneovim-3a5dddf24f9d4d8959194b0cd3c6a7dd0cbd73ae.zip
ci: show all logs at the end of a run (#22226)
* ci: show all logs at the end of a run The current CI won't show the logs on error due to early exit. This will at least show the logs, although for all tests at once.
-rw-r--r--.github/workflows/ci.yml10
-rwxr-xr-xci/run_tests.sh52
2 files changed, 7 insertions, 55 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 205a8e1615..082d0babb3 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -211,6 +211,9 @@ jobs:
- name: Setup common environment variables
run: ./.github/workflows/env.sh ${{ matrix.flavor }}
+ - name: Create log dir
+ run: mkdir -p "${LOG_DIR}"
+
- name: Install apt packages
if: matrix.os == 'linux'
run: ./.github/scripts/install_deps_ubuntu.sh
@@ -242,9 +245,6 @@ jobs:
cmake -B build -G Ninja ${CMAKE_FLAGS}
cmake --build build
- - name: Prepare sanitizer
- run: ./ci/run_tests.sh prepare_sanitizer
-
- if: "!cancelled()"
name: Determine if run should be aborted
id: abort_job
@@ -272,6 +272,10 @@ jobs:
name: Installtests
run: ./ci/run_tests.sh installtests
+ - if: success() || failure() && steps.abort_job.outputs.status == 'success'
+ name: Show logs
+ run: cat $(find "$LOG_DIR" -type f)
+
old_cmake:
name: Test oldest supported cmake
runs-on: ubuntu-22.04
diff --git a/ci/run_tests.sh b/ci/run_tests.sh
index 6899054e15..8bdc164295 100755
--- a/ci/run_tests.sh
+++ b/ci/run_tests.sh
@@ -19,10 +19,8 @@ check_core_dumps() {
local cores
if test "${CI_OS_NAME}" = osx; then
cores="$(find /cores/ -type f -print)"
- local _sudo='sudo'
else
cores="$(find ./ -type f \( -name 'core.*' -o -name core -o -name nvim.core \) -print)"
- local _sudo=
fi
if test -z "${cores}"; then
@@ -36,40 +34,6 @@ check_core_dumps() {
exit 1
}
-check_logs() {
- # Iterate through each log to remove an useless warning.
- # shellcheck disable=SC2044
- for log in $(find "${1}" -type f -name "${2}"); do
- sed -i "${log}" \
- -e '/Warning: noted but unhandled ioctl/d' \
- -e '/could cause spurious value errors to appear/d' \
- -e '/See README_MISSING_SYSCALL_OR_IOCTL for guidance/d'
- done
-
- # Now do it again, but only consider files with size > 0.
- local err=""
- # shellcheck disable=SC2044
- for log in $(find "${1}" -type f -name "${2}" -size +0); do
- cat "${log}"
- err=1
- rm "${log}"
- done
- if test -n "${err}"; then
- echo 'Runtime errors detected.'
- exit 1
- fi
-}
-
-valgrind_check() {
- check_logs "${1}" "valgrind-*"
-}
-
-check_sanitizer() {
- if test -n "${CLANG_SANITIZER}"; then
- check_logs "${1}" "*san.*" | cat
- fi
-}
-
unittests() {(
ulimit -c unlimited || true
ninja -C "${BUILD_DIR}" unittest || exit
@@ -79,8 +43,6 @@ unittests() {(
functionaltests() {(
ulimit -c unlimited || true
ninja -C "${BUILD_DIR}" "${FUNCTIONALTEST}" || exit
- check_sanitizer "${LOG_DIR}"
- valgrind_check "${LOG_DIR}"
check_core_dumps
)}
@@ -90,8 +52,6 @@ oldtests() {(
reset
exit 1
fi
- check_sanitizer "${LOG_DIR}"
- valgrind_check "${LOG_DIR}"
check_core_dumps
)}
@@ -144,16 +104,4 @@ installtests() {(
fi
)}
-prepare_sanitizer() {
- # Invoke nvim to trigger *San early.
- if ! ("${BUILD_DIR}"/bin/nvim --version && "${BUILD_DIR}"/bin/nvim -u NONE -e -cq | cat -vet); then
- check_sanitizer "${LOG_DIR}"
- exit 1
- fi
- check_sanitizer "${LOG_DIR}"
-}
-
-rm -rf "${LOG_DIR}"
-mkdir -p "${LOG_DIR}"
-
eval "$*" || exit