blob: 25aa18cfcb33c0bb5dd8d2874b5777a733d2275d [file] [log] [blame]
# Test internal package errors are handled
cd testinternal3
go list .
stdout 'testinternal3'
# Test internal cache
cd ../testinternal4
! go build testinternal4/p
stderr 'internal'
# Test internal packages outside GOROOT are respected
cd ../testinternal2
! go build -v .
stderr 'p\.go:3:8: use of internal package .*internal/w not allowed'
[gccgo] skip # gccgo does not have GOROOT
cd ../testinternal
! go build -v .
stderr 'p\.go:3:8: use of internal package net/http/internal not allowed'
-- testinternal/go.mod --
module testinternal
go 1.16
-- testinternal/p.go --
package p
import _ "net/http/internal"
-- testinternal2/go.mod --
module testinternal2
go 1.16
-- testinternal2/p.go --
package p
import _ "./x/y/z/internal/w"
-- testinternal2/x/y/z/internal/w/w.go --
package w
-- testinternal3/go.mod --
module testinternal3
go 1.16
-- testinternal3/t.go --
package t
import _ "internal/does-not-exist"
-- testinternal4/go.mod --
module testinternal4
go 1.16
-- testinternal4/p/p.go --
package p
import (
_ "testinternal4/q/internal/x"
_ "testinternal4/q/j"
)
-- testinternal4/q/internal/x/x.go --
package x
-- testinternal4/q/j/j.go --
package j
import _ "testinternal4/q/internal/x"