You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							72 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							72 lines
						
					
					
						
							1.7 KiB
						
					
					
				| package shell | |
| 
 | |
| import ( | |
| 	"github.com/seaweedfs/seaweedfs/weed/pb/master_pb" | |
| 	"os" | |
| 	"testing" | |
| ) | |
| 
 | |
| type testCommandVolumeCheckDisk struct { | |
| 	commandVolumeCheckDisk | |
| } | |
| 
 | |
| type shouldSkipVolume struct { | |
| 	a                 VolumeReplica | |
| 	b                 VolumeReplica | |
| 	pulseTimeAtSecond int64 | |
| 	shouldSkipVolume  bool | |
| } | |
| 
 | |
| func TestShouldSkipVolume(t *testing.T) { | |
| 	cmdVolumeCheckDisk := testCommandVolumeCheckDisk{} | |
| 	cmdVolumeCheckDisk.writer = os.Stdout | |
| 	var tests = []shouldSkipVolume{ | |
| 		{ | |
| 			VolumeReplica{nil, &master_pb.VolumeInformationMessage{ | |
| 				FileCount:        1000, | |
| 				DeleteCount:      100, | |
| 				ModifiedAtSecond: 1696583300}, | |
| 			}, | |
| 			VolumeReplica{nil, &master_pb.VolumeInformationMessage{ | |
| 				FileCount:        1000, | |
| 				DeleteCount:      100, | |
| 				ModifiedAtSecond: 1696583300}, | |
| 			}, | |
| 			1696583400, | |
| 			true, | |
| 		}, | |
| 		{ | |
| 			VolumeReplica{nil, &master_pb.VolumeInformationMessage{ | |
| 				FileCount:        1001, | |
| 				DeleteCount:      100, | |
| 				ModifiedAtSecond: 1696583300}, | |
| 			}, | |
| 			VolumeReplica{nil, &master_pb.VolumeInformationMessage{ | |
| 				FileCount:        1000, | |
| 				DeleteCount:      100, | |
| 				ModifiedAtSecond: 1696583300}, | |
| 			}, | |
| 			1696583400, | |
| 			false, | |
| 		}, | |
| 		{ | |
| 			VolumeReplica{nil, &master_pb.VolumeInformationMessage{ | |
| 				FileCount:        1000, | |
| 				DeleteCount:      100, | |
| 				ModifiedAtSecond: 1696583300}, | |
| 			}, | |
| 			VolumeReplica{nil, &master_pb.VolumeInformationMessage{ | |
| 				FileCount:        1000, | |
| 				DeleteCount:      101, | |
| 				ModifiedAtSecond: 1696583300}, | |
| 			}, | |
| 			1696583400, | |
| 			false, | |
| 		}, | |
| 	} | |
| 	for num, tt := range tests { | |
| 		if isShould := cmdVolumeCheckDisk.shouldSkipVolume(&tt.a, &tt.b, tt.pulseTimeAtSecond, true, true); isShould != tt.shouldSkipVolume { | |
| 			t.Fatalf("result of should skip volume is unexpected for %d test", num) | |
| 		} | |
| 	} | |
| }
 |