Text file src/cmd/go/testdata/script/test_setup_error.txt

     1  [short] skip
     2  
     3  # Test that a loading error in a test file is reported as a "setup failed" error
     4  # and doesn't prevent running other tests.
     5  ! go test -o=$devnull ./t1/p ./t
     6  stderr '# m/t1/p\n.*package x is not in std'
     7  stdout 'FAIL	m/t1/p \[setup failed\]'
     8  stdout 'ok  	m/t'
     9  
    10  # Test a loading error in a test package, but not in the test file
    11  ! go test -o=$devnull ./t2/p ./t
    12  stderr '# m/t2/p\n.*package x is not in std'
    13  stdout 'FAIL	m/t2/p \[setup failed\]'
    14  stdout 'ok  	m/t'
    15  
    16  # Test a loading error in a package imported by a test file
    17  ! go test -o=$devnull ./t3/p ./t
    18  stderr '# m/t3/p\n.*package x is not in std'
    19  stdout 'FAIL	m/t3/p \[setup failed\]'
    20  stdout 'ok  	m/t'
    21  
    22  # Test a loading error in a package imported by a test package
    23  ! go test -o=$devnull ./t4/p ./t
    24  stderr '# m/t4/p\n.*package x is not in std'
    25  stdout 'FAIL	m/t4/p \[setup failed\]'
    26  stdout 'ok  	m/t'
    27  
    28  # Test that two loading errors are both reported.
    29  ! go test -o=$devnull ./t1/p ./t2/p ./t
    30  stderr '# m/t1/p\n.*package x is not in std'
    31  stdout 'FAIL	m/t1/p \[setup failed\]'
    32  stderr '# m/t2/p\n.*package x is not in std'
    33  stdout 'FAIL	m/t2/p \[setup failed\]'
    34  stdout 'ok  	m/t'
    35  
    36  # Test that an import cycle error is reported. Test for #70820
    37  ! go test -o=$devnull ./cycle/p ./t
    38  stderr '# m/cycle/p\n.*package m/cycle/p\n\timports m/cycle/p from p\.go: import cycle not allowed'
    39  stdout 'FAIL	m/cycle/p \[setup failed\]'
    40  stdout 'ok  	m/t'
    41  
    42  # Test that multiple errors for the same package under test are reported.
    43  ! go test -o=$devnull ./cycle/q ./t
    44  stderr '# m/cycle/q\n.*package m/cycle/q\n\timports m/cycle/p from q\.go\n\timports m/cycle/p from p\.go: import cycle not allowed'
    45  stdout 'FAIL	m/cycle/q \[setup failed\]'
    46  stdout 'ok  	m/t'
    47  
    48  # Finally, this one is a non-import-cycle load error that
    49  # is produced for the package under test.
    50  ! go test -o=$devnull . ./t
    51  stderr '# \.\n.*no Go files in '$PWD'$'
    52  stdout 'FAIL	. \[setup failed\]'
    53  stdout 'ok  	m/t'
    54  
    55  -- go.mod --
    56  module m
    57  go 1.21
    58  -- t/t_test.go --
    59  package t
    60  
    61  import "testing"
    62  
    63  func TestGood(t *testing.T) {}
    64  -- t1/p/p_test.go --
    65  package p
    66  
    67  import "x"
    68  -- t2/p/p_test.go --
    69  package p
    70  -- t2/p/p.go --
    71  package p
    72  
    73  import "x"
    74  -- t3/p/p_test.go --
    75  package p
    76  
    77  import "m/bad"
    78  -- t4/p/p_test.go --
    79  package p
    80  -- t4/p/p.go --
    81  package p
    82  
    83  import "m/bad"
    84  -- cycle/p/p.go --
    85  package p
    86  
    87  import "m/cycle/p"
    88  -- cycle/q/q.go --
    89  package q
    90  
    91  import (
    92  	"m/bad"
    93  	"m/cycle/p"
    94  )
    95  -- bad/bad.go --
    96  package bad
    97  
    98  import "x"
    99  

View as plain text