Skip to content

Commit

Permalink
add test with cache pointing to ram based dir (#2368)
Browse files Browse the repository at this point in the history
* add test with cache pointing to ram based dir

* dummy commit

* small fix
  • Loading branch information
sethiay authored Aug 21, 2024
1 parent dc07f21 commit 574b76c
Show file tree
Hide file tree
Showing 10 changed files with 35 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package read_cache
import (
"context"
"log"
"path"
"sync"
"testing"
"time"
Expand Down Expand Up @@ -142,9 +143,13 @@ func TestCacheFileForRangeReadFalseTest(t *testing.T) {
return
}

// Run with cache directory pointing to RAM based dir
ramCacheDir := path.Join("/dev/shm", cacheDirName)

// Run tests with parallel downloads disabled.
flagsSet := [][]string{
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, false, configFileName, false)},
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, false, configFileName, false, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, false, configFileName, false, ramCacheDir)},
}
for _, flags := range flagsSet {
ts.flags = flags
Expand All @@ -154,7 +159,8 @@ func TestCacheFileForRangeReadFalseTest(t *testing.T) {

// Run tests with parallel downloads enabled.
flagsSet = [][]string{
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, false, configFileNameForParallelDownloadTests, true)},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, false, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, false, configFileNameForParallelDownloadTests, true, ramCacheDir)},
}
for _, flags := range flagsSet {
ts.flags = flags
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ package read_cache
import (
"context"
"log"
"path"
"testing"
"time"

Expand Down Expand Up @@ -93,10 +94,15 @@ func TestCacheFileForRangeReadTrueTest(t *testing.T) {
return
}

// Run with cache directory pointing to RAM based dir
ramCacheDir := path.Join("/dev/shm", cacheDirName)

// Define flag set to run the tests.
flagsSet := [][]string{
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, true, configFileName, false)},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, true, configFileNameForParallelDownloadTests, true)},
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, true, configFileName, false, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, true, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, true, configFileNameForParallelDownloadTests, true, ramCacheDir)},
{"--config-file=" + createConfigFile(cacheCapacityForRangeReadTestInMiB, true, configFileName, false, ramCacheDir)},
}

// Run tests.
Expand Down
4 changes: 2 additions & 2 deletions tools/integration_tests/read_cache/disabled_cache_ttl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ func TestDisabledCacheTTLTest(t *testing.T) {

// Define flag set to run the tests.
flagsSet := [][]string{
{"--implicit-dirs", "--stat-cache-ttl=0s", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false)},
{"--stat-cache-ttl=0s", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true)},
{"--implicit-dirs", "--stat-cache-ttl=0s", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false, getDefaultCacheDirPathForTests())},
{"--stat-cache-ttl=0s", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
}

// Run tests.
Expand Down
2 changes: 1 addition & 1 deletion tools/integration_tests/read_cache/job_chunk_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ func TestJobChunkTest(t *testing.T) {

// Tests to validate chunk size when read cache parallel downloads are disabled.
var chunkSizeForReadCache int64 = 8
ts.flags = []string{"--config-file=" + createConfigFile(cacheSizeMB, true, configFileName, false)}
ts.flags = []string{"--config-file=" + createConfigFile(cacheSizeMB, true, configFileName, false, getDefaultCacheDirPathForTests())}
ts.chunkSize = chunkSizeForReadCache * util.MiB
log.Printf("Running tests with flags: %s", ts.flags)
test_setup.RunTests(t, ts)
Expand Down
4 changes: 2 additions & 2 deletions tools/integration_tests/read_cache/local_modification_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ func TestLocalModificationTest(t *testing.T) {

// Define flag set to run the tests.
flagsSet := [][]string{
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false)},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true)},
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
}

// Run tests.
Expand Down
4 changes: 2 additions & 2 deletions tools/integration_tests/read_cache/range_read_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ func TestRangeReadTest(t *testing.T) {

// Run tests with parallel downloads disabled.
flagsSet := [][]string{
{"--implicit-dirs", "--config-file=" + createConfigFile(largeFileCacheCapacity, false, configFileName+"1", false)},
{"--implicit-dirs", "--config-file=" + createConfigFile(largeFileCacheCapacity, false, configFileName+"1", false, getDefaultCacheDirPathForTests())},
}
for _, flags := range flagsSet {
ts.flags = flags
Expand All @@ -118,7 +118,7 @@ func TestRangeReadTest(t *testing.T) {

// Run tests with parallel downloads enabled.
flagsSet = [][]string{
{"--config-file=" + createConfigFile(largeFileCacheCapacity, true, configFileName+"2", false)},
{"--config-file=" + createConfigFile(largeFileCacheCapacity, true, configFileName+"2", false, getDefaultCacheDirPathForTests())},
}
for _, flags := range flagsSet {
ts.flags = flags
Expand Down
4 changes: 2 additions & 2 deletions tools/integration_tests/read_cache/read_only_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ func TestReadOnlyTest(t *testing.T) {

// Define flag set to run the tests.
flagsSet := [][]string{
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityInMB, true, configFileName, false)},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true)},
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityInMB, true, configFileName, false, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
}
setup.AppendFlagsToAllFlagsInTheFlagsSet(&flagsSet, "--o=ro", "")

Expand Down
4 changes: 2 additions & 2 deletions tools/integration_tests/read_cache/remount_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ func TestRemountTest(t *testing.T) {
}
// Define flag set to run the tests.
flagsSet := [][]string{
{"--implicit-dirs=true", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false)},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true)},
{"--implicit-dirs=true", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
}

// Create storage client before running tests.
Expand Down
8 changes: 6 additions & 2 deletions tools/integration_tests/read_cache/setup_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,12 @@ func mountGCSFuseAndSetupTestDir(flags []string, ctx context.Context, storageCli
testDirPath = client.SetupTestDirectory(ctx, storageClient, testDirName)
}

func createConfigFile(cacheSize int64, cacheFileForRangeRead bool, fileName string, enableParallelDownloads bool) string {
cacheDirPath = path.Join(setup.TestDir(), cacheDirName)
func getDefaultCacheDirPathForTests() string {
return path.Join(setup.TestDir(), cacheDirName)
}

func createConfigFile(cacheSize int64, cacheFileForRangeRead bool, fileName string, enableParallelDownloads bool, customCacheDirPath string) string {
cacheDirPath = customCacheDirPath

// Set up config file for file cache.
mountConfig := map[string]interface{}{
Expand Down
4 changes: 2 additions & 2 deletions tools/integration_tests/read_cache/small_cache_ttl_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,8 @@ func TestSmallCacheTTLTest(t *testing.T) {

// Define flag set to run the tests.
flagsSet := [][]string{
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false)},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true)},
{"--implicit-dirs", "--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileName, false, getDefaultCacheDirPathForTests())},
{"--config-file=" + createConfigFile(cacheCapacityInMB, false, configFileNameForParallelDownloadTests, true, getDefaultCacheDirPathForTests())},
}
setup.AppendFlagsToAllFlagsInTheFlagsSet(&flagsSet, fmt.Sprintf("--stat-cache-ttl=%ds", metadataCacheTTlInSec))

Expand Down

0 comments on commit 574b76c

Please sign in to comment.