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:
parent
0b782649a7
commit
e41883e6e0
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user