From: Nikolay Marchuk Date: Mon, 17 Jul 2017 03:44:51 +0000 (+0700) Subject: tests: move check_* functions from options-syntax.test to separate file X-Git-Tag: v4.19~171 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=35c006d93c10195b0b4c017a134b828ced56a6ec;p=strace tests: move check_* functions from options-syntax.test to separate file * tests/options-syntax.test: Move check_* functions to ... * tests/syntax.sh: ... new file. * tests/Makefile.am (EXTRA_DIST): Add syntax.sh. --- diff --git a/tests/Makefile.am b/tests/Makefile.am index 6d384929..f038226e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -358,6 +358,7 @@ EXTRA_DIST = \ strace.supp \ struct_flock.c \ sun_path.expected \ + syntax.sh \ trace_fstat.in \ trace_fstatfs.in \ trace_lstat.in \ diff --git a/tests/options-syntax.test b/tests/options-syntax.test index 7cfc579b..b4d9be70 100755 --- a/tests/options-syntax.test +++ b/tests/options-syntax.test @@ -28,57 +28,7 @@ # (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" - -check_exit_status_and_stderr() -{ - $STRACE "$@" 2> "$LOG" && - dump_log_and_fail_with \ - "strace $* failed to handle the error properly" - match_diff "$LOG" "$EXP" || - dump_log_and_fail_with \ - "strace $* failed to print expected diagnostics" -} - -check_exit_status_and_stderr_using_grep() -{ - $STRACE "$@" 2> "$LOG" && - dump_log_and_fail_with \ - "strace $* failed to handle the error properly" - match_grep "$LOG" "$EXP" || - dump_log_and_fail_with \ - "strace $* failed to print expected diagnostics" -} - -strace_exp="${STRACE##* }" - -check_e() -{ - local pattern="$1"; shift - cat > "$EXP" << __EOF__ -$strace_exp: $pattern -__EOF__ - check_exit_status_and_stderr "$@" -} - -check_e_using_grep() -{ - local pattern="$1"; shift - cat > "$EXP" << __EOF__ -$strace_exp: $pattern -__EOF__ - check_exit_status_and_stderr_using_grep "$@" -} - -check_h() -{ - local pattern="$1"; shift - cat > "$EXP" << __EOF__ -$strace_exp: $pattern -Try '$strace_exp -h' for more information. -__EOF__ - check_exit_status_and_stderr "$@" -} +. "${srcdir=.}/syntax.sh" check_e "Invalid process id: '0'" -p 0 check_e "Invalid process id: '-42'" -p -42 diff --git a/tests/syntax.sh b/tests/syntax.sh new file mode 100644 index 00000000..0a0d2a57 --- /dev/null +++ b/tests/syntax.sh @@ -0,0 +1,81 @@ +#!/bin/sh +# +# Define syntax testing primitives. +# +# Copyright (c) 2016 Dmitry V. Levin +# Copyright (c) 2016-2017 The strace developers. +# 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" + +check_exit_status_and_stderr() +{ + $STRACE "$@" 2> "$LOG" && + dump_log_and_fail_with \ + "strace $* failed to handle the error properly" + match_diff "$LOG" "$EXP" || + dump_log_and_fail_with \ + "strace $* failed to print expected diagnostics" +} + +check_exit_status_and_stderr_using_grep() +{ + $STRACE "$@" 2> "$LOG" && + dump_log_and_fail_with \ + "strace $* failed to handle the error properly" + match_grep "$LOG" "$EXP" || + dump_log_and_fail_with \ + "strace $* failed to print expected diagnostics" +} + +strace_exp="${STRACE##* }" + +check_e() +{ + local pattern="$1"; shift + cat > "$EXP" << __EOF__ +$strace_exp: $pattern +__EOF__ + check_exit_status_and_stderr "$@" +} + +check_e_using_grep() +{ + local pattern="$1"; shift + cat > "$EXP" << __EOF__ +$strace_exp: $pattern +__EOF__ + check_exit_status_and_stderr_using_grep "$@" +} + +check_h() +{ + local pattern="$1"; shift + cat > "$EXP" << __EOF__ +$strace_exp: $pattern +Try '$strace_exp -h' for more information. +__EOF__ + check_exit_status_and_stderr "$@" +}