Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: migrate remaining tests to run.go
* bug248, bug345, bug369, and bug429 were ported from bash commands to run scripts. bug369 remains disabled. * bug395 is a test for issue 1909, which is still open. It is marked as skip now and will be usable with compile with run.go when issue 1909 is fixed. Fixes golang#4139 Updates golang#1909 Change-Id: Ibb5fbfb5cf72ddc285829245318eeacd3fb5a636
- Loading branch information
Showing
10 changed files
with
222 additions
and
239 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,56 @@ | ||
// $G $D/$F.dir/bug0.go && | ||
// $G $D/$F.dir/bug1.go && | ||
// $G $D/$F.dir/bug2.go && | ||
// errchk $G -e $D/$F.dir/bug3.go && | ||
// $L bug2.$A && | ||
// ./$A.out || echo BUG: failed to compile | ||
|
||
// 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. | ||
// +build !nacl | ||
// run | ||
|
||
// 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. | ||
|
||
ignored | ||
package main | ||
|
||
import ( | ||
"fmt" | ||
"go/build" | ||
"os" | ||
"os/exec" | ||
"path/filepath" | ||
) | ||
|
||
func main() { | ||
a, err := build.ArchChar(build.Default.GOARCH) | ||
check(err) | ||
|
||
errchk, err := filepath.Abs("errchk") | ||
check(err) | ||
|
||
err = os.Chdir(filepath.Join("fixedbugs", "bug248.dir")) | ||
check(err) | ||
|
||
run("go", "tool", a+"g", "bug0.go") | ||
run("go", "tool", a+"g", "bug1.go") | ||
run("go", "tool", a+"g", "bug2.go") | ||
run(errchk, "go", "tool", a+"g", "-e", "bug3.go") | ||
run("go", "tool", a+"l", "bug2."+a) | ||
run(fmt.Sprintf(".%c%s.out", filepath.Separator, a)) | ||
|
||
os.Remove("bug0." + a) | ||
os.Remove("bug1." + a) | ||
os.Remove("bug2." + a) | ||
os.Remove(a + ".out") | ||
} | ||
|
||
func run(name string, args ...string) { | ||
cmd := exec.Command(name, args...) | ||
out, err := cmd.CombinedOutput() | ||
if err != nil { | ||
fmt.Println(string(out)) | ||
fmt.Println(err) | ||
os.Exit(1) | ||
} | ||
} | ||
|
||
func check(err error) { | ||
if err != nil { | ||
fmt.Println(err) | ||
os.Exit(1) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,48 @@ | ||
// $G $D/$F.dir/io.go && errchk $G -e $D/$F.dir/main.go | ||
|
||
// 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. | ||
// +build !nacl | ||
// run | ||
|
||
// 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 ignored | ||
package main | ||
|
||
import ( | ||
"fmt" | ||
"go/build" | ||
"os" | ||
"os/exec" | ||
"path/filepath" | ||
) | ||
|
||
func main() { | ||
a, err := build.ArchChar(build.Default.GOARCH) | ||
check(err) | ||
|
||
errchk, err := filepath.Abs("errchk") | ||
check(err) | ||
|
||
err = os.Chdir(filepath.Join(".", "fixedbugs", "bug345.dir")) | ||
check(err) | ||
|
||
run("go", "tool", a+"g", "io.go") | ||
run(errchk, "go", "tool", a+"g", "-e", "main.go") | ||
os.Remove("io." + a) | ||
} | ||
|
||
func run(name string, args ...string) { | ||
cmd := exec.Command(name, args...) | ||
out, err := cmd.CombinedOutput() | ||
if err != nil { | ||
fmt.Println(string(out)) | ||
fmt.Println(err) | ||
os.Exit(1) | ||
} | ||
} | ||
|
||
func check(err error) { | ||
if err != nil { | ||
fmt.Println(err) | ||
os.Exit(1) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
// 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 main | ||
|
||
import ( | ||
"flag" | ||
"os" | ||
"runtime" | ||
"testing" | ||
|
||
fast "./fast" | ||
slow "./slow" | ||
) | ||
|
||
var buf = make([]byte, 1048576) | ||
|
||
func BenchmarkFastNonASCII(b *testing.B) { | ||
for i := 0; i < b.N; i++ { | ||
fast.NonASCII(buf, 0) | ||
} | ||
} | ||
|
||
func BenchmarkSlowNonASCII(b *testing.B) { | ||
for i := 0; i < b.N; i++ { | ||
slow.NonASCII(buf, 0) | ||
} | ||
} | ||
|
||
func main() { | ||
os.Args = []string{os.Args[0], "-test.benchtime=100ms"} | ||
flag.Parse() | ||
|
||
rslow := testing.Benchmark(BenchmarkSlowNonASCII) | ||
rfast := testing.Benchmark(BenchmarkFastNonASCII) | ||
tslow := rslow.NsPerOp() | ||
tfast := rfast.NsPerOp() | ||
|
||
// Optimization should be good for at least 2x, but be forgiving. | ||
// On the ARM simulator we see closer to 1.5x. | ||
speedup := float64(tslow) / float64(tfast) | ||
want := 1.8 | ||
if runtime.GOARCH == "arm" { | ||
want = 1.3 | ||
} | ||
if speedup < want { | ||
// TODO(rsc): doesn't work on linux-amd64 or darwin-amd64 builders, nor on | ||
// a Lenovo x200 (linux-amd64) laptop. | ||
// println("fast:", tfast, "slow:", tslow, "speedup:", speedup, "want:", want) | ||
// println("not fast enough") | ||
// os.Exit(1) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
// +build !nacl | ||
// run | ||
|
||
// Copyright 2014 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. | ||
|
||
// Run the bug429.go test. | ||
|
||
package main | ||
|
||
import ( | ||
"fmt" | ||
"os" | ||
"os/exec" | ||
"path/filepath" | ||
"strings" | ||
) | ||
|
||
func main() { | ||
cmd := exec.Command("go", "run", filepath.Join("fixedbugs", "bug429.go")) | ||
out, err := cmd.CombinedOutput() | ||
if err == nil { | ||
fmt.Println("expected deadlock") | ||
os.Exit(1) | ||
} | ||
|
||
want := "fatal error: all goroutines are asleep - deadlock!" | ||
got := string(out) | ||
if !strings.Contains(got, want) { | ||
fmt.Printf("got:\n%q\nshould contain:\n%q\n", got, want) | ||
os.Exit(1) | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.