Skip to content

Commit f0da7b2

Browse files
authored
fix(internal/librariangen): test for error path with flags (#12830)
fixes: googleapis/librarian#1960
1 parent 1fe506a commit f0da7b2

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

internal/librariangen/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ func run(ctx context.Context, args []string) error {
9191
// handleGenerate parses flags for the generate command and calls the generator.
9292
func handleGenerate(ctx context.Context, args []string) error {
9393
cfg := &generate.Config{}
94-
generateFlags := flag.NewFlagSet("generate", flag.ExitOnError)
94+
generateFlags := flag.NewFlagSet("generate", flag.ContinueOnError)
9595
generateFlags.StringVar(&cfg.LibrarianDir, "librarian", "/librarian", "Path to the librarian-tool input directory. Contains generate-request.json.")
9696
generateFlags.StringVar(&cfg.InputDir, "input", "/input", "Path to the .librarian/generator-input directory from the language repository.")
9797
generateFlags.StringVar(&cfg.OutputDir, "output", "/output", "Path to the empty directory where librariangen writes its output.")
@@ -106,7 +106,7 @@ func handleGenerate(ctx context.Context, args []string) error {
106106
// handleReleaseInit parses flags for the release-init command and calls the release tool.
107107
func handleReleaseInit(ctx context.Context, args []string) error {
108108
cfg := &release.Config{}
109-
releaseFlags := flag.NewFlagSet("release-init", flag.ExitOnError)
109+
releaseFlags := flag.NewFlagSet("release-init", flag.ContinueOnError)
110110
releaseFlags.StringVar(&cfg.LibrarianDir, "librarian", "/librarian", "Path to the librarian-tool input directory. Contains release-init-request.json.")
111111
releaseFlags.StringVar(&cfg.RepoDir, "repo", "/repo", "Path to the language repository checkout.")
112112
releaseFlags.StringVar(&cfg.OutputDir, "output", "/output", "Path to the empty directory where librariangen writes its output.")
@@ -119,7 +119,7 @@ func handleReleaseInit(ctx context.Context, args []string) error {
119119
// handleBuild parses flags for the build command and calls the builder.
120120
func handleBuild(ctx context.Context, args []string) error {
121121
cfg := &build.Config{}
122-
buildFlags := flag.NewFlagSet("build", flag.ExitOnError)
122+
buildFlags := flag.NewFlagSet("build", flag.ContinueOnError)
123123
buildFlags.StringVar(&cfg.LibrarianDir, "librarian", "/librarian", "Path to the librarian-tool input directory. Contains generate-request.json.")
124124
buildFlags.StringVar(&cfg.RepoDir, "repo", "/repo", "Path to the root of the complete language repository.")
125125
if err := buildFlags.Parse(args); err != nil {

internal/librariangen/main_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ func TestRun(t *testing.T) {
7171
args: []string{"build", "--repo=.", "--librarian=./.librarian"},
7272
wantErr: false,
7373
},
74+
{
75+
name: "build command with bad flag",
76+
args: []string{"build", "--output=."},
77+
wantErr: true,
78+
},
7479
{
7580
name: "configure command",
7681
args: []string{"configure"},
@@ -86,6 +91,11 @@ func TestRun(t *testing.T) {
8691
args: []string{"generate", "--source=.", "--output=./build_out"},
8792
wantErr: false,
8893
},
94+
{
95+
name: "generate command with bad flag",
96+
args: []string{"generate", "--repo=."},
97+
wantErr: true,
98+
},
8999
{
90100
name: "release-init command no flags",
91101
args: []string{"release-init"},
@@ -96,6 +106,11 @@ func TestRun(t *testing.T) {
96106
args: []string{"release-init", "--repo=.", "--output=./build_out"},
97107
wantErr: false,
98108
},
109+
{
110+
name: "release-init command with bad flag",
111+
args: []string{"release-init", "--source=."},
112+
wantErr: true,
113+
},
99114
}
100115
for _, tt := range tests {
101116
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)