summaryrefslogtreecommitdiff
path: root/test/ken/rob2.go
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2012-01-18 14:31:31 -0800
committerIan Lance Taylor <iant@golang.org>2012-01-18 14:31:31 -0800
commitf2030938522fae7c6b65569a20a7b9ed1431b8f8 (patch)
treef3715df98cecac151807d23e7ec9403765252d5b /test/ken/rob2.go
parent39bb4bd454b915aed58d1732c6d7c6e3b233d706 (diff)
downloadgo-git-f2030938522fae7c6b65569a20a7b9ed1431b8f8.tar.gz
test: change several tests to not print
This will make these tests more meaningful for gccgo, which runs tests in parallel and has no equivalent to golden.out. Remove ken/simpprint.go since it duplicates helloworld.go. R=golang-dev, r CC=golang-dev https://golang.org/cl/5536058
Diffstat (limited to 'test/ken/rob2.go')
-rw-r--r--test/ken/rob2.go32
1 files changed, 19 insertions, 13 deletions
diff --git a/test/ken/rob2.go b/test/ken/rob2.go
index 76a471cfb3..d13e2441d4 100644
--- a/test/ken/rob2.go
+++ b/test/ken/rob2.go
@@ -6,6 +6,8 @@
package main
+import "fmt"
+
const nilchar = 0
type Atom struct {
@@ -80,40 +82,44 @@ func main() {
if list == nil {
break
}
- list.Print()
+ r := list.Print()
list.Free()
+ if r != "(defn foo (add 12 34))" {
+ panic(r)
+ }
break
}
}
-func (slist *Slist) PrintOne(doparen bool) {
+func (slist *Slist) PrintOne(doparen bool) string {
if slist == nil {
- return
+ return ""
}
+ var r string
if slist.isatom {
if slist.isstring {
- print(slist.String())
+ r = slist.String()
} else {
- print(slist.Integer())
+ r = fmt.Sprintf("%v", slist.Integer())
}
} else {
if doparen {
- print("(")
+ r += "("
}
- slist.Car().PrintOne(true)
+ r += slist.Car().PrintOne(true)
if slist.Cdr() != nil {
- print(" ")
- slist.Cdr().PrintOne(false)
+ r += " "
+ r += slist.Cdr().PrintOne(false)
}
if doparen {
- print(")")
+ r += ")"
}
}
+ return r
}
-func (slist *Slist) Print() {
- slist.PrintOne(true)
- print("\n")
+func (slist *Slist) Print() string {
+ return slist.PrintOne(true)
}
func Get() int {