aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/testdata
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/testdata')
-rw-r--r--src/runtime/testdata/testexithooks/testexithooks.go34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/runtime/testdata/testexithooks/testexithooks.go b/src/runtime/testdata/testexithooks/testexithooks.go
index ceb3326c4f..151b5dc62b 100644
--- a/src/runtime/testdata/testexithooks/testexithooks.go
+++ b/src/runtime/testdata/testexithooks/testexithooks.go
@@ -7,6 +7,7 @@ package main
import (
"flag"
"os"
+ "internal/runtime/exithook"
_ "unsafe"
)
@@ -30,22 +31,19 @@ func main() {
}
}
-//go:linkname runtime_addExitHook runtime.addExitHook
-func runtime_addExitHook(f func(), runOnNonZeroExit bool)
-
func testSimple() {
f1 := func() { println("foo") }
f2 := func() { println("bar") }
- runtime_addExitHook(f1, false)
- runtime_addExitHook(f2, false)
+ exithook.Add(exithook.Hook{F: f1})
+ exithook.Add(exithook.Hook{F: f2})
// no explicit call to os.Exit
}
func testGoodExit() {
f1 := func() { println("apple") }
f2 := func() { println("orange") }
- runtime_addExitHook(f1, false)
- runtime_addExitHook(f2, false)
+ exithook.Add(exithook.Hook{F: f1})
+ exithook.Add(exithook.Hook{F: f2})
// explicit call to os.Exit
os.Exit(0)
}
@@ -56,11 +54,11 @@ func testBadExit() {
f3 := func() { println("blek") }
f4 := func() { println("blub") }
f5 := func() { println("blat") }
- runtime_addExitHook(f1, false)
- runtime_addExitHook(f2, true)
- runtime_addExitHook(f3, false)
- runtime_addExitHook(f4, true)
- runtime_addExitHook(f5, false)
+ exithook.Add(exithook.Hook{F: f1})
+ exithook.Add(exithook.Hook{F: f2, RunOnFailure: true})
+ exithook.Add(exithook.Hook{F: f3})
+ exithook.Add(exithook.Hook{F: f4, RunOnFailure: true})
+ exithook.Add(exithook.Hook{F: f5})
os.Exit(1)
}
@@ -68,9 +66,9 @@ func testPanics() {
f1 := func() { println("ok") }
f2 := func() { panic("BADBADBAD") }
f3 := func() { println("good") }
- runtime_addExitHook(f1, true)
- runtime_addExitHook(f2, true)
- runtime_addExitHook(f3, true)
+ exithook.Add(exithook.Hook{F: f1, RunOnFailure: true})
+ exithook.Add(exithook.Hook{F: f2, RunOnFailure: true})
+ exithook.Add(exithook.Hook{F: f3, RunOnFailure: true})
os.Exit(0)
}
@@ -78,8 +76,8 @@ func testHookCallsExit() {
f1 := func() { println("ok") }
f2 := func() { os.Exit(1) }
f3 := func() { println("good") }
- runtime_addExitHook(f1, true)
- runtime_addExitHook(f2, true)
- runtime_addExitHook(f3, true)
+ exithook.Add(exithook.Hook{F: f1, RunOnFailure: true})
+ exithook.Add(exithook.Hook{F: f2, RunOnFailure: true})
+ exithook.Add(exithook.Hook{F: f3, RunOnFailure: true})
os.Exit(1)
}