MCPcopy Create free account
hub / github.com/nutsdb/nutsdb / TestHintFileWriterReader

Function TestHintFileWriterReader

hintfile_test.go:211–314  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

209}
210
211func TestHintFileWriterReader(t *testing.T) {
212 tmpDir, err := os.MkdirTemp("", "hintfile-test")
213 if err != nil {
214 t.Fatalf("Failed to create temp dir: %v", err)
215 }
216 defer func() { _ = os.RemoveAll(tmpDir) }()
217
218 hintPath := filepath.Join(tmpDir, "1.hint")
219
220 // Test writing
221 writer := &HintFileWriter{}
222 err = writer.Create(hintPath)
223 if err != nil {
224 t.Fatalf("Failed to create hint file: %v", err)
225 }
226
227 // Write some entries
228 entries := []*HintEntry{
229 {
230 BucketId: 1,
231 KeySize: uint32(len([]byte("key1"))),
232 ValueSize: 5,
233 Timestamp: 1234567890,
234 TTL: 3600,
235 Flag: DataSetFlag,
236 Status: Committed,
237 Ds: DataStructureBTree,
238 DataPos: 100,
239 FileID: 1,
240 Key: []byte("key1"),
241 },
242 {
243 BucketId: 2,
244 KeySize: uint32(len([]byte("key2"))),
245 ValueSize: 7,
246 Timestamp: 1234567891,
247 TTL: 7200,
248 Flag: DataSetFlag,
249 Status: Committed,
250 Ds: DataStructureSet,
251 DataPos: 200,
252 FileID: 1,
253 Key: []byte("key2"),
254 },
255 }
256
257 for _, entry := range entries {
258 err = writer.Write(entry)
259 if err != nil {
260 t.Fatalf("Failed to write hint entry: %v", err)
261 }
262 }
263
264 err = writer.Sync()
265 if err != nil {
266 t.Fatalf("Failed to sync hint file: %v", err)
267 }
268

Callers

nothing calls this directly

Calls 7

CreateMethod · 0.95
WriteMethod · 0.95
SyncMethod · 0.95
CloseMethod · 0.95
OpenMethod · 0.95
CloseMethod · 0.95
ReadMethod · 0.95

Tested by

no test coverage detected