aboutsummaryrefslogtreecommitdiff
path: root/tests-mx32/count.test
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2017-02-15 15:19:05 -0800
committerElliott Hughes <enh@google.com>2017-02-15 16:23:02 -0800
commitd35df493b4e7684c50d2d2fa032ee3a7ac228009 (patch)
tree389a89297d98da7bd3dcc4e4f8b1df69ea85bba0 /tests-mx32/count.test
parentee18e8ae76b0828006d07262ed6085dca9fd08c1 (diff)
downloadstrace-d35df493b4e7684c50d2d2fa032ee3a7ac228009.tar.gz
Upgrade strace to 4.16 from 4.14.
Noteworthy changes in release 4.16 (2017-02-14) * Improvements * Implemented syscall return value injection (-e inject=SET:retval= option). * Implemented signal injection (-e inject=SET:signal= option). * Implemented decoding of SUID_DUMP_* constants in PR_[GS]ET_DUMPABLE. * Implemented decoding of all SG_* ioctl commands. * Implemented decoding of ustat syscall. * Implemented decoding of BPF_OBJ_PIN, BPF_OBJ_GET, BPF_PROG_ATTACH, and BPF_PROG_DETACH commands of bpf syscall. * Enhanced decoding of sg_io_hdr and sg_io_v4 structures. * Enhanced decoding of get_robust_list, getrandom, io_submit, set_robust_list syscalls. * Enhanced decoding of entities of kernel long type on x32 and mips n32 ABIs. * Updated lists of IP_*, IPV6_*, and LOOP_* constants. * Updated lists of ioctl commands from Linux 4.10. * Added decoding of recently added syscalls on avr32, microblaze, ppc, and ppc64. * Bug fixes * Fixed pathmatch of oldselect syscall on 64-bit architectures. * Fixed decoding of mmap2 syscall on s390 when arguments are not available. * Fixed decoding of kexec_file_load, mprotect, pkey_mprotect, prctl, preadv*, and pwritev* syscalls on x32. * Fixed printing of string arguments of getxattr and setxattr syscalls when -s option is used to limit the printed string size. * Fixed decoding of ifconf, ifreq, and loop_info structures on non-native personalities. * Fixed decoding of SG_* and LOOP_* ioctl commands. * Fixed build on mips with musl libc. * Fixed cross-building of ioctlsort. * Applied minor formatting fixes to the manual page. Noteworthy changes in release 4.15 (2016-12-14) * Changes in behavior * Time stamps are now printed according to ISO 8601. * Changed output format of val3 parameter of futex FUTEX_WAKE_OP operation. * The last argument of mincore, sched_getaffinity, and sched_setaffinity syscalls is now formatted as an array. * Improvements * Implemented syscall fault injection (-e fault=... option). * Implemented decoding of DM_* ioctl commands. * Implemented decoding of attr parameter of perf_event_open syscall. * Implemented decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls. * Implemented dumping of mq_timedsend and mq_timedreceive syscalls. * Implemented decoding of PR_SET_FP_MODE and PR_GET_FP_MODE operations of prctl syscall. * Implemented PTRACE_GETREGS API support on m68k. * Updated lists of ARCH_*, BPF_*, BTRFS_*, FALLOC_*, MS_*, *_MAGIC, and V4L2_* constants. * Updated lists of ioctl commands from Linux 4.9. * Added decoding of recently added syscalls on arc, x32, and xtensa. * Enhanced manual page. * Bug fixes * Fixed corner cases in decoding of exit, exit_group, futimesat, getgroups, getresuid, init_module, inotify_init1, kcmp, kexec_load, lookup_dcookie, mq_getsetattr, mq_notify, mq_open, mq_timedreceive, mq_timedsend, name_to_handle_at, prctl, process_vm_readv, process_vm_writev, setfsuid, setgroups, setns, unshare, and utimes syscalls. * Fixed handling of verbose flag in printing of controls array of struct v4l2_ext_controls. * Fixed omission of field names in the output of capability, sigaction, sigevent, statfs, timespec, timeval, and utimbuf structures. * Fixed printing of unknown syscalls in siginfo structure. * Fixed decoding of ioctl constants on m68k. * Fixed cris architecture support. * Fixed cross build when host compiler does not support the same set of warning flags as the cross compiler. * Fixed build on SLE10 and SLE11. Bug: N/A Test: manual Change-Id: I590bf5db1652aa1dfdc0eb16e30fd97c82af2261
Diffstat (limited to 'tests-mx32/count.test')
-rwxr-xr-xtests-mx32/count.test56
1 files changed, 56 insertions, 0 deletions
diff --git a/tests-mx32/count.test b/tests-mx32/count.test
new file mode 100755
index 00000000..e75dc6b0
--- /dev/null
+++ b/tests-mx32/count.test
@@ -0,0 +1,56 @@
+#!/bin/sh
+#
+# Check whether -c and -w options work.
+#
+# Copyright (c) 2014-2016 Dmitry V. Levin <ldv@altlinux.org>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+. "${srcdir=.}/init.sh"
+
+run_prog ./sleep 0
+check_prog grep
+
+grep_log()
+{
+ local pattern="$1"; shift
+
+ run_strace "$@" ./sleep 1
+
+ grep nanosleep "$LOG" > /dev/null ||
+ framework_skip_ 'sleep does not use nanosleep'
+
+ LC_ALL=C grep -E -x -e "$pattern" "$LOG" > /dev/null || {
+ echo "Pattern of expected output: $pattern"
+ echo 'Actual output:'
+ dump_log_and_fail_with "$STRACE $args output mismatch"
+ }
+}
+
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c
+grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -enanosleep
+grep_log ' *[^ ]+ +(1\.[01]|0\.99)[^n]*nanosleep' -cw
+grep_log '100\.00 +(1\.[01]|0\.99)[^n]*nanosleep' -cw -enanosleep
+
+exit 0