Clean up :coredump_phnum

- Use "atf_check -x 'cmd1 | cmd2'" instead of "cmd1 | atf_check cmd2". The
  two forms are idiomatically similar, but subtly different in the sense of
  what program invokes the other, and there could be unwanted side effects
  of the latter idiom dealing with forking, pipes, etc.
- Remove chmod and instead source coredump_phnum_restore_state.sh directly.
  This avoids the need to check the result of the chmod call.
- Fix indentation in an if-block (4 column space indentation -> hard tab).
This commit is contained in:
Enji Cooper 2017-07-19 16:23:02 +00:00
parent fa562aca7a
commit 83f5e032b4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=321211

View File

@ -46,7 +46,6 @@ coredump_phnum_body()
sysctl kern.coredump=$(sysctl -n kern.coredump)
sysctl kern.corefile='$(sysctl -n kern.corefile)'
EOF
chmod +x coredump_phnum_restore_state.sh
ulimit -c unlimited
sysctl kern.coredump=1
@ -56,30 +55,27 @@ EOF
# Check that core looks good
if [ ! -f coredump_phnum_helper.core ]; then
atf_fail "Helper program did not dump core"
atf_fail "Helper program did not dump core"
fi
# These magic numbers don't have any real significance. They are just
# the result of running the helper program and dumping core. The only
# important bit is that they're larger than 65535 (UINT16_MAX).
readelf -h coredump_phnum_helper.core | \
atf_check -o "match:65535 \(66[0-9]{3}\)" \
grep "Number of program headers:"
readelf -l coredump_phnum_helper.core | \
atf_check -o "match:There are 66[0-9]{3} program headers" \
grep -1 "program headers"
readelf -S coredump_phnum_helper.core | \
atf_check -o "match: 0000000000000001 .* 66[0-9]{3} " \
grep -A1 "^ \[ 0\] "
atf_check -o "match:65535 \(66[0-9]{3}\)" \
-x 'readelf -h coredump_phnum_helper.core | grep "Number of program headers:"'
atf_check -o "match:There are 66[0-9]{3} program headers" \
-x 'readelf -l coredump_phnum_helper.core | grep -1 "program headers"'
atf_check -o "match: 0000000000000001 .* 66[0-9]{3} " \
-x 'readelf -S coredump_phnum_helper.core | grep -A1 "^ \[ 0\] "'
procstat -v coredump_phnum_helper.core | \
atf_check -o "match:66[0-9]{3}" wc -l
atf_check -o "match:66[0-9]{3}" \
-x 'procstat -v coredump_phnum_helper.core | wc -l'
}
coredump_phnum_cleanup()
{
rm -f coredump_phnum_helper.core
if [ -x coredump_phnum_restore_state.sh ]; then
./coredump_phnum_restore_state.sh
if [ -f coredump_phnum_restore_state.sh ]; then
. ./coredump_phnum_restore_state.sh
fi
rm -f coredump_phnum_restore_state.sh
}