mirror of
https://github.com/ceph/go-ceph
synced 2024-12-11 17:06:58 +00:00
CI: enable and collect core dumps in tests
Signed-off-by: Sven Anderson <sven@redhat.com>
This commit is contained in:
parent
2852a13c88
commit
fba78e8982
5
.github/workflows/main.yml
vendored
5
.github/workflows/main.yml
vendored
@ -76,11 +76,15 @@ jobs:
|
||||
go_version: ${{ needs.go-versions.outputs.unstable }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set cores to get stored as "core"
|
||||
run: sudo bash -c 'echo "core" > /proc/sys/kernel/core_pattern'
|
||||
- name: Run tests
|
||||
run: make test-containers-test "CEPH_VERSION=${{ matrix.ceph_version }}" "GO_VERSION=${{ matrix.go_version }}" "RESULTS_DIR=$PWD/_results"
|
||||
- name: Clean up test containers
|
||||
if: always()
|
||||
run: make test-containers-clean "CEPH_VERSION=${{ matrix.ceph_version }}"
|
||||
- name: Archive test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: "go-ceph-results-${{ matrix.ceph_version }}-${{ matrix.go_version }}"
|
||||
@ -88,6 +92,7 @@ jobs:
|
||||
_results/
|
||||
retention-days: 30
|
||||
- name: Check API Versions and Aging
|
||||
if: always()
|
||||
run: |
|
||||
if [ -f _results/implements.json ]; then
|
||||
./contrib/apiage.py
|
||||
|
@ -257,8 +257,21 @@ test_pkg() {
|
||||
testargs+=("-memprofile" "${pkg}.mem.out")
|
||||
fi
|
||||
|
||||
show go test -v "${testargs[@]}" "./${pkg}"
|
||||
ulimit -c unlimited
|
||||
testbin="./${pkg}/${pkg##*/}.test"
|
||||
show go test -v "${testargs[@]}" -o "${testbin}" "./${pkg}"
|
||||
ret=$(($?+ret))
|
||||
if ls "${pkg}"/core.* >/dev/null 2>&1; then
|
||||
echo "Found coredump"
|
||||
sleep 5
|
||||
coredump="./${pkg}/${pkg##*/}.core"
|
||||
mv "${pkg}"/core.* "${coredump}"
|
||||
chmod 644 "${coredump}"
|
||||
echo "set auto-load safe-path /" >>/root/.gdbinit
|
||||
gdb "${testbin}" "${coredump}" -ex bt -ex q | cat
|
||||
mkdir -p "${RESULTS_DIR}"
|
||||
mv "${testbin}" "${coredump}" "${RESULTS_DIR}/"
|
||||
fi
|
||||
grep -v "^mode: count" "${pkg}.cover.out" >> "cover.out"
|
||||
return ${ret}
|
||||
}
|
||||
|
@ -16,7 +16,8 @@ RUN true && \
|
||||
yum install -y \
|
||||
git wget curl make \
|
||||
/usr/bin/cc /usr/bin/c++ \
|
||||
"libcephfs-devel-${cv}" "librados-devel-${cv}" "librbd-devel-${cv}" && \
|
||||
"libcephfs-devel-${cv}" "librados-devel-${cv}" "librbd-devel-${cv}" \
|
||||
gdb libcephfs2-debuginfo librados2-debuginfo librbd1-debuginfo && \
|
||||
yum clean all && \
|
||||
true
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user