public inbox for util-linux@vger.kernel.org
 help / color / mirror / Atom feed
From: Sami Kerola <kerolasa@iki.fi>
To: util-linux@vger.kernel.org
Cc: kerolasa@iki.fi
Subject: [PATCH 21/22] tests: add ipcmk(1) and ipcrm(1) checks
Date: Sat, 19 Jan 2013 00:09:10 +0000	[thread overview]
Message-ID: <1358554151-25985-22-git-send-email-kerolasa@iki.fi> (raw)
In-Reply-To: <1358554151-25985-1-git-send-email-kerolasa@iki.fi>

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
---
 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


  parent reply	other threads:[~2013-01-19  0:10 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-19  0:08 [PATCH 00/22] tests: lots of tests Sami Kerola
2013-01-19  0:08 ` [PATCH 01/22] build-sys: add gcov files to .gitignore Sami Kerola
2013-01-19  0:08 ` [PATCH 02/22] tests: add rev(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 03/22] tests: add utmpdump(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 04/22] tests: add getopt(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 05/22] tests: add mcookie(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 06/22] tests: add tailf(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 07/22] tests: add ul(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 08/22] tests: add ionice(1) check Sami Kerola
2013-01-19  0:08 ` [PATCH 09/22] more: allow non-interactive invocation of the command Sami Kerola
2013-01-24 18:33   ` Karel Zak
2013-01-19  0:08 ` [PATCH 10/22] tests: add more(1) check Sami Kerola
2013-01-19  0:09 ` [PATCH 11/22] tests: add line(1) check Sami Kerola
2013-01-19  0:09 ` [PATCH 12/22] tests: add dmesg(1) check Sami Kerola
2013-01-19  0:09 ` [PATCH 13/22] dmesg: add boundary check to facility & level array usage Sami Kerola
2013-01-19  0:09 ` [PATCH 14/22] tests: add setsid(1) check Sami Kerola
2013-01-19  0:09 ` [PATCH 15/22] tests: add setarch(8) check Sami Kerola
2013-01-19  0:09 ` [PATCH 16/22] tests: add fallocate(1) check Sami Kerola
2013-01-19  0:09 ` [PATCH 17/22] docs: mkswap.8: recommend fallocate(1) Sami Kerola
2013-01-25  9:17   ` Karel Zak
2013-01-19  0:09 ` [PATCH 18/22] tests: add isosize(1) check Sami Kerola
2013-01-25  9:25   ` Karel Zak
2013-01-19  0:09 ` [PATCH 19/22] tests: add whereis(1) check Sami Kerola
2013-01-19  0:09 ` [PATCH 20/22] dmesg: parse level when --color is used Sami Kerola
2013-01-19  0:09 ` Sami Kerola [this message]
2013-01-19  0:09 ` [PATCH 22/22] tests: sort commands strings Sami Kerola
2013-01-25 10:09 ` [PATCH 00/22] tests: lots of tests Karel Zak

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1358554151-25985-22-git-send-email-kerolasa@iki.fi \
    --to=kerolasa@iki.fi \
    --cc=util-linux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox