Revert "tests: Add context cancelation (#15374)"

This reverts commit 1e332f0eb1.

Reverting this as tests are failing randomly.
This commit is contained in:
Minio Trusted 2022-07-21 13:58:51 -07:00
parent 1e332f0eb1
commit 564a0afae1
22 changed files with 69 additions and 136 deletions

View File

@ -74,7 +74,7 @@ func prepareAdminErasureTestBed(ctx context.Context) (*adminErasureTestBed, erro
globalEndpoints = mustGetPoolEndpoints(erasureDirs...) globalEndpoints = mustGetPoolEndpoints(erasureDirs...)
initAllSubsystems(ctx) initAllSubsystems()
initConfigSubsystem(ctx, objLayer) initConfigSubsystem(ctx, objLayer)

View File

@ -100,14 +100,14 @@ type allHealState struct {
} }
// newHealState - initialize global heal state management // newHealState - initialize global heal state management
func newHealState(ctx context.Context, cleanup bool) *allHealState { func newHealState(cleanup bool) *allHealState {
hstate := &allHealState{ hstate := &allHealState{
healSeqMap: make(map[string]*healSequence), healSeqMap: make(map[string]*healSequence),
healLocalDisks: make(map[Endpoint]bool), healLocalDisks: make(map[Endpoint]bool),
healStatus: make(map[string]healingTracker), healStatus: make(map[string]healingTracker),
} }
if cleanup { if cleanup {
go hstate.periodicHealSeqsClean(ctx) go hstate.periodicHealSeqsClean(GlobalContext)
} }
return hstate return hstate
} }

View File

