@@ -33,7 +33,15 @@ func TestInitAndReleaseCache(t *testing.T) {
33
33
require .NoError (t , err )
34
34
defer os .RemoveAll (tmpdir )
35
35
36
- cache , err := InitCache (tmpdir , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
36
+ config := types.VMConfig {
37
+ Cache : types.CacheOptions {
38
+ BaseDir : tmpdir ,
39
+ AvailableCapabilities : TESTING_CAPABILITIES ,
40
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
41
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
42
+ },
43
+ }
44
+ cache , err := InitCache (config )
37
45
require .NoError (t , err )
38
46
ReleaseCache (cache )
39
47
}
@@ -46,7 +54,15 @@ func TestInitCacheWorksForNonExistentDir(t *testing.T) {
46
54
defer os .RemoveAll (tmpdir )
47
55
48
56
createMe := filepath .Join (tmpdir , "does-not-yet-exist" )
49
- cache , err := InitCache (createMe , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
57
+ config := types.VMConfig {
58
+ Cache : types.CacheOptions {
59
+ BaseDir : createMe ,
60
+ AvailableCapabilities : TESTING_CAPABILITIES ,
61
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
62
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
63
+ },
64
+ }
65
+ cache , err := InitCache (config )
50
66
require .NoError (t , err )
51
67
ReleaseCache (cache )
52
68
}
@@ -56,7 +72,15 @@ func TestInitCacheErrorsForBrokenDir(t *testing.T) {
56
72
// https://gist.github.com/doctaphred/d01d05291546186941e1b7ddc02034d3
57
73
// On Unix we should not have permission to create this.
58
74
cannotBeCreated := "/foo:bar"
59
- _ , err := InitCache (cannotBeCreated , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
75
+ config := types.VMConfig {
76
+ Cache : types.CacheOptions {
77
+ BaseDir : cannotBeCreated ,
78
+ AvailableCapabilities : TESTING_CAPABILITIES ,
79
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
80
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
81
+ },
82
+ }
83
+ _ , err := InitCache (config )
60
84
require .ErrorContains (t , err , "Could not create base directory" )
61
85
}
62
86
@@ -65,16 +89,40 @@ func TestInitLockingPreventsConcurrentAccess(t *testing.T) {
65
89
require .NoError (t , err )
66
90
defer os .RemoveAll (tmpdir )
67
91
68
- cache1 , err1 := InitCache (tmpdir , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
92
+ config1 := types.VMConfig {
93
+ Cache : types.CacheOptions {
94
+ BaseDir : tmpdir ,
95
+ AvailableCapabilities : TESTING_CAPABILITIES ,
96
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
97
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
98
+ },
99
+ }
100
+ cache1 , err1 := InitCache (config1 )
69
101
require .NoError (t , err1 )
70
102
71
- _ , err2 := InitCache (tmpdir , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
103
+ config2 := types.VMConfig {
104
+ Cache : types.CacheOptions {
105
+ BaseDir : tmpdir ,
106
+ AvailableCapabilities : TESTING_CAPABILITIES ,
107
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
108
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
109
+ },
110
+ }
111
+ _ , err2 := InitCache (config2 )
72
112
require .ErrorContains (t , err2 , "Could not lock exclusive.lock" )
73
113
74
114
ReleaseCache (cache1 )
75
115
76
116
// Now we can try again
77
- cache3 , err3 := InitCache (tmpdir , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
117
+ config3 := types.VMConfig {
118
+ Cache : types.CacheOptions {
119
+ BaseDir : tmpdir ,
120
+ AvailableCapabilities : TESTING_CAPABILITIES ,
121
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
122
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
123
+ },
124
+ }
125
+ cache3 , err3 := InitCache (config3 )
78
126
require .NoError (t , err3 )
79
127
ReleaseCache (cache3 )
80
128
}
@@ -90,11 +138,35 @@ func TestInitLockingAllowsMultipleInstancesInDifferentDirs(t *testing.T) {
90
138
defer os .RemoveAll (tmpdir2 )
91
139
defer os .RemoveAll (tmpdir3 )
92
140
93
- cache1 , err1 := InitCache (tmpdir1 , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
141
+ config1 := types.VMConfig {
142
+ Cache : types.CacheOptions {
143
+ BaseDir : tmpdir1 ,
144
+ AvailableCapabilities : TESTING_CAPABILITIES ,
145
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
146
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
147
+ },
148
+ }
149
+ cache1 , err1 := InitCache (config1 )
94
150
require .NoError (t , err1 )
95
- cache2 , err2 := InitCache (tmpdir2 , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
151
+ config2 := types.VMConfig {
152
+ Cache : types.CacheOptions {
153
+ BaseDir : tmpdir2 ,
154
+ AvailableCapabilities : TESTING_CAPABILITIES ,
155
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
156
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
157
+ },
158
+ }
159
+ cache2 , err2 := InitCache (config2 )
96
160
require .NoError (t , err2 )
97
- cache3 , err3 := InitCache (tmpdir3 , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
161
+ config3 := types.VMConfig {
162
+ Cache : types.CacheOptions {
163
+ BaseDir : tmpdir3 ,
164
+ AvailableCapabilities : TESTING_CAPABILITIES ,
165
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
166
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
167
+ },
168
+ }
169
+ cache3 , err3 := InitCache (config3 )
98
170
require .NoError (t , err3 )
99
171
100
172
ReleaseCache (cache1 )
@@ -106,15 +178,31 @@ func TestInitCacheEmptyCapabilities(t *testing.T) {
106
178
tmpdir , err := os .MkdirTemp ("" , "wasmvm-testing" )
107
179
require .NoError (t , err )
108
180
defer os .RemoveAll (tmpdir )
109
- cache , err := InitCache (tmpdir , []string {}, TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
181
+ config := types.VMConfig {
182
+ Cache : types.CacheOptions {
183
+ BaseDir : tmpdir ,
184
+ AvailableCapabilities : []string {},
185
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
186
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
187
+ },
188
+ }
189
+ cache , err := InitCache (config )
110
190
require .NoError (t , err )
111
191
ReleaseCache (cache )
112
192
}
113
193
114
194
func withCache (t testing.TB ) (Cache , func ()) {
115
195
tmpdir , err := os .MkdirTemp ("" , "wasmvm-testing" )
116
196
require .NoError (t , err )
117
- cache , err := InitCache (tmpdir , TESTING_CAPABILITIES , TESTING_CACHE_SIZE , TESTING_MEMORY_LIMIT )
197
+ config := types.VMConfig {
198
+ Cache : types.CacheOptions {
199
+ BaseDir : tmpdir ,
200
+ AvailableCapabilities : TESTING_CAPABILITIES ,
201
+ MemoryCacheSizeBytes : types .NewSizeMebi (TESTING_CACHE_SIZE ),
202
+ InstanceMemoryLimitBytes : types .NewSizeMebi (TESTING_MEMORY_LIMIT ),
203
+ },
204
+ }
205
+ cache , err := InitCache (config )
118
206
require .NoError (t , err )
119
207
120
208
cleanup := func () {
0 commit comments