From f710e8ed0429df654824bdcd4b4c509bf1be1f84 Mon Sep 17 00:00:00 2001 From: Ken Thompson Date: Thu, 26 Jun 2008 16:21:51 -0700 Subject: [PATCH] simultaneous assignment test SVN=124994 --- test/simasign.go | 68 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 test/simasign.go diff --git a/test/simasign.go b/test/simasign.go new file mode 100644 index 0000000000..aeb988d7db --- /dev/null +++ b/test/simasign.go @@ -0,0 +1,68 @@ +// $G $F.go && $L $F.$A && ./$A.out + +// Copyright 2009 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 main + +var a,b,c,d,e,f,g,h,i int; + +func +printit() +{ + print a,b,c,d,e,f,g,h,i,"\n"; +} + +func +testit() bool +{ + if a+b+c+d+e+f+g+h+i != 45 { + print "sum does not add to 45\n"; + printit(); + panic; + } + return a == 1 && + b == 2 && + c == 3 && + d == 4 && + e == 5 && + f == 6 && + g == 7 && + h == 8 && + i == 9; +} + +func main() +{ + a = 1; + b = 2; + c = 3; + d = 4; + e = 5; + f = 6; + g = 7; + h = 8; + i = 9; + + if !testit() { panic "init val\n"; } + + for z:=0; z<100; z++ { + a,b,c,d, e,f,g,h,i = b,c,d,a, i,e,f,g,h; + + if testit() { + if z == 19 { + break; + } + print "on ", z, "th iteration\n"; + printit(); + panic; + } + } + + if !testit() { + print "final val\n"; + printit(); + panic; + } +} -- 2.48.1