@@ -107,24 +107,33 @@ func TestAdd(t *testing.T) {
107107 require .Equal (t , shortStringCidV0 , cidStr )
108108 })
109109
110- t .Run ("ipfs init --profile=legacy-cid-v0 applies UnixFSChunker=size-262144 and UnixFSFileMaxLinks=174 " , func (t * testing.T ) {
110+ t .Run ("ipfs init --profile=legacy-cid-v0 applies UnixFSChunker=size-262144 and UnixFSFileMaxLinks" , func (t * testing.T ) {
111111 t .Parallel ()
112112 node := harness .NewT (t ).NewNode ().Init ("--profile=legacy-cid-v0" )
113113 node .StartDaemon ()
114114 defer node .StopDaemon ()
115+ seed := "v0-seed"
116+
117+ t .Run ("under UnixFSFileMaxLinks=174" , func (t * testing.T ) {
118+ // Add 44544KiB file:
119+ // 174 * 256KiB should fit in single DAG layer
120+ cidStr := node .IPFSAddFromSeed ("44544KiB" , seed )
121+ root , err := node .InspectPBNode (cidStr )
122+ assert .NoError (t , err )
123+ require .Equal (t , 174 , len (root .Links ))
124+ // expect same CID every time
125+ require .Equal (t , "QmUbBALi174SnogsUzLpYbD4xPiBSFANF4iztWCsHbMKh2" , cidStr )
126+ })
115127
116- // Add 44544KiB file:
117- // 174 * 256KiB should fit in single DAG layer
118- cidStr := node .IPFSAddFromSeed ("44544KiB" , "v0-seed" )
119- root , err := node .InspectPBNode (cidStr )
120- assert .NoError (t , err )
121- require .Equal (t , 174 , len (root .Links ))
122-
123- // add 256KiB (one more block), it should force rebalancing DAG and moving most to second layer
124- cidStr = node .IPFSAddFromSeed ("44800KiB" , "v0-seed" )
125- root , err = node .InspectPBNode (cidStr )
126- assert .NoError (t , err )
127- require .Equal (t , 2 , len (root .Links ))
128+ t .Run ("above UnixFSFileMaxLinks=174" , func (t * testing.T ) {
129+ // add 256KiB (one more block), it should force rebalancing DAG and moving most to second layer
130+ cidStr := node .IPFSAddFromSeed ("44800KiB" , seed )
131+ root , err := node .InspectPBNode (cidStr )
132+ assert .NoError (t , err )
133+ require .Equal (t , 2 , len (root .Links ))
134+ // expect same CID every time
135+ require .Equal (t , "QmepeWtdmS1hHXx1oZXsPUv6bMrfRRKfZcoPPU4eEfjnbf" , cidStr )
136+ })
128137 })
129138
130139 t .Run ("ipfs init --profile=legacy-cid-v1 produces CIDv1 with raw leaves" , func (t * testing.T ) {
@@ -137,23 +146,61 @@ func TestAdd(t *testing.T) {
137146 require .Equal (t , shortStringCidV1 , cidStr ) // raw leaf
138147 })
139148
140- t .Run ("ipfs init --profile=legacy-cid-v1 applies UnixFSChunker=size-1048576 and UnixFSFileMaxLinks=174 " , func (t * testing.T ) {
149+ t .Run ("ipfs init --profile=legacy-cid-v1 applies UnixFSChunker=size-1048576 and UnixFSFileMaxLinks" , func (t * testing.T ) {
141150 t .Parallel ()
142151 node := harness .NewT (t ).NewNode ().Init ("--profile=legacy-cid-v1" )
143152 node .StartDaemon ()
144153 defer node .StopDaemon ()
154+ seed := "v1-seed"
155+
156+ t .Run ("under UnixFSFileMaxLinks=174" , func (t * testing.T ) {
157+ // Add 174MiB file:
158+ // 174 * 1MiB should fit in single layer
159+ cidStr := node .IPFSAddFromSeed ("174MiB" , seed )
160+ root , err := node .InspectPBNode (cidStr )
161+ assert .NoError (t , err )
162+ require .Equal (t , 174 , len (root .Links ))
163+ // expect same CID every time
164+ require .Equal (t , "bafybeigwduxcf2aawppv3isnfeshnimkyplvw3hthxjhr2bdeje4tdaicu" , cidStr )
165+ })
166+
167+ t .Run ("above UnixFSFileMaxLinks=174" , func (t * testing.T ) {
168+ // add +1MiB (one more block), it should force rebalancing DAG and moving most to second layer
169+ cidStr := node .IPFSAddFromSeed ("175MiB" , seed )
170+ root , err := node .InspectPBNode (cidStr )
171+ assert .NoError (t , err )
172+ require .Equal (t , 2 , len (root .Links ))
173+ // expect same CID every time
174+ require .Equal (t , "bafybeidhd7lo2n2v7lta5yamob3xwhbxcczmmtmhquwhjesi35jntf7mpu" , cidStr )
175+ })
176+ })
177+
178+ t .Run ("ipfs init --profile=test-cid-v1-2025-v35 applies UnixFSChunker=size-1048576 and UnixFSFileMaxLinks" , func (t * testing.T ) {
179+ t .Parallel ()
180+ node := harness .NewT (t ).NewNode ().Init ("--profile=test-cid-v1-2025-v35" )
181+ node .StartDaemon ()
182+ defer node .StopDaemon ()
183+ seed := "v1-seed-1024"
184+
185+ t .Run ("under UnixFSFileMaxLinks=1024" , func (t * testing.T ) {
186+ // Add 174MiB file:
187+ // 1024 * 1MiB should fit in single layer
188+ cidStr := node .IPFSAddFromSeed ("1024MiB" , seed )
189+ root , err := node .InspectPBNode (cidStr )
190+ assert .NoError (t , err )
191+ require .Equal (t , 1024 , len (root .Links ))
192+ // expect same CID every time
193+ require .Equal (t , "bafybeiej5w63ir64oxgkr5htqmlerh5k2rqflurn2howimexrlkae64xru" , cidStr )
194+ })
145195
146- // Add 174MiB file:
147- // 174 * 1MiB should fit in single layer
148- cidStr := node .IPFSAddFromSeed ("174MiB" , "v1-seed" )
149- root , err := node .InspectPBNode (cidStr )
150- assert .NoError (t , err )
151- require .Equal (t , 174 , len (root .Links ))
152-
153- // add +1MiB (one more block), it should force rebalancing DAG and moving most to second layer
154- cidStr = node .IPFSAddFromSeed ("175MiB" , "v1-seed" )
155- root , err = node .InspectPBNode (cidStr )
156- assert .NoError (t , err )
157- require .Equal (t , 2 , len (root .Links ))
196+ t .Run ("above UnixFSFileMaxLinks=1024" , func (t * testing.T ) {
197+ // add +1MiB (one more block), it should force rebalancing DAG and moving most to second layer
198+ cidStr := node .IPFSAddFromSeed ("1025MiB" , seed )
199+ root , err := node .InspectPBNode (cidStr )
200+ assert .NoError (t , err )
201+ require .Equal (t , 2 , len (root .Links ))
202+ // expect same CID every time
203+ require .Equal (t , "bafybeieilp2qx24pe76hxrxe6bpef5meuxto3kj5dd6mhb5kplfeglskdm" , cidStr )
204+ })
158205 })
159206}
0 commit comments