From owner-svn-src-head@freebsd.org Mon Sep 30 14:05:45 2019 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 59204128B96; Mon, 30 Sep 2019 14:05:45 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46hkh91h0Lz3xqN; Mon, 30 Sep 2019 14:05:45 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1E25A3B8A; Mon, 30 Sep 2019 14:05:45 +0000 (UTC) (envelope-from vangyzen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x8UE5ip0049533; Mon, 30 Sep 2019 14:05:44 GMT (envelope-from vangyzen@FreeBSD.org) Received: (from vangyzen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x8UE5i3w049532; Mon, 30 Sep 2019 14:05:44 GMT (envelope-from vangyzen@FreeBSD.org) Message-Id: <201909301405.x8UE5i3w049532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: vangyzen set sender to vangyzen@FreeBSD.org using -f From: Eric van Gyzen Date: Mon, 30 Sep 2019 14:05:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r352898 - head/tests/sys/kern X-SVN-Group: head X-SVN-Commit-Author: vangyzen X-SVN-Commit-Paths: head/tests/sys/kern X-SVN-Commit-Revision: 352898 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Sep 2019 14:05:45 -0000 Author: vangyzen Date: Mon Sep 30 14:05:44 2019 New Revision: 352898 URL: https://svnweb.freebsd.org/changeset/base/352898 Log: Fix coredump_phnum_test when kern.compress_user_cores != 0 If `kern.compress_user_cores` is non-zero, decompress the core file. Use `sysctl -f` to restore previous values. Don't bother restoring `ulimit -c`, since that's a per-process value. Check more commands with `atf_check`. Reviewed by: olivier ngie MFC after: 1 week Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D21820 Modified: head/tests/sys/kern/coredump_phnum_test.sh Modified: head/tests/sys/kern/coredump_phnum_test.sh ============================================================================== --- head/tests/sys/kern/coredump_phnum_test.sh Mon Sep 30 13:34:30 2019 (r352897) +++ head/tests/sys/kern/coredump_phnum_test.sh Mon Sep 30 14:05:44 2019 (r352898) @@ -40,21 +40,31 @@ coredump_phnum_head() coredump_phnum_body() { # Set up core dumping - cat > coredump_phnum_restore_state.sh <<-EOF - #!/bin/sh - ulimit -c '$(ulimit -c)' - sysctl kern.coredump=$(sysctl -n kern.coredump) - sysctl kern.corefile='$(sysctl -n kern.corefile)' - sysctl kern.compress_user_cores='$(sysctl -n kern.compress_user_cores)' -EOF + atf_check -o save:coredump_phnum_restore_state sysctl -e \ + kern.coredump kern.corefile ulimit -c unlimited - sysctl kern.coredump=1 - sysctl kern.compress_user_cores=0 - sysctl kern.corefile="$(pwd)/coredump_phnum_helper.core" + atf_check -o ignore sysctl kern.coredump=1 + atf_check -o ignore sysctl kern.corefile=coredump_phnum_helper.core + atf_check -o save:cuc sysctl -n kern.compress_user_cores + read cuc < cuc atf_check -s signal:sigabrt "$(atf_get_srcdir)/coredump_phnum_helper" + case "$cuc" in + 0) + ;; + 1) + atf_check gunzip coredump_phnum_helper.core.gz + ;; + 2) + atf_check zstd -qd coredump_phnum_helper.core.zst + ;; + *) + atf_skip "unsupported kern.compress_user_cores=$cuc" + ;; + esac + # Check that core looks good if [ ! -f coredump_phnum_helper.core ]; then atf_fail "Helper program did not dump core" @@ -76,10 +86,11 @@ EOF coredump_phnum_cleanup() { rm -f coredump_phnum_helper.core - if [ -f coredump_phnum_restore_state.sh ]; then - . ./coredump_phnum_restore_state.sh + if [ -f coredump_phnum_restore_state ]; then + sysctl -f coredump_phnum_restore_state + rm -f coredump_phnum_restore_state fi - rm -f coredump_phnum_restore_state.sh + rm -f cuc } atf_init_test_cases()