@@ -3,9 +3,7 @@ package objtesting
33import (
44 "os"
55 "testing"
6- "time"
76
8- "github.com/fortytw2/leaktest"
97 "github.com/thanos-io/thanos/pkg/objstore"
108 "github.com/thanos-io/thanos/pkg/objstore/azure"
119 "github.com/thanos-io/thanos/pkg/objstore/cos"
@@ -21,98 +19,98 @@ import (
2119// that deletes it after test was run.
2220// Use THANOS_SKIP_<objstorename>_TESTS to skip explicitly certain tests.
2321func ForeachStore (t * testing.T , testFn func (t testing.TB , bkt objstore.Bucket )) {
22+ t .Parallel ()
23+
2424 // Mandatory Inmem.
2525 if ok := t .Run ("inmem" , func (t * testing.T ) {
26- defer leaktest .CheckTimeout (t , 10 * time .Second )()
27-
26+ t .Parallel ()
2827 testFn (t , inmem .NewBucket ())
29-
3028 }); ! ok {
3129 return
3230 }
3331
3432 // Optional GCS.
3533 if _ , ok := os .LookupEnv ("THANOS_SKIP_GCS_TESTS" ); ! ok {
36- bkt , closeFn , err := gcs .NewTestBucket (t , os .Getenv ("GCP_PROJECT" ))
37- testutil .Ok (t , err )
34+ t .Run ("gcs" , func (t * testing.T ) {
35+ bkt , closeFn , err := gcs .NewTestBucket (t , os .Getenv ("GCP_PROJECT" ))
36+ testutil .Ok (t , err )
37+
38+ t .Parallel ()
39+ defer closeFn ()
3840
39- ok := t .Run ("gcs" , func (t * testing.T ) {
4041 // TODO(bwplotka): Add leaktest when https://github.com/GoogleCloudPlatform/google-cloud-go/issues/1025 is resolved.
4142 testFn (t , bkt )
4243 })
43- closeFn ()
44- if ! ok {
45- return
46- }
44+
4745 } else {
4846 t .Log ("THANOS_SKIP_GCS_TESTS envvar present. Skipping test against GCS." )
4947 }
5048
5149 // Optional S3.
5250 if _ , ok := os .LookupEnv ("THANOS_SKIP_S3_AWS_TESTS" ); ! ok {
53- // TODO(bwplotka): Allow taking location from envvar.
54- bkt , closeFn , err := s3 .NewTestBucket (t , "us-west-2" )
55- testutil .Ok (t , err )
51+ t .Run ("aws s3" , func (t * testing.T ) {
52+ // TODO(bwplotka): Allow taking location from envvar.
53+ bkt , closeFn , err := s3 .NewTestBucket (t , "us-west-2" )
54+ testutil .Ok (t , err )
55+
56+ t .Parallel ()
57+ defer closeFn ()
5658
57- ok := t .Run ("aws s3" , func (t * testing.T ) {
5859 // TODO(bwplotka): Add leaktest when we fix potential leak in minio library.
5960 // We cannot use leaktest for detecting our own potential leaks, when leaktest detects leaks in minio itself.
6061 // This needs to be investigated more.
6162
6263 testFn (t , bkt )
6364 })
64- closeFn ()
65- if ! ok {
66- return
67- }
65+
6866 } else {
6967 t .Log ("THANOS_SKIP_S3_AWS_TESTS envvar present. Skipping test against S3 AWS." )
7068 }
7169
7270 // Optional Azure.
7371 if _ , ok := os .LookupEnv ("THANOS_SKIP_AZURE_TESTS" ); ! ok {
74- bkt , closeFn , err := azure .NewTestBucket (t , "e2e-tests" )
75- testutil .Ok (t , err )
72+ t .Run ("azure" , func (t * testing.T ) {
73+ bkt , closeFn , err := azure .NewTestBucket (t , "e2e-tests" )
74+ testutil .Ok (t , err )
75+
76+ t .Parallel ()
77+ defer closeFn ()
7678
77- ok := t .Run ("azure" , func (t * testing.T ) {
7879 testFn (t , bkt )
7980 })
80- closeFn ()
81- if ! ok {
82- return
83- }
81+
8482 } else {
8583 t .Log ("THANOS_SKIP_AZURE_TESTS envvar present. Skipping test against Azure." )
8684 }
8785
8886 // Optional SWIFT.
8987 if _ , ok := os .LookupEnv ("THANOS_SKIP_SWIFT_TESTS" ); ! ok {
90- container , closeFn , err := swift .NewTestContainer (t )
91- testutil .Ok (t , err )
88+ t .Run ("swift" , func (t * testing.T ) {
89+ container , closeFn , err := swift .NewTestContainer (t )
90+ testutil .Ok (t , err )
91+
92+ t .Parallel ()
93+ defer closeFn ()
9294
93- ok := t .Run ("swift" , func (t * testing.T ) {
9495 testFn (t , container )
9596 })
96- closeFn ()
97- if ! ok {
98- return
99- }
97+
10098 } else {
10199 t .Log ("THANOS_SKIP_SWIFT_TESTS envvar present. Skipping test against swift." )
102100 }
103101
104102 // Optional COS.
105103 if _ , ok := os .LookupEnv ("THANOS_SKIP_TENCENT_COS_TESTS" ); ! ok {
106- bkt , closeFn , err := cos .NewTestBucket (t )
107- testutil .Ok (t , err )
104+ t .Run ("Tencent cos" , func (t * testing.T ) {
105+ bkt , closeFn , err := cos .NewTestBucket (t )
106+ testutil .Ok (t , err )
107+
108+ t .Parallel ()
109+ defer closeFn ()
108110
109- ok := t .Run ("Tencent cos" , func (t * testing.T ) {
110111 testFn (t , bkt )
111112 })
112- closeFn ()
113- if ! ok {
114- return
115- }
113+
116114 } else {
117115 t .Log ("THANOS_SKIP_TENCENT_COS_TESTS envvar present. Skipping test against Tencent COS." )
118116 }
0 commit comments