From ea57e45ae421b46cd39bf632eff9af8a460b487c Mon Sep 17 00:00:00 2001 From: Tulsi Shah Date: Wed, 21 Aug 2024 07:19:20 +0000 Subject: [PATCH] skip tests which are not compilation --- .../explicit_dir/explicit_dir_test.go | 23 +++++++++++++++++++ .../rename_dir_limit/rename_dir_limit_test.go | 19 +++++++++++++++ .../rename_dir_limit/rename_dir_test.go | 10 ++++++++ 3 files changed, 52 insertions(+) diff --git a/tools/integration_tests/explicit_dir/explicit_dir_test.go b/tools/integration_tests/explicit_dir/explicit_dir_test.go index 63ede61e2c..168be31471 100644 --- a/tools/integration_tests/explicit_dir/explicit_dir_test.go +++ b/tools/integration_tests/explicit_dir/explicit_dir_test.go @@ -16,9 +16,14 @@ package explicit_dir_test import ( + "context" + "log" "os" "testing" + "time" + "cloud.google.com/go/storage" + "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/client" "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/setup" "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/setup/implicit_and_explicit_dir_setup" ) @@ -28,6 +33,24 @@ const DirForExplicitDirTests = "dirForExplicitDirTests" func TestMain(m *testing.M) { setup.ParseSetUpFlags() + // Create storage client before running tests. + var storageClient *storage.Client + ctx := context.Background() + closeStorageClient := client.CreateStorageClientWithTimeOut(&ctx, &storageClient, time.Minute*15) + defer func() { + err := closeStorageClient() + if err != nil { + log.Fatalf("closeStorageClient failed: %v", err) + } + }() + + // In hierarchical buckets, directories are not implicit. + // unlike in flat buckets where directories can be created implicitly which are visible only with --implicit-dirs=true. + // As a result, these tests are not compatible with hierarchical buckets. + if setup.IsHierarchicalBucket(ctx, storageClient) { + return + } + flags := [][]string{{"--implicit-dirs=false"}} if !testing.Short() { diff --git a/tools/integration_tests/rename_dir_limit/rename_dir_limit_test.go b/tools/integration_tests/rename_dir_limit/rename_dir_limit_test.go index 737978e124..e7beba1824 100644 --- a/tools/integration_tests/rename_dir_limit/rename_dir_limit_test.go +++ b/tools/integration_tests/rename_dir_limit/rename_dir_limit_test.go @@ -16,10 +16,14 @@ package rename_dir_limit_test import ( + "context" "log" "os" "testing" + "time" + "cloud.google.com/go/storage" + "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/client" "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/mounting/only_dir_mounting" "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/mounting/persistent_mounting" "github.com/googlecloudplatform/gcsfuse/v2/tools/integration_tests/util/mounting/static_mounting" @@ -38,11 +42,26 @@ const RenamedDirectory = "renamedDirectory" const PrefixTempFile = "temp" const onlyDirMounted = "OnlyDirMountRenameDirLimit" +var ( + storageClient *storage.Client + ctx context.Context +) + func TestMain(m *testing.M) { setup.ParseSetUpFlags() flags := [][]string{{"--rename-dir-limit=3", "--implicit-dirs"}, {"--rename-dir-limit=3"}} + // Create storage client before running tests. + ctx = context.Background() + closeStorageClient := client.CreateStorageClientWithTimeOut(&ctx, &storageClient, time.Minute*15) + defer func() { + err := closeStorageClient() + if err != nil { + log.Fatalf("closeStorageClient failed: %v", err) + } + }() + setup.ExitWithFailureIfBothTestBucketAndMountedDirectoryFlagsAreNotSet() if setup.TestBucket() != "" && setup.MountedDirectory() != "" { diff --git a/tools/integration_tests/rename_dir_limit/rename_dir_test.go b/tools/integration_tests/rename_dir_limit/rename_dir_test.go index b3dbece6e5..87713af2a4 100644 --- a/tools/integration_tests/rename_dir_limit/rename_dir_test.go +++ b/tools/integration_tests/rename_dir_limit/rename_dir_test.go @@ -77,6 +77,11 @@ func TestRenameDirectoryWithTwoFiles(t *testing.T) { // As --rename-directory-limit = 3, and the number of objects in the directory is two, // which is greater than the limit, the operation should get fail. func TestRenameDirectoryWithFourFiles(t *testing.T) { + // Rename in hierarchical bucket have no limits. So it will not fail and rename folder successfully. + if setup.IsHierarchicalBucket(ctx, storageClient) { + t.SkipNow() + } + testDir := setup.SetupTestDirectory(DirForRenameDirLimitTests) // Creating directory structure // testBucket/dirForRenameDirLimitTests/directoryWithFourFiles -- Dir @@ -128,6 +133,11 @@ func TestRenameDirectoryWithTwoFilesAndOneEmptyDirectory(t *testing.T) { // As --rename-directory-limit = 3, and the number of objects in the directory is Four, // which is greater than the limit, the operation should get fail. func TestRenameDirectoryWithTwoFilesAndOneNonEmptyDirectory(t *testing.T) { + // Rename in hierarchical bucket have no limits. So it will not fail and rename folder successfully. + if setup.IsHierarchicalBucket(ctx, storageClient) { + t.SkipNow() + } + testDir := setup.SetupTestDirectory(DirForRenameDirLimitTests) // Creating directory structure // testBucket/dirForRenameDirLimitTests/directoryWithTwoFilesOneNonEmptyDirectory -- Dir