From d61e8fa202e36d6d8edbc0928665aafd6ea3ab7b Mon Sep 17 00:00:00 2001 From: w0rp Date: Mon, 11 Sep 2023 00:19:25 +0100 Subject: [PATCH] Cover code generation with tests Add test coverage of code generation program. --- internal/cmd/generatecode/main.go | 18 +++++++++++++++--- internal/cmd/generatecode/main_test.go | 24 ++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 internal/cmd/generatecode/main_test.go diff --git a/internal/cmd/generatecode/main.go b/internal/cmd/generatecode/main.go index 975d4d8..5c45967 100644 --- a/internal/cmd/generatecode/main.go +++ b/internal/cmd/generatecode/main.go @@ -313,7 +313,12 @@ func createFile(wg *sync.WaitGroup, path string, cb func(*os.File)) { }() } -func main() { +type filesToCreate struct { + tupleFilename string + zipFilename string +} + +func createFiles(toCreate filesToCreate) { tupleNames = map[int]string{ 1: "Unit", 2: "Pair", @@ -343,8 +348,15 @@ func main() { var wg sync.WaitGroup - createFile(&wg, "tuple.go", writeTupleFile) - createFile(&wg, "zip.go", writeZipFile) + createFile(&wg, toCreate.tupleFilename, writeTupleFile) + createFile(&wg, toCreate.zipFilename, writeZipFile) wg.Wait() } + +func main() { + createFiles(filesToCreate{ + tupleFilename: "tuple.go", + zipFilename: "zip.go", + }) +} diff --git a/internal/cmd/generatecode/main_test.go b/internal/cmd/generatecode/main_test.go new file mode 100644 index 0000000..0ad4a43 --- /dev/null +++ b/internal/cmd/generatecode/main_test.go @@ -0,0 +1,24 @@ +package main + +import ( + "os" + "testing" +) + +func TestCacheB(t *testing.T) { + t.Parallel() + + dirName, err := os.MkdirTemp("", "") + + if err != nil { + t.Fatal(err) + } + + defer os.RemoveAll(dirName) + + // Run the code to generate files and ensure it doesn't blow up. + createFiles(filesToCreate{ + tupleFilename: dirName + "/tuple.go", + zipFilename: dirName + "/zip.go", + }) +}