summaryrefslogtreecommitdiff
path: root/test/recover2.go
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-09-13 13:11:55 +0200
committerOndřej Surý <ondrej@sury.org>2011-09-13 13:11:55 +0200
commit80f18fc933cf3f3e829c5455a1023d69f7b86e52 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /test/recover2.go
parent28592ee1ea1f5cdffcf85472f9de0285d928cf12 (diff)
downloadgolang-80f18fc933cf3f3e829c5455a1023d69f7b86e52.tar.gz
Imported Upstream version 60
Diffstat (limited to 'test/recover2.go')
-rw-r--r--test/recover2.go87
1 files changed, 0 insertions, 87 deletions
diff --git a/test/recover2.go b/test/recover2.go
deleted file mode 100644
index 9affe25d4..000000000
--- a/test/recover2.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// $G $D/$F.go && $L $F.$A && ./$A.out
-
-// Copyright 2010 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Test of recover for run-time errors.
-
-// TODO(rsc):
-// null pointer accesses
-
-package main
-
-import (
- "os"
- "strings"
-)
-
-var x = make([]byte, 10)
-
-func main() {
- test1()
- test2()
- test3()
- test4()
- test5()
- test6()
- test7()
-}
-
-func mustRecover(s string) {
- v := recover()
- if v == nil {
- panic("expected panic")
- }
- if e := v.(os.Error).String(); strings.Index(e, s) < 0 {
- panic("want: " + s + "; have: " + e)
- }
-}
-
-func test1() {
- defer mustRecover("index")
- println(x[123])
-}
-
-func test2() {
- defer mustRecover("slice")
- println(x[5:15])
-}
-
-func test3() {
- defer mustRecover("slice")
- var lo = 11
- var hi = 9
- println(x[lo:hi])
-}
-
-func test4() {
- defer mustRecover("interface")
- var x interface{} = 1
- println(x.(float32))
-}
-
-type T struct {
- a, b int
-}
-
-func test5() {
- defer mustRecover("uncomparable")
- var x T
- var z interface{} = x
- println(z != z)
-}
-
-func test6() {
- defer mustRecover("unhashable")
- var x T
- var z interface{} = x
- m := make(map[interface{}]int)
- m[z] = 1
-}
-
-func test7() {
- defer mustRecover("divide by zero")
- var x, y int
- println(x / y)
-}