summaryrefslogtreecommitdiffstats
path: root/libgo/go/errors
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-03 02:17:34 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-03 02:17:34 +0000
commit6692ad1d1b2710fc619d04aad2ae0668cc59f4db (patch)
tree7f76eff391f37fe6467ff4ffbc0c582c9959ea30 /libgo/go/errors
parent96265ae6967d08ca35d36e87b7588c0c9e6e5cca (diff)
downloadppe42-gcc-6692ad1d1b2710fc619d04aad2ae0668cc59f4db.tar.gz
ppe42-gcc-6692ad1d1b2710fc619d04aad2ae0668cc59f4db.zip
libgo: Update to weekly.2011-11-02.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181964 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/errors')
-rw-r--r--libgo/go/errors/errors.go20
-rw-r--r--libgo/go/errors/errors_test.go33
2 files changed, 53 insertions, 0 deletions
diff --git a/libgo/go/errors/errors.go b/libgo/go/errors/errors.go
new file mode 100644
index 00000000000..3085a7962c2
--- /dev/null
+++ b/libgo/go/errors/errors.go
@@ -0,0 +1,20 @@
+// Copyright 2011 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.
+
+// Package errors implements functions to manipulate errors.
+package errors
+
+// New returns an error that formats as the given text.
+func New(text string) error {
+ return &errorString{text}
+}
+
+// errorString is a trivial implementation of error.
+type errorString struct {
+ s string
+}
+
+func (e *errorString) Error() string {
+ return e.s
+}
diff --git a/libgo/go/errors/errors_test.go b/libgo/go/errors/errors_test.go
new file mode 100644
index 00000000000..c537eeb6251
--- /dev/null
+++ b/libgo/go/errors/errors_test.go
@@ -0,0 +1,33 @@
+// Copyright 2011 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.
+
+package errors_test
+
+import (
+ . "errors"
+ "testing"
+)
+
+func TestNewEqual(t *testing.T) {
+ // Different allocations should not be equal.
+ if New("abc") == New("abc") {
+ t.Errorf(`New("abc") == New("abc")`)
+ }
+ if New("abc") == New("xyz") {
+ t.Errorf(`New("abc") == New("xyz")`)
+ }
+
+ // Same allocation should be equal to itself (not crash).
+ err := New("jkl")
+ if err != err {
+ t.Errorf(`err != err`)
+ }
+}
+
+func TestErrorMethod(t *testing.T) {
+ err := New("abc")
+ if err.Error() != "abc" {
+ t.Errorf(`New("abc").Error() = %q, want %q`, err.Error(), "abc")
+ }
+}
OpenPOWER on IntegriCloud