From 477b6d5e68f14abdb54be6a35fd48566499b23e9 Mon Sep 17 00:00:00 2001 From: Jille Timmermans Date: Wed, 28 Jun 2023 11:05:25 +0200 Subject: [PATCH] scripts/regenerate should also update stderr.txt --- scripts/regenerate/main.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/regenerate/main.go b/scripts/regenerate/main.go index 4c4174b0ec..d8cd55a610 100644 --- a/scripts/regenerate/main.go +++ b/scripts/regenerate/main.go @@ -3,6 +3,7 @@ package main import ( "encoding/json" "fmt" + "io/ioutil" "log" "os" "os/exec" @@ -50,12 +51,22 @@ func regenerate(dir string) error { return nil } + var expectFailure bool + if _, err := os.Stat(filepath.Join(cwd, "stderr.txt")); !os.IsNotExist(err) { + expectFailure = true + } + cmd := exec.Command("sqlc-dev", "generate", "--experimental") cmd.Dir = cwd out, failed := cmd.CombinedOutput() - if _, err := os.Stat(filepath.Join(cwd, "stderr.txt")); os.IsNotExist(err) && failed != nil { + if failed != nil && !expectFailure { return fmt.Errorf("%s: sqlc-dev generate failed\n%s", cwd, out) } + if expectFailure { + if err := ioutil.WriteFile(filepath.Join(cwd, "stderr.txt"), out, 0644); err != nil { + return fmt.Errorf("failed to update stderr.txt: %v", err) + } + } } return nil })