mirror of
https://github.com/golang/go
synced 2024-11-13 18:40:22 -07:00
cmd/go: run the 'go build' command in TestACL in the temp directory
Otherwise, when the 'cmd' module is added the test will run as if in module 'cmd'. While we're here, remove an unnecessary os.Chdir in TestAbsolutePath: we can instead set the Dir on the 'go build' command instead. Then we can run the tests in this file in parallel with everything else. Updates #30228 Change-Id: I13ecd7ec93bc1041010daec14d76bac10e0c89be Reviewed-on: https://go-review.googlesource.com/c/go/+/165744 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
88d719f809
commit
edf8539fad
@ -16,6 +16,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestAbsolutePath(t *testing.T) {
|
func TestAbsolutePath(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
tmp, err := ioutil.TempDir("", "TestAbsolutePath")
|
tmp, err := ioutil.TempDir("", "TestAbsolutePath")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -33,21 +35,11 @@ func TestAbsolutePath(t *testing.T) {
|
|||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
wd, err := os.Getwd()
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
defer os.Chdir(wd)
|
|
||||||
|
|
||||||
// Chdir so current directory and a.go reside on the same drive.
|
|
||||||
err = os.Chdir(dir)
|
|
||||||
if err != nil {
|
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
noVolume := file[len(filepath.VolumeName(file)):]
|
noVolume := file[len(filepath.VolumeName(file)):]
|
||||||
wrongPath := filepath.Join(dir, noVolume)
|
wrongPath := filepath.Join(dir, noVolume)
|
||||||
output, err := exec.Command(testenv.GoToolPath(t), "build", noVolume).CombinedOutput()
|
cmd := exec.Command(testenv.GoToolPath(t), "build", noVolume)
|
||||||
|
cmd.Dir = dir
|
||||||
|
output, err := cmd.CombinedOutput()
|
||||||
if err == nil {
|
if err == nil {
|
||||||
t.Fatal("build should fail")
|
t.Fatal("build should fail")
|
||||||
}
|
}
|
||||||
@ -79,6 +71,8 @@ func runGetACL(t *testing.T, path string) string {
|
|||||||
// has discretionary access control list (DACL) set as if the file
|
// has discretionary access control list (DACL) set as if the file
|
||||||
// was created in the destination directory.
|
// was created in the destination directory.
|
||||||
func TestACL(t *testing.T) {
|
func TestACL(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
tmpdir, err := ioutil.TempDir("", "TestACL")
|
tmpdir, err := ioutil.TempDir("", "TestACL")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
@ -102,11 +96,16 @@ func TestACL(t *testing.T) {
|
|||||||
|
|
||||||
src := filepath.Join(tmpdir, "main.go")
|
src := filepath.Join(tmpdir, "main.go")
|
||||||
err = ioutil.WriteFile(src, []byte("package main; func main() { }\n"), 0644)
|
err = ioutil.WriteFile(src, []byte("package main; func main() { }\n"), 0644)
|
||||||
|
if err == nil {
|
||||||
|
err = ioutil.WriteFile(filepath.Join(tmpdir, "go.mod"), []byte("module TestACL\n"), 0644)
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
exe := filepath.Join(tmpdir, "main.exe")
|
exe := filepath.Join(tmpdir, "main.exe")
|
||||||
cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", exe, src)
|
cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", exe, src)
|
||||||
|
cmd.Dir = tmpdir
|
||||||
cmd.Env = append(os.Environ(),
|
cmd.Env = append(os.Environ(),
|
||||||
"TMP="+newtmpdir,
|
"TMP="+newtmpdir,
|
||||||
"TEMP="+newtmpdir,
|
"TEMP="+newtmpdir,
|
||||||
|
Loading…
Reference in New Issue
Block a user