Skip to content
This repository was archived by the owner on Jun 28, 2024. It is now read-only.

Commit 99e348d

Browse files
committed
tests: modify kill tests to support Darwin
SIGPWR is not supported on Darwin. This patch adds new kill_linux_test.go to use SIGPWR and kill_darwin_test.go that does not use SIGPWR. In addition SIGSTKFLT was removed from the tests. Signed-off-by: Salvador Fuentes <[email protected]>
1 parent 91bee22 commit 99e348d

File tree

3 files changed

+74
-38
lines changed

3 files changed

+74
-38
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Copyright (c) 2018 Intel Corporation
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
package docker
6+
7+
import (
8+
"syscall"
9+
10+
. "github.com/onsi/ginkgo/extensions/table"
11+
)
12+
13+
func withOSSignals(signalsMap map[syscall.Signal]bool) []TableEntry {
14+
return withGenericSignals(signalsMap)
15+
}

integration/docker/kill_linux_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Copyright (c) 2018 Intel Corporation
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
package docker
6+
7+
import (
8+
"syscall"
9+
10+
. "github.com/onsi/ginkgo/extensions/table"
11+
)
12+
13+
func withOSSignals(signalsMap map[syscall.Signal]bool) []TableEntry {
14+
signalsMap[syscall.SIGPWR] = canBeTrapped
15+
return withGenericSignals(signalsMap)
16+
}

integration/docker/kill_test.go

Lines changed: 43 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,32 @@ const (
2020
canBeTrapped = true
2121
)
2222

23-
func withSignal(signal syscall.Signal, trap bool) TableEntry {
24-
expectedExitCode := int(signal)
25-
if !trap {
26-
// 128 -> command interrupted by a signal
27-
// http://www.tldp.org/LDP/abs/html/exitcodes.html
28-
expectedExitCode += 128
29-
}
30-
31-
return Entry(fmt.Sprintf("with '%d'(%s) signal", signal, syscall.Signal(signal)), signal, expectedExitCode, true)
23+
var genericSignalMap = map[syscall.Signal]bool{
24+
syscall.SIGHUP: canBeTrapped,
25+
syscall.SIGINT: canBeTrapped,
26+
syscall.SIGQUIT: canBeTrapped,
27+
syscall.SIGILL: canBeTrapped,
28+
syscall.SIGTRAP: canBeTrapped,
29+
syscall.SIGIOT: canBeTrapped,
30+
syscall.SIGFPE: canBeTrapped,
31+
syscall.SIGUSR1: canBeTrapped,
32+
syscall.SIGSEGV: canBeTrapped,
33+
syscall.SIGUSR2: canBeTrapped,
34+
syscall.SIGPIPE: canBeTrapped,
35+
syscall.SIGALRM: canBeTrapped,
36+
syscall.SIGTERM: canBeTrapped,
37+
syscall.SIGCHLD: canBeTrapped,
38+
syscall.SIGCONT: canBeTrapped,
39+
syscall.SIGTSTP: canBeTrapped,
40+
syscall.SIGTTIN: canBeTrapped,
41+
syscall.SIGTTOU: canBeTrapped,
42+
syscall.SIGURG: canBeTrapped,
43+
syscall.SIGXCPU: canBeTrapped,
44+
syscall.SIGXFSZ: canBeTrapped,
45+
syscall.SIGVTALRM: canBeTrapped,
46+
syscall.SIGPROF: canBeTrapped,
47+
syscall.SIGWINCH: canBeTrapped,
48+
syscall.SIGIO: canBeTrapped,
3249
}
3350

3451
func withoutSignal() TableEntry {
@@ -43,6 +60,22 @@ func withSignalNotExitCode(signal syscall.Signal) TableEntry {
4360
return Entry(fmt.Sprintf("with '%d' (%s) signal, don't change the exit code", signal, signal), signal, 0, false)
4461
}
4562

63+
func withGenericSignals(signalsMap map[syscall.Signal]bool) []TableEntry {
64+
var table []TableEntry
65+
var expectedExitCode int
66+
for signal, trap := range signalsMap {
67+
expectedExitCode = int(signal)
68+
if !trap {
69+
// 128 -> command interrupted by a signal
70+
// http://www.tldp.org/LDP/abs/html/exitcodes.html
71+
expectedExitCode += 128
72+
73+
}
74+
table = append(table, Entry(fmt.Sprintf("with '%d'(%s) signal", int(signal), signal), signal, expectedExitCode, true))
75+
}
76+
return append(table, withoutSignal(), withSignalNotExitCode(syscall.SIGSTOP))
77+
}
78+
4679
var _ = Describe("docker kill", func() {
4780
var (
4881
args []string
@@ -119,34 +152,6 @@ var _ = Describe("docker kill", func() {
119152
Expect(err).ToNot(HaveOccurred())
120153
Expect(exitCode).To(Equal(expectedExitCode))
121154
},
122-
withSignal(syscall.SIGHUP, canBeTrapped),
123-
withSignal(syscall.SIGINT, canBeTrapped),
124-
withSignal(syscall.SIGQUIT, canBeTrapped),
125-
withSignal(syscall.SIGILL, canBeTrapped),
126-
withSignal(syscall.SIGTRAP, canBeTrapped),
127-
withSignal(syscall.SIGIOT, canBeTrapped),
128-
withSignal(syscall.SIGFPE, canBeTrapped),
129-
withSignal(syscall.SIGUSR1, canBeTrapped),
130-
withSignal(syscall.SIGSEGV, canBeTrapped),
131-
withSignal(syscall.SIGUSR2, canBeTrapped),
132-
withSignal(syscall.SIGPIPE, canBeTrapped),
133-
withSignal(syscall.SIGALRM, canBeTrapped),
134-
withSignal(syscall.SIGTERM, canBeTrapped),
135-
withSignal(syscall.SIGSTKFLT, canBeTrapped),
136-
withSignal(syscall.SIGCHLD, canBeTrapped),
137-
withSignal(syscall.SIGCONT, canBeTrapped),
138-
withSignalNotExitCode(syscall.SIGSTOP),
139-
withSignal(syscall.SIGTSTP, canBeTrapped),
140-
withSignal(syscall.SIGTTIN, canBeTrapped),
141-
withSignal(syscall.SIGTTOU, canBeTrapped),
142-
withSignal(syscall.SIGURG, canBeTrapped),
143-
withSignal(syscall.SIGXCPU, canBeTrapped),
144-
withSignal(syscall.SIGXFSZ, canBeTrapped),
145-
withSignal(syscall.SIGVTALRM, canBeTrapped),
146-
withSignal(syscall.SIGPROF, canBeTrapped),
147-
withSignal(syscall.SIGWINCH, canBeTrapped),
148-
withSignal(syscall.SIGIO, canBeTrapped),
149-
withSignal(syscall.SIGPWR, canBeTrapped),
150-
withoutSignal(),
155+
withOSSignals(genericSignalMap)...,
151156
)
152157
})

0 commit comments

Comments
 (0)