Signed-off-by: Sami Kerola <kerolasa@xxxxxx> --- tests/commands.sh | 2 ++ tests/expected/ipcs/mk-rm-msg | 2 ++ tests/expected/ipcs/mk-rm-sem | 2 ++ tests/expected/ipcs/mk-rm-shm | 2 ++ tests/ts/ipcs/functions.sh | 17 +++++++++++++++++ tests/ts/ipcs/mk-rm-msg | 36 ++++++++++++++++++++++++++++++++++++ tests/ts/ipcs/mk-rm-sem | 36 ++++++++++++++++++++++++++++++++++++ tests/ts/ipcs/mk-rm-shm | 36 ++++++++++++++++++++++++++++++++++++ 8 files changed, 133 insertions(+) create mode 100644 tests/expected/ipcs/mk-rm-msg create mode 100644 tests/expected/ipcs/mk-rm-sem create mode 100644 tests/expected/ipcs/mk-rm-shm create mode 100755 tests/ts/ipcs/mk-rm-msg create mode 100755 tests/ts/ipcs/mk-rm-sem create mode 100755 tests/ts/ipcs/mk-rm-shm diff --git a/tests/commands.sh b/tests/commands.sh index 4792ce1..3138fbf 100644 --- a/tests/commands.sh +++ b/tests/commands.sh @@ -79,3 +79,5 @@ TS_CMD_SETARCH=${TS_CMD_SETARCH-"$top_builddir/setarch"} TS_CMD_FALLOCATE=${TS_CMD_FALLOCATE-"$top_builddir/fallocate"} TS_CMD_ISOSIZE=${TS_CMD_ISOSIZE-"$top_builddir/isosize"} TS_CMD_WHEREIS=${TS_CMD_WHEREIS-"$top_builddir/whereis"} +TS_CMD_IPCMK=${TS_CMD_IPCMK-"$top_builddir/ipcmk"} +TS_CMD_IPCRM=${TS_CMD_IPCRM-"$top_builddir/ipcrm"} diff --git a/tests/expected/ipcs/mk-rm-msg b/tests/expected/ipcs/mk-rm-msg new file mode 100644 index 0000000..8a82b94 --- /dev/null +++ b/tests/expected/ipcs/mk-rm-msg @@ -0,0 +1,2 @@ +Message queue id: <was_number> +Message queue id: <was_number> diff --git a/tests/expected/ipcs/mk-rm-sem b/tests/expected/ipcs/mk-rm-sem new file mode 100644 index 0000000..a9c3f46 --- /dev/null +++ b/tests/expected/ipcs/mk-rm-sem @@ -0,0 +1,2 @@ +Semaphore id: <was_number> +Semaphore id: <was_number> diff --git a/tests/expected/ipcs/mk-rm-shm b/tests/expected/ipcs/mk-rm-shm new file mode 100644 index 0000000..49d5867 --- /dev/null +++ b/tests/expected/ipcs/mk-rm-shm @@ -0,0 +1,2 @@ +Shared memory id: <was_number> +Shared memory id: <was_number> diff --git a/tests/ts/ipcs/functions.sh b/tests/ts/ipcs/functions.sh index 24ea445..297d34f 100644 --- a/tests/ts/ipcs/functions.sh +++ b/tests/ts/ipcs/functions.sh @@ -81,3 +81,20 @@ function ipcs_limits_check { done } +# Read 'ipcmk' output, such as 'Shared memory id: 22839299' and +# write the message to two files: (1) something what one can +# compare as test output, and (2) id which ipcrm later will use +# for deletion. +ipcmk_output_handler() { + awk -v text=$1 -v num=$2 ' + function isnum(x) { + return(x == x + 0) + } + { + if (isnum($NF)) { + print $NF >> num + $NF="<was_number>" + } + print $0 >> text + }' +} diff --git a/tests/ts/ipcs/mk-rm-msg b/tests/ts/ipcs/mk-rm-msg new file mode 100755 index 0000000..21ecb9c --- /dev/null +++ b/tests/ts/ipcs/mk-rm-msg @@ -0,0 +1,36 @@ +#!/bin/bash + +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +TS_TOPDIR="$(dirname $0)/../.." +TS_DESC="mk-rm-msg" + +. $TS_TOPDIR/functions.sh +ts_init "$*" + +. $TS_SELF/functions.sh + +rm -f $TS_SELF/id-msg +$TS_CMD_IPCMK -Q 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_SELF/id-msg +$TS_CMD_IPCRM -q $(cat $TS_SELF/id-msg) >>$TS_OUTPUT 2>&1 + +rm -f $TS_SELF/id-msg +$TS_CMD_IPCMK -Q 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_SELF/id-msg +$TS_CMD_IPCRM -Q $( + $TS_CMD_IPCS -q | + awk -v id=$(cat $TS_SELF/id-msg) '{if ($2 == id){print $1}}' +) >>$TS_OUTPUT 2>&1 + +rm -f $TS_SELF/id-msg + +ts_finalize diff --git a/tests/ts/ipcs/mk-rm-sem b/tests/ts/ipcs/mk-rm-sem new file mode 100755 index 0000000..754940b --- /dev/null +++ b/tests/ts/ipcs/mk-rm-sem @@ -0,0 +1,36 @@ +#!/bin/bash + +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +TS_TOPDIR="$(dirname $0)/../.." +TS_DESC="mk-rm-sem" + +. $TS_TOPDIR/functions.sh +ts_init "$*" + +. $TS_SELF/functions.sh + +rm -f $TS_SELF/id-sem +$TS_CMD_IPCMK -S 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_SELF/id-sem +$TS_CMD_IPCRM -s $(cat $TS_SELF/id-sem) >>$TS_OUTPUT 2>&1 + +rm -f $TS_SELF/id-sem +$TS_CMD_IPCMK -S 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_SELF/id-sem +$TS_CMD_IPCRM -S $( + $TS_CMD_IPCS -s | + awk -v id=$(cat $TS_SELF/id-sem) '{if ($2 == id){print $1}}' +) >>$TS_OUTPUT 2>&1 + +rm -f $TS_SELF/id-sem + +ts_finalize diff --git a/tests/ts/ipcs/mk-rm-shm b/tests/ts/ipcs/mk-rm-shm new file mode 100755 index 0000000..707d359 --- /dev/null +++ b/tests/ts/ipcs/mk-rm-shm @@ -0,0 +1,36 @@ +#!/bin/bash + +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +TS_TOPDIR="$(dirname $0)/../.." +TS_DESC="mk-rm-shm" + +. $TS_TOPDIR/functions.sh +ts_init "$*" + +. $TS_SELF/functions.sh + +rm -f $TS_SELF/id-shm +$TS_CMD_IPCMK -M 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_SELF/id-shm +$TS_CMD_IPCRM -m $(cat $TS_SELF/id-shm) >>$TS_OUTPUT 2>&1 +rm -f $TS_SELF/id-shm + +$TS_CMD_IPCMK -M 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_SELF/id-shm +$TS_CMD_IPCRM -M $( + $TS_CMD_IPCS -m | + awk -v id=$(cat $TS_SELF/id-shm) '{if ($2 == id){print $1}}' +) >>$TS_OUTPUT 2>&1 + +rm -f $TS_SELF/id-shm + +ts_finalize -- 1.8.1.1 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html