>From 62114503778d1aea824c088e8bbb19b54546b595 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?=
Date: Sun, 13 Dec 2015 18:15:07 +0000
Subject: [PATCH 1/2] tests: add tests for the kill command
* tests/misc/kill.sh: Add first tests for kill.
* tests/local.mk: Reference the new test.
---
tests/local.mk | 1 +
tests/misc/kill.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 52 insertions(+)
create mode 100755 tests/misc/kill.sh
diff --git a/tests/local.mk b/tests/local.mk
index 89fdbb0..a145011 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -291,6 +291,7 @@ all_tests = \
tests/misc/head-c.sh \
tests/misc/head-pos.sh \
tests/misc/head-write-error.sh \
+ tests/misc/kill.sh \
tests/misc/md5sum.pl \
tests/misc/md5sum-bsd.sh \
tests/misc/md5sum-newline.pl \
diff --git a/tests/misc/kill.sh b/tests/misc/kill.sh
new file mode 100755
index 0000000..61f8498
--- /dev/null
+++ b/tests/misc/kill.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+# Validate kill operation
+
+# Copyright (C) 2015 Free Software Foundation, Inc.
+
+# This program 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 3 of the License, or
+# (at your option) any later version.
+
+# This program 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.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
+print_ver_ kill
+
+# params required
+env kill && fail=1
+env kill -TERM && fail=1
+
+# Invalid combinations
+env kill -l -l && fail=1
+env kill -l -t && fail=1
+env kill -l -s 1 && fail=1
+env kill -t -s 1 && fail=1
+
+# signal sending
+env kill -0 no_pid && fail=1
+env kill -0 $$ || fail=1
+env kill -s0 $$ || fail=1
+env kill -n0 $$ || fail=1 # bash compat
+env kill -CONT $$ || fail=1
+env kill -Cont $$ || fail=1
+env kill -cont $$ && fail=1
+env kill -0 -1 || fail=1 # to group
+
+# table listing
+env kill -l || fail=1
+env kill -t || fail=1
+env kill -t TERM || fail=1
+
+# Verify name to signal number and vice versa
+SIGTERM=$(env kill -l TERM) || fail=1
+test $(env kill -l "$SIGTERM") = TERM || fail=1
+
+Exit $fail
--
2.5.0
>From 4d23ecf96d03c16d2fd17d3fae641f254dc40b85 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?=
Date: Sun, 13 Dec 2015 19:54:27 +0000
Subject: [PATCH 2/2] kill: add undocumented -L for compatibility
procps, bash >= 4.4, and util-linux >= 2.23
all have the -L option to output a table.
* src/kill.c (main): Have -L synonymous with -t.
Luckily there is no signal that begins with 'L'.
* tests/misc/kill.sh: Update the test.
---
src/kill.c | 7 ++++---
tests/misc/kill.sh | 1 +
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/kill.c b/src/kill.c
index 98b270f..441456b 100644
--- a/src/kill.c
+++ b/src/kill.c
@@ -53,9 +53,9 @@
static char const short_options[] =
"0::1::2::3::4::5::6::7::8::9::"
- "A::B::C::D::E::F::G::H::I::J::K::L::M::"
+ "A::B::C::D::E::F::G::H::I::J::K::M::"
"N::O::P::Q::R::S::T::U::V::W::X::Y::Z::"
- "ln:s:t";
+ "Lln:s:t";
static struct option const long_options[] =
{
@@ -249,7 +249,7 @@ main (int argc, char **argv)
/* Fall through. */
case 'A': case 'B': case 'C': case 'D': case 'E':
case 'F': case 'G': case 'H': case 'I': case 'J':
- case 'K': case 'L': case 'M': case 'N': case 'O':
+ case 'K': /*case 'L':*/ case 'M': case 'N': case 'O':
case 'P': case 'Q': case 'R': case 'S': case 'T':
case 'U': case 'V': case 'W': case 'X': case 'Y':
case 'Z':
@@ -274,6 +274,7 @@ main (int argc, char **argv)
usage (EXIT_FAILURE);
break;
+ case 'L': /* -L is not documented, but is for Bash compatibility. */
case 't':
table = true;
/* Fall through. */
diff --git a/tests/misc/kill.sh b/tests/misc/kill.sh
index 61f8498..0503568 100755
--- a/tests/misc/kill.sh
+++ b/tests/misc/kill.sh
@@ -42,6 +42,7 @@ env kill -0 -1 || fail=1 # to group
# table listing
env kill -l || fail=1
env kill -t || fail=1
+env kill -L || fail=1 # bash compat
env kill -t TERM || fail=1
# Verify name to signal number and vice versa
--
2.5.0