MCPcopy
hub / github.com/kopia/kopia / TestWriteTempFileAtomic_FileIsSynced

Function TestWriteTempFileAtomic_FileIsSynced

repo/content/write_temp_file_test.go:119–143  ·  view source on GitHub ↗

TestWriteTempFileAtomic_FileIsSynced verifies that Sync is called after writing data to the temporary file.

(t *testing.T)

Source from the content-addressed store, hash-verified

117// TestWriteTempFileAtomic_FileIsSynced verifies that Sync is called after
118// writing data to the temporary file.
119func TestWriteTempFileAtomic_FileIsSynced(t *testing.T) {
120 t.Parallel()
121
122 var mockedFile mockFileSynced
123
124 dir := t.TempDir()
125 data := []byte("synced-content")
126
127 mfs := mockfs{
128 createWrapper: func(f file) file {
129 mockedFile.file = f
130
131 return &mockedFile
132 },
133 }
134
135 name, err := writeTempFileAtomicImp(mfs, dir, data)
136 require.NoError(t, err)
137 require.True(t, mockedFile.synced.Load())
138
139 // Open a new handle to avoid OS read-cache of the same descriptor.
140 b, err := os.ReadFile(name)
141 require.NoError(t, err)
142 require.Equal(t, data, b)
143}
144
145// TestWriteTempFileAtomic_NoTempFilesLeft verifies that writeTempFileAtomic
146// does not leak the temporary file after a successful call — the caller is

Callers

nothing calls this directly

Calls 3

writeTempFileAtomicImpFunction · 0.85
EqualMethod · 0.80
LoadMethod · 0.65

Tested by

no test coverage detected