MCPcopy
hub / github.com/cubefs/cubefs / TestTruncateAndDel

Function TestTruncateAndDel

metanode/multi_ver_test.go:839–899  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

837}
838
839func TestTruncateAndDel(t *testing.T) {
840 log.LogDebugf("TestTruncate start")
841 initMp(t)
842 mp.config.Cursor = 1100
843 //--------------------build dir and it's child on different version ------------------
844 initVer()
845 fileIno := testCreateInode(t, FileModeType)
846 assert.True(t, fileIno != nil)
847 dirDen := testCreateDentry(t, 1, fileIno.Inode, "testDir", FileModeType)
848 assert.True(t, dirDen != nil)
849 log.LogDebugf("TestTruncate start")
850 testAppendExt(t, 0, 0, fileIno.Inode)
851 log.LogDebugf("TestTruncate start")
852 seq1 := testCreateVer() // seq1 is NOT commited
853
854 seq2 := testCreateVer() // seq1 is commited,seq2 not commited
855
856 t.Logf("TestTruncate. create new snapshot seq [%v],%v,file verlist [%v]", seq1, seq2, fileIno.getLayerLen())
857 log.LogDebugf("TestTruncate start")
858 ino := &Inode{
859 Inode: fileIno.Inode,
860 Size: 500,
861 ModifyTime: time.Now().Unix(),
862 }
863 mp.fsmExtentsTruncate(ino)
864 log.LogDebugf("TestTruncate start")
865 //TODO: leonrayang hybrid cloud support snapshot
866 //t.Logf("TestTruncate. create new snapshot seq [%v],%v,file verlist size %v [%v]", seq1, seq2, len(fileIno.multiSnap.multiVersions), fileIno.multiSnap.multiVersions)
867 //
868 //assert.True(t, 2 == len(fileIno.multiSnap.multiVersions))
869 //rsp := testGetExtList(t, fileIno, 0)
870 //assert.True(t, rsp.Size == 500)
871 //
872 //rsp = testGetExtList(t, fileIno, seq2)
873 //assert.True(t, rsp.Size == 500)
874 //
875 //rsp = testGetExtList(t, fileIno, seq1)
876 //assert.True(t, rsp.Size == 1000)
877 //
878 //rsp = testGetExtList(t, fileIno, math.MaxUint64)
879 //assert.True(t, rsp.Size == 1000)
880 //
881 //// -------------------------------------------------------
882 //log.LogDebugf("TestTruncate start")
883 //testCreateVer() // seq2 IS commited, seq3 not
884 //mp.fsmUnlinkInode(ino, 0)
885 //
886 //log.LogDebugf("TestTruncate start")
887 //assert.True(t, 3 == len(fileIno.multiSnap.multiVersions))
888 //rsp = testGetExtList(t, fileIno, 0)
889 //assert.True(t, len(rsp.Extents) == 0)
890 //
891 //rsp = testGetExtList(t, fileIno, seq2)
892 //assert.True(t, rsp.Size == 500)
893 //
894 //rsp = testGetExtList(t, fileIno, seq1)
895 //assert.True(t, rsp.Size == 1000)
896 //

Callers

nothing calls this directly

Calls 9

LogDebugfFunction · 0.92
initMpFunction · 0.85
initVerFunction · 0.85
testCreateInodeFunction · 0.85
testCreateDentryFunction · 0.85
testAppendExtFunction · 0.85
testCreateVerFunction · 0.85
getLayerLenMethod · 0.80
fsmExtentsTruncateMethod · 0.80

Tested by

no test coverage detected