On Tue, Aug 22, 2017 at 01:01:42PM +0700, Nikolay Marchuk wrote: > * tests/filtering_syscall-syntax.test: New file. > * tests/options-syntax.test: Move syscall set syntax testing to > filtering_syscall-syntax.test. > * tests/qual_fault-syntax.test: Likewise. > * tests/qual_inject-syntax.test: Likewise. > * tests/Makefile.am (MISC_TESTS): Add filtering_syscall-syntax.test. > --- > tests/Makefile.am | 1 + > tests/filtering_syscall-syntax.test | 133 > ++++++++++++++++++++++++++++++++++++ > tests/options-syntax.test | 17 ----- > tests/qual_fault-syntax.test | 17 +---- > tests/qual_inject-syntax.test | 18 +---- > 5 files changed, 136 insertions(+), 50 deletions(-) > create mode 100755 tests/filtering_syscall-syntax.test > > diff --git a/tests/Makefile.am b/tests/Makefile.am > index 42a66c46..09fcc5ed 100644 > --- a/tests/Makefile.am > +++ b/tests/Makefile.am > @@ -258,6 +258,7 @@ MISC_TESTS = \ > detach-stopped.test \ > filter-unavailable.test \ > fflush.test \ > + filtering_syscall-syntax.test \ > get_regs.test \ > interactive_block.test \ > ksysent.test \ > diff --git a/tests/filtering_syscall-syntax.test > b/tests/filtering_syscall-syntax.test > new file mode 100755 > index 00000000..78c1da7f > --- /dev/null > +++ b/tests/filtering_syscall-syntax.test > @@ -0,0 +1,133 @@ > +#!/bin/sh > +# > +# Check syscall set parsing syntax. > +# > +# Copyright (c) 2016-2017 Dmitry V. Levin <l...@altlinux.org> > +# Copyright (c) 2017 Nikolay Marchuk <marchuk.nikola...@gmail.com> > +# 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=.}/syntax.sh" > + > +check_syscall() > +{ > + [ -z "$2" ] || check_e "invalid system call '$1'" -e"$2" > + check_e "invalid system call '$1'" -e "$2" > + check_e "invalid system call '$1'" -etrace="$2" > + check_e "invalid system call '$1'" -e trace="$2" > + check_e "invalid system call '$1'" -e abbrev="$2" > + check_e "invalid system call '$1'" -e verbose="$2" > + check_e "invalid system call '$1'" -e raw="$2" > + check_e "invalid system call '$1'" -e inject="$2"
The test FAILs on HEAD with the following dignostics: -../../strace: invalid system call '' +../../strace: invalid inject argument '' > + check_e "invalid system call '$1'" -e inject="$2:when=3" > + check_e "invalid system call '$1'" -e fault="$2" > + check_e "invalid system call '$1'" -e fault="$2:when=4" > +} > + > +check_syscall_new() Why check_syscall_new? > +{ > + [ -z "$2" ] || check_e "invalid system call '$1'" -e "syscall $2" > + [ -z "$2" ] || check_e "invalid system call '$1'" -e "(syscall $2)" > + [ -z "$2" ] || check_e "invalid system call '$1'" -e "((syscall $2))" > + [ -z "$2" ] || check_e "invalid system call '$1'" -e "((syscall none) > or syscall $2)" > + [ -z "$2" ] || check_e "invalid system call '$1'" -e "((syscall all) > and syscall $2)" > + [ -z "$2" ] || check_e "invalid system call '$1'" -e "trace(syscall $2)" > +} Note a lot of redundancy here. Are two subsequent space symbols after "syscall" intended? -- ldv
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel