Handle empty input file case in Metadata generation
Bug: 296873595
Test: Manual test (use go test inside tools/metadata/testdata)
Change-Id: Ib48e88bdad4c870be3ca955abfd64ee8dd74f85d
diff --git a/tools/metadata/generator.go b/tools/metadata/generator.go
index eb87755..bb8293a 100644
--- a/tools/metadata/generator.go
+++ b/tools/metadata/generator.go
@@ -73,6 +73,20 @@
return string(data)
}
+func writeNewlineToOutputFile(outputFile string) {
+ file, err := os.Create(outputFile)
+ data := "\n"
+ if err != nil {
+ log.Fatal(err)
+ }
+ defer file.Close()
+
+ _, err = file.Write([]byte(data))
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
func processTestSpecProtobuf(
filePath string, ownershipMetadataMap *sync.Map, keyLocks *keyToLocksMap,
errCh chan error, wg *sync.WaitGroup,
@@ -140,6 +154,10 @@
inputFileData := strings.TrimRight(readFileToString(*inputFile), "\n")
filePaths := strings.Split(inputFileData, "\n")
+ if len(filePaths) == 1 && filePaths[0] == "" {
+ writeNewlineToOutputFile(*outputFile)
+ return
+ }
ownershipMetadataMap := &sync.Map{}
keyLocks := &keyToLocksMap{}
errCh := make(chan error, len(filePaths))