@ -360,10 +360,7 @@ func mustNewSignedBadMD5Request(method string, urlStr string, contentLength int6
// Tests is requested authenticated function, tests replies for s3 errors. // Tests is requested authenticated function, tests replies for s3 errors.
func TestIsReqAuthenticated(t *testing.T) { func TestIsReqAuthenticated(t *testing.T) {
ctx, cancel := context.WithCancel(GlobalContext) objLayer, fsDir, err := prepareFS()
defer cancel()
objLayer, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -372,7 +369,10 @@ func TestIsReqAuthenticated(t *testing.T) {
t.Fatalf("unable initialize config file, %s", err) t.Fatalf("unable initialize config file, %s", err)
} }
initAllSubsystems(ctx) initAllSubsystems()
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
initConfigSubsystem(ctx, objLayer) initConfigSubsystem(ctx, objLayer)
@ -414,10 +414,7 @@ func TestIsReqAuthenticated(t *testing.T) {
} }
func TestCheckAdminRequestAuthType(t *testing.T) { func TestCheckAdminRequestAuthType(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) objLayer, fsDir, err := prepareFS()
defer cancel()
objLayer, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -443,6 +440,7 @@ func TestCheckAdminRequestAuthType(t *testing.T) {
{Request: mustNewPresignedV2Request(http.MethodGet, "http://127.0.0.1:9000", 0, nil, t), ErrCode: ErrAccessDenied}, {Request: mustNewPresignedV2Request(http.MethodGet, "http://127.0.0.1:9000", 0, nil, t), ErrCode: ErrAccessDenied},
{Request: mustNewPresignedRequest(http.MethodGet, "http://127.0.0.1:9000", 0, nil, t), ErrCode: ErrAccessDenied}, {Request: mustNewPresignedRequest(http.MethodGet, "http://127.0.0.1:9000", 0, nil, t), ErrCode: ErrAccessDenied},
} }
ctx := context.Background()
for i, testCase := range testCases { for i, testCase := range testCases {
if _, s3Error := checkAdminRequestAuth(ctx, testCase.Request, iampolicy.AllAdminActions, globalSite.Region); s3Error != testCase.ErrCode { if _, s3Error := checkAdminRequestAuth(ctx, testCase.Request, iampolicy.AllAdminActions, globalSite.Region); s3Error != testCase.ErrCode {
t.Errorf("Test %d: Unexpected s3error returned wanted %d, got %d", i, testCase.ErrCode, s3Error) t.Errorf("Test %d: Unexpected s3error returned wanted %d, got %d", i, testCase.ErrCode, s3Error)
@ -454,7 +452,7 @@ func TestValidateAdminSignature(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
defer cancel() defer cancel()
objLayer, fsDir, err := prepareFS(ctx) objLayer, fsDir, err := prepareFS()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -464,7 +462,8 @@ func TestValidateAdminSignature(t *testing.T) {
t.Fatalf("unable initialize config file, %s", err) t.Fatalf("unable initialize config file, %s", err)
} }
initAllSubsystems(ctx) initAllSubsystems()
initConfigSubsystem(ctx, objLayer) initConfigSubsystem(ctx, objLayer)
globalIAMSys.Init(ctx, objLayer, globalEtcdClient, 2*time.Second) globalIAMSys.Init(ctx, objLayer, globalEtcdClient, 2*time.Second)

View File

@ -26,10 +26,7 @@ import (
) )
func TestServerConfig(t *testing.T) { func TestServerConfig(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) objLayer, fsDir, err := prepareFS()
defer cancel()
objLayer, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -18,7 +18,6 @@
package cmd package cmd
import ( import (
"context"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"os" "os"
@ -29,10 +28,7 @@ import (
// Test if config v1 is purged // Test if config v1 is purged
func TestServerConfigMigrateV1(t *testing.T) { func TestServerConfigMigrateV1(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) objLayer, fsDir, err := prepareFS()
defer cancel()
objLayer, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -168,9 +164,6 @@ func TestServerConfigMigrateInexistentConfig(t *testing.T) {
// Test if a config migration from v2 to v33 is successfully done // Test if a config migration from v2 to v33 is successfully done
func TestServerConfigMigrateV2toV33(t *testing.T) { func TestServerConfigMigrateV2toV33(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
rootPath, err := ioutil.TempDir(globalTestTmpDir, "minio-") rootPath, err := ioutil.TempDir(globalTestTmpDir, "minio-")
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -179,7 +172,7 @@ func TestServerConfigMigrateV2toV33(t *testing.T) {
globalConfigDir = &ConfigDir{path: rootPath} globalConfigDir = &ConfigDir{path: rootPath}
objLayer, fsDir, err := prepareFS(ctx) objLayer, fsDir, err := prepareFS()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -130,6 +130,7 @@ func TestDynamicTimeoutConcurrent(t *testing.T) {
go func() { go func() {
defer wg.Done() defer wg.Done()
for i := 0; i < 100; i++ { for i := 0; i < 100; i++ {
timeout.LogFailure()
for j := 0; j < 100; j++ { for j := 0; j < 100; j++ {
timeout.LogSuccess(time.Duration(float64(time.Second) * rng.Float64())) timeout.LogSuccess(time.Duration(float64(time.Second) * rng.Float64()))
} }

View File

@ -118,7 +118,8 @@ func initMetaVolumeFS(fsPath, fsUUID string) error {
} }
// NewFSObjectLayer - initialize new fs object layer. // NewFSObjectLayer - initialize new fs object layer.
func NewFSObjectLayer(ctx context.Context, fsPath string) (ObjectLayer, error) { func NewFSObjectLayer(fsPath string) (ObjectLayer, error) {
ctx := GlobalContext
if fsPath == "" { if fsPath == "" {
return nil, errInvalidArgument return nil, errInvalidArgument
} }

View File

@ -19,7 +19,6 @@ package cmd
import ( import (
"bytes" "bytes"
"context"
"os" "os"
"path/filepath" "path/filepath"
"testing" "testing"
@ -30,19 +29,17 @@ import (
// TestNewFS - tests initialization of all input disks // TestNewFS - tests initialization of all input disks
// and constructs a valid `FS` object layer. // and constructs a valid `FS` object layer.
func TestNewFS(t *testing.T) { func TestNewFS(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
// Do not attempt to create this path, the test validates // Do not attempt to create this path, the test validates
// so that NewFSObjectLayer initializes non existing paths // so that NewFSObjectLayer initializes non existing paths
// and successfully returns initialized object layer. // and successfully returns initialized object layer.
disk := filepath.Join(globalTestTmpDir, "minio-"+nextSuffix()) disk := filepath.Join(globalTestTmpDir, "minio-"+nextSuffix())
defer os.RemoveAll(disk) defer os.RemoveAll(disk)
_, err := NewFSObjectLayer(ctx, "") _, err := NewFSObjectLayer("")
if err != errInvalidArgument { if err != errInvalidArgument {
t.Errorf("Expecting error invalid argument, got %s", err) t.Errorf("Expecting error invalid argument, got %s", err)
} }
_, err = NewFSObjectLayer(ctx, disk) _, err = NewFSObjectLayer(disk)
if err != nil { if err != nil {
errMsg := "Unable to recognize backend format, Disk is not in FS format." errMsg := "Unable to recognize backend format, Disk is not in FS format."
if err.Error() == errMsg { if err.Error() == errMsg {

View File

@ -300,7 +300,7 @@ func StartGateway(ctx *cli.Context, gw Gateway) {
newObject = NewGatewayLayerWithLocker(newObject) newObject = NewGatewayLayerWithLocker(newObject)
// Calls all New() for all sub-systems. // Calls all New() for all sub-systems.
initAllSubsystems(GlobalContext) initAllSubsystems()
// Once endpoints are finalized, initialize the new object api in safe mode. // Once endpoints are finalized, initialize the new object api in safe mode.
globalObjLayerMutex.Lock() globalObjLayerMutex.Lock()

View File

@ -18,17 +18,13 @@
package cmd package cmd
import ( import (
"context"
"os" "os"
"testing" "testing"
) )
// Test printing Gateway common message. // Test printing Gateway common message.
func TestPrintGatewayCommonMessage(t *testing.T) { func TestPrintGatewayCommonMessage(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -43,10 +39,7 @@ func TestPrintGatewayCommonMessage(t *testing.T) {
// Test print gateway startup message. // Test print gateway startup message.
func TestPrintGatewayStartupMessage(t *testing.T) { func TestPrintGatewayStartupMessage(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -87,7 +87,7 @@ func (g *NAS) Name() string {
// NewGatewayLayer returns nas gatewaylayer. // NewGatewayLayer returns nas gatewaylayer.
func (g *NAS) NewGatewayLayer(creds madmin.Credentials) (minio.ObjectLayer, error) { func (g *NAS) NewGatewayLayer(creds madmin.Credentials) (minio.ObjectLayer, error) {
var err error var err error
newObject, err := minio.NewFSObjectLayer(minio.GlobalContext, g.path) newObject, err := minio.NewFSObjectLayer(g.path)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View File

@ -34,10 +34,7 @@ import (
// Tests validate bucket LocationConstraint. // Tests validate bucket LocationConstraint.
func TestIsValidLocationContraint(t *testing.T) { func TestIsValidLocationContraint(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -18,7 +18,6 @@
package cmd package cmd
import ( import (
"context"
"net/http" "net/http"
"os" "os"
"testing" "testing"
@ -30,10 +29,7 @@ import (
) )
func testAuthenticate(authType string, t *testing.T) { func testAuthenticate(authType string, t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -107,10 +103,7 @@ func getTokenString(accessKey, secretKey string) (string, error) {
// Tests web request authenticator. // Tests web request authenticator.
func TestWebRequestAuthenticate(t *testing.T) { func TestWebRequestAuthenticate(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -164,10 +157,7 @@ func TestWebRequestAuthenticate(t *testing.T) {
} }
func BenchmarkParseJWTStandardClaims(b *testing.B) { func BenchmarkParseJWTStandardClaims(b *testing.B) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }
@ -195,10 +185,7 @@ func BenchmarkParseJWTStandardClaims(b *testing.B) {
} }
func BenchmarkParseJWTMapClaims(b *testing.B) { func BenchmarkParseJWTMapClaims(b *testing.B) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }
@ -228,10 +215,7 @@ func BenchmarkParseJWTMapClaims(b *testing.B) {
} }
func BenchmarkAuthenticateNode(b *testing.B) { func BenchmarkAuthenticateNode(b *testing.B) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }
@ -260,10 +244,7 @@ func BenchmarkAuthenticateNode(b *testing.B) {
} }
func BenchmarkAuthenticateWeb(b *testing.B) { func BenchmarkAuthenticateWeb(b *testing.B) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
b.Fatal(err) b.Fatal(err)
} }

View File

@ -18,7 +18,6 @@
package cmd package cmd
import ( import (
"context"
"os" "os"
"reflect" "reflect"
"sync" "sync"
@ -28,8 +27,8 @@ import (
) )
// Helper function to create a lock server for testing // Helper function to create a lock server for testing
func createLockTestServer(ctx context.Context, t *testing.T) (string, *lockRESTServer, string) { func createLockTestServer(t *testing.T) (string, *lockRESTServer, string) {
obj, fsDir, err := prepareFS(ctx) obj, fsDir, err := prepareFS()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -53,10 +52,7 @@ func createLockTestServer(ctx context.Context, t *testing.T) (string, *lockRESTS
// Test function to remove lock entries from map based on name & uid combination // Test function to remove lock entries from map based on name & uid combination
func TestLockRpcServerRemoveEntry(t *testing.T) { func TestLockRpcServerRemoveEntry(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) testPath, locker, _ := createLockTestServer(t)
defer cancel()
testPath, locker, _ := createLockTestServer(ctx, t)
defer os.RemoveAll(testPath) defer os.RemoveAll(testPath)
lockRequesterInfo1 := lockRequesterInfo{ lockRequesterInfo1 := lockRequesterInfo{

View File

@ -1879,7 +1879,7 @@ func initFSObjectsB(disk string, t *testing.B) (obj ObjectLayer) {
newTestConfig(globalMinioDefaultRegion, obj) newTestConfig(globalMinioDefaultRegion, obj)
initAllSubsystems(GlobalContext) initAllSubsystems()
return obj return obj
} }

View File

@ -37,7 +37,7 @@ import (
"sync" "sync"
"testing" "testing"
"github.com/dustin/go-humanize" humanize "github.com/dustin/go-humanize"
"github.com/minio/minio/internal/auth" "github.com/minio/minio/internal/auth"
xhttp "github.com/minio/minio/internal/http" xhttp "github.com/minio/minio/internal/http"
ioutilx "github.com/minio/minio/internal/ioutil" ioutilx "github.com/minio/minio/internal/ioutil"

View File

@ -35,7 +35,7 @@ import (
"time" "time"
"github.com/minio/cli" "github.com/minio/cli"
"github.com/minio/minio-go/v7" minio "github.com/minio/minio-go/v7"
"github.com/minio/minio-go/v7/pkg/credentials" "github.com/minio/minio-go/v7/pkg/credentials"
"github.com/minio/minio/internal/auth" "github.com/minio/minio/internal/auth"
"github.com/minio/minio/internal/bucket/bandwidth" "github.com/minio/minio/internal/bucket/bandwidth"
@ -242,11 +242,11 @@ func serverHandleEnvVars() {
var globalHealStateLK sync.RWMutex var globalHealStateLK sync.RWMutex
func initAllSubsystems(ctx context.Context) { func initAllSubsystems() {
globalHealStateLK.Lock() globalHealStateLK.Lock()
// New global heal state // New global heal state
globalAllHealState = newHealState(ctx, true) globalAllHealState = newHealState(true)
globalBackgroundHealState = newHealState(ctx, false) globalBackgroundHealState = newHealState(false)
globalHealStateLK.Unlock() globalHealStateLK.Unlock()
// Create new notification system and initialize notification peer targets // Create new notification system and initialize notification peer targets
@ -261,7 +261,7 @@ func initAllSubsystems(ctx context.Context) {
} }
// Create the bucket bandwidth monitor // Create the bucket bandwidth monitor
globalBucketMonitor = bandwidth.NewMonitor(ctx, totalNodeCount()) globalBucketMonitor = bandwidth.NewMonitor(GlobalContext, totalNodeCount())
// Create a new config system. // Create a new config system.
globalConfigSys = NewConfigSys() globalConfigSys = NewConfigSys()
@ -448,7 +448,7 @@ func serverMain(ctx *cli.Context) {
initHelp() initHelp()
// Initialize all sub-systems // Initialize all sub-systems
initAllSubsystems(GlobalContext) initAllSubsystems()
// Is distributed setup, error out if no certificates are found for HTTPS endpoints. // Is distributed setup, error out if no certificates are found for HTTPS endpoints.
if globalIsDistErasure { if globalIsDistErasure {
@ -682,7 +682,7 @@ func newObjectLayer(ctx context.Context, endpointServerPools EndpointServerPools
// For FS only, directly use the disk. // For FS only, directly use the disk.
if endpointServerPools.NEndpoints() == 1 { if endpointServerPools.NEndpoints() == 1 {
// Initialize new FS object layer. // Initialize new FS object layer.
newObject, err = NewFSObjectLayer(ctx, endpointServerPools[0].Endpoints[0].Path) newObject, err = NewFSObjectLayer(endpointServerPools[0].Endpoints[0].Path)
if err == nil { if err == nil {
return newObject, nil return newObject, nil
} }

View File

@ -18,7 +18,6 @@
package cmd package cmd
import ( import (
"context"
"os" "os"
"reflect" "reflect"
"strings" "strings"
@ -72,10 +71,7 @@ func TestStripStandardPorts(t *testing.T) {
// Test printing server common message. // Test printing server common message.
func TestPrintServerCommonMessage(t *testing.T) { func TestPrintServerCommonMessage(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -90,10 +86,7 @@ func TestPrintServerCommonMessage(t *testing.T) {
// Tests print cli access message. // Tests print cli access message.
func TestPrintCLIAccessMsg(t *testing.T) { func TestPrintCLIAccessMsg(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -108,10 +101,7 @@ func TestPrintCLIAccessMsg(t *testing.T) {
// Test print startup message. // Test print startup message.
func TestPrintStartupMessage(t *testing.T) { func TestPrintStartupMessage(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -18,7 +18,6 @@
package cmd package cmd
import ( import (
"context"
"fmt" "fmt"
"net/http" "net/http"
"net/url" "net/url"
@ -42,10 +41,7 @@ func TestResourceListSorting(t *testing.T) {
// Tests presigned v2 signature. // Tests presigned v2 signature.
func TestDoesPresignedV2SignatureMatch(t *testing.T) { func TestDoesPresignedV2SignatureMatch(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -165,10 +161,7 @@ func TestDoesPresignedV2SignatureMatch(t *testing.T) {
// TestValidateV2AuthHeader - Tests validate the logic of V2 Authorization header validator. // TestValidateV2AuthHeader - Tests validate the logic of V2 Authorization header validator.
func TestValidateV2AuthHeader(t *testing.T) { func TestValidateV2AuthHeader(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -239,10 +232,7 @@ func TestValidateV2AuthHeader(t *testing.T) {
} }
func TestDoesPolicySignatureV2Match(t *testing.T) { func TestDoesPolicySignatureV2Match(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -33,7 +33,7 @@ func TestCheckValid(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
defer cancel() defer cancel()
objLayer, fsDir, err := prepareFS(ctx) objLayer, fsDir, err := prepareFS()
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -42,7 +42,8 @@ func TestCheckValid(t *testing.T) {
t.Fatalf("unable initialize config file, %s", err) t.Fatalf("unable initialize config file, %s", err)
} }
initAllSubsystems(ctx) initAllSubsystems()
initConfigSubsystem(ctx, objLayer) initConfigSubsystem(ctx, objLayer)
globalIAMSys.Init(ctx, objLayer, globalEtcdClient, 2*time.Second) globalIAMSys.Init(ctx, objLayer, globalEtcdClient, 2*time.Second)

View File

@ -18,7 +18,6 @@
package cmd package cmd
import ( import (
"context"
"fmt" "fmt"
"net/http" "net/http"
"net/url" "net/url"
@ -94,10 +93,7 @@ func TestDoesPolicySignatureMatch(t *testing.T) {
} }
func TestDoesPresignedSignatureMatch(t *testing.T) { func TestDoesPresignedSignatureMatch(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background()) obj, fsDir, err := prepareFS()
defer cancel()
obj, fsDir, err := prepareFS(ctx)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }

View File

@ -187,7 +187,7 @@ func calculateStreamContentLength(dataLen, chunkSize int64) int64 {
return streamLen return streamLen
} }
func prepareFS(ctx context.Context) (ObjectLayer, string, error) { func prepareFS() (ObjectLayer, string, error) {
nDisks := 1 nDisks := 1
fsDirs, err := getRandomDisks(nDisks) fsDirs, err := getRandomDisks(nDisks)
if err != nil { if err != nil {
@ -198,9 +198,9 @@ func prepareFS(ctx context.Context) (ObjectLayer, string, error) {
return nil, "", err return nil, "", err
} }
initAllSubsystems(ctx) initAllSubsystems()
globalIAMSys.Init(ctx, obj, globalEtcdClient, 2*time.Second) globalIAMSys.Init(context.Background(), obj, globalEtcdClient, 2*time.Second)
return obj, fsDirs[0], nil return obj, fsDirs[0], nil
} }
@ -234,7 +234,7 @@ func initFSObjects(disk string, t *testing.T) (obj ObjectLayer) {
newTestConfig(globalMinioDefaultRegion, obj) newTestConfig(globalMinioDefaultRegion, obj)
initAllSubsystems(GlobalContext) initAllSubsystems()
return obj return obj
} }
@ -366,7 +366,7 @@ func initTestServerWithBackend(ctx context.Context, t TestErrHandler, testServer
globalMinioPort = port globalMinioPort = port
globalMinioAddr = getEndpointsLocalAddr(testServer.Disks) globalMinioAddr = getEndpointsLocalAddr(testServer.Disks)
initAllSubsystems(ctx) initAllSubsystems()
globalEtcdClient = nil globalEtcdClient = nil
@ -445,7 +445,7 @@ func resetGlobalIsErasure() {
func resetGlobalHealState() { func resetGlobalHealState() {
// Init global heal state // Init global heal state
if globalAllHealState == nil { if globalAllHealState == nil {
globalAllHealState = newHealState(GlobalContext, false) globalAllHealState = newHealState(false)
} else { } else {
globalAllHealState.Lock() globalAllHealState.Lock()
for _, v := range globalAllHealState.healSeqMap { for _, v := range globalAllHealState.healSeqMap {
@ -458,7 +458,7 @@ func resetGlobalHealState() {
// Init background heal state // Init background heal state
if globalBackgroundHealState == nil { if globalBackgroundHealState == nil {
globalBackgroundHealState = newHealState(GlobalContext, false) globalBackgroundHealState = newHealState(false)
} else { } else {
globalBackgroundHealState.Lock() globalBackgroundHealState.Lock()
for _, v := range globalBackgroundHealState.healSeqMap { for _, v := range globalBackgroundHealState.healSeqMap {
@ -1474,7 +1474,7 @@ func getRandomDisks(N int) ([]string, error) {
// Initialize object layer with the supplied disks, objectLayer is nil upon any error. // Initialize object layer with the supplied disks, objectLayer is nil upon any error.
func newTestObjectLayer(ctx context.Context, endpointServerPools EndpointServerPools) (newObject ObjectLayer, err error) { func newTestObjectLayer(ctx context.Context, endpointServerPools EndpointServerPools) (newObject ObjectLayer, err error) {
initAllSubsystems(ctx) initAllSubsystems()
return newErasureServerPools(ctx, endpointServerPools) return newErasureServerPools(ctx, endpointServerPools)
} }
@ -1518,7 +1518,7 @@ func removeDiskN(disks []string, n int) {
// initialies the root and returns its path. // initialies the root and returns its path.
// return credentials. // return credentials.
func initAPIHandlerTest(ctx context.Context, obj ObjectLayer, endpoints []string) (string, http.Handler, error) { func initAPIHandlerTest(ctx context.Context, obj ObjectLayer, endpoints []string) (string, http.Handler, error) {
initAllSubsystems(ctx) initAllSubsystems()
initConfigSubsystem(ctx, obj) initConfigSubsystem(ctx, obj)
@ -1556,7 +1556,7 @@ func prepareTestBackend(ctx context.Context, instanceType string) (ObjectLayer,
return prepareErasure16(ctx) return prepareErasure16(ctx)
default: default:
// return FS backend by default. // return FS backend by default.
obj, disk, err := prepareFS(ctx) obj, disk, err := prepareFS()
if err != nil { if err != nil {
return nil, nil, err return nil, nil, err
} }
@ -1725,7 +1725,7 @@ func ExecObjectLayerAPITest(t *testing.T, objAPITest objAPITestType, endpoints [
// this is to make sure that the tests are not affected by modified value. // this is to make sure that the tests are not affected by modified value.
resetTestGlobals() resetTestGlobals()
objLayer, fsDir, err := prepareFS(ctx) objLayer, fsDir, err := prepareFS()
if err != nil { if err != nil {
t.Fatalf("Initialization of object layer failed for single node setup: %s", err) t.Fatalf("Initialization of object layer failed for single node setup: %s", err)
} }
@ -1793,12 +1793,13 @@ func ExecObjectLayerTest(t TestErrHandler, objTest objTestType) {
localMetacacheMgr.deleteAll() localMetacacheMgr.deleteAll()
} }
objLayer, fsDir, err := prepareFS(ctx) objLayer, fsDir, err := prepareFS()
if err != nil { if err != nil {
t.Fatalf("Initialization of object layer failed for single node setup: %s", err) t.Fatalf("Initialization of object layer failed for single node setup: %s", err)
} }
setObjectLayer(objLayer) setObjectLayer(objLayer)
initAllSubsystems(ctx)
initAllSubsystems()
// initialize the server and obtain the credentials and root. // initialize the server and obtain the credentials and root.
// credentials are necessary to sign the HTTP request. // credentials are necessary to sign the HTTP request.
@ -1824,7 +1825,7 @@ func ExecObjectLayerTest(t TestErrHandler, objTest objTestType) {
localMetacacheMgr.deleteAll() localMetacacheMgr.deleteAll()
} }
initAllSubsystems(ctx) initAllSubsystems()
objLayer, fsDirs, err := prepareErasureSets32(ctx) objLayer, fsDirs, err := prepareErasureSets32(ctx)
if err != nil { if err != nil {
t.Fatalf("Initialization of object layer failed for Erasure setup: %s", err) t.Fatalf("Initialization of object layer failed for Erasure setup: %s", err)