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, ""
|
||||||
} 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 {
|
||||||
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
|
||||||
|
|
||||||
|
@ -80,7 +67,7 @@ func VerifyFiles(rootDir string, checkFileNameList string, checkFileSumList stri
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if allPassed {
|
if allPassed {
|
||||||
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