1
0
mirror of https://github.com/golang/go synced 2024-11-22 13:14:55 -07:00

test: add rotate.go and fixedbugs/bug313

Update #4139.

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/7094047
This commit is contained in:
Rémy Oudompheng 2013-01-11 22:42:55 +01:00
parent 7f0449a108
commit 578f24d532
7 changed files with 54 additions and 16 deletions

View File

@ -1,7 +1,4 @@
// errchk $G -e $D/$F.dir/[ab].go // errorcheckdir
// NOTE: This test is not run by 'run.go' and so not run by all.bash.
// To run this test you must use the ./run shell script.
// Copyright 2010 The Go Authors. All rights reserved. // Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style

View File

@ -1,9 +1,6 @@
// $G $D/$F.go && $L $F.$A && // skip
// ./$A.out >tmp.go && $G tmp.go && $L -o $A.out1 tmp.$A && ./$A.out1
// rm -f tmp.go $A.out1
// NOTE: This test is not run by 'run.go' and so not run by all.bash. // NOTE: the actual tests to run are rotate[0123].go
// To run this test you must use the ./run shell script.
// Copyright 2012 The Go Authors. All rights reserved. // Copyright 2012 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
@ -12,8 +9,8 @@
// Generate test of shift and rotate by constants. // Generate test of shift and rotate by constants.
// The output is compiled and run. // The output is compiled and run.
// //
// The output takes around a gigabyte of memory to compile, link, and run // The integer type depends on the value of mode (rotate direction,
// but it is only done during ./run, not in normal builds using run.go. // signedness).
package main package main
@ -37,9 +34,7 @@ func main() {
typ := fmt.Sprintf("int%d", 1<<logBits) typ := fmt.Sprintf("int%d", 1<<logBits)
fmt.Fprint(b, strings.Replace(checkFunc, "XXX", typ, -1)) fmt.Fprint(b, strings.Replace(checkFunc, "XXX", typ, -1))
fmt.Fprint(b, strings.Replace(checkFunc, "XXX", "u"+typ, -1)) fmt.Fprint(b, strings.Replace(checkFunc, "XXX", "u"+typ, -1))
for mode := 0; mode < 1<<2; mode++ { gentest(b, 1<<logBits, mode&1 != 0, mode&2 != 0)
gentest(b, 1<<logBits, mode&1 != 0, mode&2 != 0)
}
} }
} }

12
test/rotate0.go Normal file
View File

@ -0,0 +1,12 @@
// runoutput ./rotate.go
// Copyright 2013 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.
// Generate test of bit rotations.
// The output is compiled and run.
package main
const mode = 0

12
test/rotate1.go Normal file
View File

@ -0,0 +1,12 @@
// runoutput ./rotate.go
// Copyright 2013 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.
// Generate test of bit rotations.
// The output is compiled and run.
package main
const mode = 1

12
test/rotate2.go Normal file
View File

@ -0,0 +1,12 @@
// runoutput ./rotate.go
// Copyright 2013 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.
// Generate test of bit rotations.
// The output is compiled and run.
package main
const mode = 2

12
test/rotate3.go Normal file
View File

@ -0,0 +1,12 @@
// runoutput ./rotate.go
// Copyright 2013 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.
// Generate test of bit rotations.
// The output is compiled and run.
package main
const mode = 3

View File

@ -724,12 +724,10 @@ func (t *test) wantedErrors(file, short string) (errs []wantedError) {
var skipOkay = map[string]bool{ var skipOkay = map[string]bool{
"linkx.go": true, "linkx.go": true,
"rotate.go": true,
"sigchld.go": true, "sigchld.go": true,
"sinit.go": true, "sinit.go": true,
"fixedbugs/bug248.go": true, // combines errorcheckdir and rundir in the same dir. "fixedbugs/bug248.go": true, // combines errorcheckdir and rundir in the same dir.
"fixedbugs/bug302.go": true, // tests both .$O and .a imports. "fixedbugs/bug302.go": true, // tests both .$O and .a imports.
"fixedbugs/bug313.go": true, // errorcheckdir with failures in the middle.
"fixedbugs/bug345.go": true, // needs the appropriate flags in gc invocation. "fixedbugs/bug345.go": true, // needs the appropriate flags in gc invocation.
"fixedbugs/bug369.go": true, // needs compiler flags. "fixedbugs/bug369.go": true, // needs compiler flags.
"fixedbugs/bug385_32.go": true, // arch-specific errors. "fixedbugs/bug385_32.go": true, // arch-specific errors.