feat: repo health check (#16) #17
|  | @ -37,33 +37,20 @@ func checkFileChecksum(rootDir, fileName, expectedChecksum string) (bool, string | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	if actualChecksum == expectedChecksum { | 	if actualChecksum == expectedChecksum { | ||||||
| 		return true, "" // fmt.Sprintf("Checksum for %s passed!", filePath)
 | 		return true, "" | ||||||
| 
					
					bomingzh marked this conversation as resolved
					
						
						
							Outdated
						
					
				 | |||||||
| 	} else { | 	} else { | ||||||
| 		return false, fmt.Sprintf("Checksum for %s failed. Expected %s, but got %s. Please revert your changes or contact the teaching team if you have a valid reason for adjusting them.", filePath, expectedChecksum, actualChecksum) | 		return false, fmt.Sprintf("Checksum for %s failed. Expected %s, but got %s. Please revert your changes or contact the teaching team if you have a valid reason for adjusting them.", filePath, expectedChecksum, actualChecksum) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func VerifyFiles(rootDir string, checkFileNameList string, checkFileSumList string) error { | func VerifyFiles(rootDir string, checkFileNameList string, checkFileSumList string) error { | ||||||
| 	// Parse command-line arguments
 |  | ||||||
| 	// checkFileNameList := flag.String("checkFileNameList", "", "Comma-separated list of files to check.")
 |  | ||||||
| 	// checkFileSumList := flag.String("checkFileSumList", "", "Comma-separated list of expected checksums.")
 |  | ||||||
| 	// rootDir := flag.String("rootDir", ".", "Root directory containing the files.")
 |  | ||||||
| 	// flag.Parse()
 |  | ||||||
| 	// Process input file names and checksums
 |  | ||||||
| 	if len(checkFileNameList) == 0 { | 	if len(checkFileNameList) == 0 { | ||||||
| 
					
					bomingzh marked this conversation as resolved
					
						
						
							Outdated
						
					
				 
				
					
						张泊明518370910136
						commented  ditto ditto | |||||||
| 		return nil // fmt.Errorf("No checksum happened")
 | 		return nil | ||||||
| 		os.Exit(1) | 		os.Exit(1) | ||||||
| 	} | 	} | ||||||
| 	fileNames := strings.Split(checkFileNameList, ",") | 	fileNames := strings.Split(checkFileNameList, ",") | ||||||
| 	checkSums := strings.Split(checkFileSumList, ",") | 	checkSums := strings.Split(checkFileSumList, ",") | ||||||
| 
 | 
 | ||||||
| 	// Check if the number of files matches the number of checksums
 |  | ||||||
| 
 |  | ||||||
| 	if len(fileNames) != len(checkSums) { |  | ||||||
| 		return fmt.Errorf("Error: The number of files and checksums do not match.") |  | ||||||
| 		os.Exit(1) |  | ||||||
| 	} |  | ||||||
| 
 |  | ||||||
| 	allPassed := true | 	allPassed := true | ||||||
| 	var errorMessages []string | 	var errorMessages []string | ||||||
| 
					
					bomingzh marked this conversation as resolved
					
						
						
							Outdated
						
					
				 
				
					
						张泊明518370910136
						commented  remove it remove it | |||||||
| 
 | 
 | ||||||
|  | @ -80,7 +67,7 @@ func VerifyFiles(rootDir string, checkFileNameList string, checkFileSumList stri | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	if allPassed { | 	if allPassed { | ||||||
| 
				
					
						张泊明518370910136
						commented  why not just return error on not all passed? why not just return error on not all passed? | |||||||
| 		return nil // fmt.Errorf("Congratulations! All checksums passed!")
 | 		return nil | ||||||
| 	} else { | 	} else { | ||||||
| 		return fmt.Errorf("Some checksums failed. Please review the errors below:") | 		return fmt.Errorf("Some checksums failed. Please review the errors below:") | ||||||
| 		for _, msg := range errorMessages { | 		for _, msg := range errorMessages { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	
remove the comment