diff options
author | Sami Kerola | 2013-01-19 01:09:10 +0100 |
---|---|---|
committer | Karel Zak | 2013-01-25 10:49:32 +0100 |
commit | 3b0fa2fa22d5f04b3d50de7d549b81da73a4063b (patch) | |
tree | f42dfca8b743afad8f1493d837c173508d0026df /tests | |
parent | dmesg: parse level when --color is used (diff) | |
download | kernel-qcow2-util-linux-3b0fa2fa22d5f04b3d50de7d549b81da73a4063b.tar.gz kernel-qcow2-util-linux-3b0fa2fa22d5f04b3d50de7d549b81da73a4063b.tar.xz kernel-qcow2-util-linux-3b0fa2fa22d5f04b3d50de7d549b81da73a4063b.zip |
tests: add ipcmk(1) and ipcrm(1) checks
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/commands.sh | 2 | ||||
-rw-r--r-- | tests/expected/ipcs/mk-rm-msg | 2 | ||||
-rw-r--r-- | tests/expected/ipcs/mk-rm-sem | 2 | ||||
-rw-r--r-- | tests/expected/ipcs/mk-rm-shm | 2 | ||||
-rw-r--r-- | tests/ts/ipcs/functions.sh | 17 | ||||
-rwxr-xr-x | tests/ts/ipcs/mk-rm-msg | 36 | ||||
-rwxr-xr-x | tests/ts/ipcs/mk-rm-sem | 36 | ||||
-rwxr-xr-x | tests/ts/ipcs/mk-rm-shm | 36 |
8 files changed, 133 insertions, 0 deletions
diff --git a/tests/commands.sh b/tests/commands.sh index 62c62f4c0..8623e65fc 100644 --- a/tests/commands.sh +++ b/tests/commands.sh @@ -81,3 +81,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 000000000..8a82b9470 --- /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 000000000..a9c3f469c --- /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 000000000..49d586728 --- /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 24ea445e4..297d34f76 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 000000000..529d86142 --- /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_OUTDIR/id-msg +$TS_CMD_IPCMK -Q 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-msg +$TS_CMD_IPCRM -q $(cat $TS_OUTDIR/id-msg) >>$TS_OUTPUT 2>&1 + +rm -f $TS_OUTDIR/id-msg +$TS_CMD_IPCMK -Q 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-msg +$TS_CMD_IPCRM -Q $( + $TS_CMD_IPCS -q | + awk -v id=$(cat $TS_OUTDIR/id-msg) '{if ($2 == id){print $1}}' +) >>$TS_OUTPUT 2>&1 + +rm -f $TS_OUTDIR/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 000000000..2eb149d5f --- /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_OUTDIR/id-sem +$TS_CMD_IPCMK -S 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-sem +$TS_CMD_IPCRM -s $(cat $TS_OUTDIR/id-sem) >>$TS_OUTPUT 2>&1 + +rm -f $TS_OUTDIR/id-sem +$TS_CMD_IPCMK -S 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-sem +$TS_CMD_IPCRM -S $( + $TS_CMD_IPCS -s | + awk -v id=$(cat $TS_OUTDIR/id-sem) '{if ($2 == id){print $1}}' +) >>$TS_OUTPUT 2>&1 + +rm -f $TS_OUTDIR/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 000000000..f2bc33ec5 --- /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_OUTDIR/id-shm +$TS_CMD_IPCMK -M 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-shm +$TS_CMD_IPCRM -m $(cat $TS_OUTDIR/id-shm) >>$TS_OUTPUT 2>&1 +rm -f $TS_OUTDIR/id-shm + +$TS_CMD_IPCMK -M 1 2>>$TS_OUTPUT | ipcmk_output_handler $TS_OUTPUT $TS_OUTDIR/id-shm +$TS_CMD_IPCRM -M $( + $TS_CMD_IPCS -m | + awk -v id=$(cat $TS_OUTDIR/id-shm) '{if ($2 == id){print $1}}' +) >>$TS_OUTPUT 2>&1 + +rm -f $TS_OUTDIR/id-shm + +ts_finalize |