• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kubernetes-sigs / kubebuilder / 14165978911

31 Mar 2025 07:06AM UTC coverage: 72.693% (-0.3%) from 72.977%
14165978911

Pull #4675

github

kersten
refactor: convert CLI methods to use pointer receivers

Updated all CLI method receivers to use pointer semantics (*CLI)
instead of value (CLI), ensuring consistent behavior across command
setup functions and reducing potential for unintentional value copying.
Pull Request #4675: ⚠️ 🐛 (API) convert CLI methods to use pointer receivers

22 of 22 new or added lines in 9 files covered. (100.0%)

34 existing lines in 4 files now uncovered.

2300 of 3164 relevant lines covered (72.69%)

16.74 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/pkg/plugin/util/stdin.go
1
/*
2
Copyright 2018 The Kubernetes Authors.
3

4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7

8
    http://www.apache.org/licenses/LICENSE-2.0
9

10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16

17
package util
18

19
import (
20
        "bufio"
21
        "fmt"
22
        "log"
23
        "strings"
24
)
25

26
// YesNo reads from stdin looking for one of "y", "yes", "n", "no" and returns
27
// true for "y" and false for "n"
28
func YesNo(reader *bufio.Reader) bool {
×
29
        for {
×
30
                text := readstdin(reader)
×
31
                switch text {
×
32
                case "y", "yes":
×
33
                        return true
×
34
                case "n", "no":
×
35
                        return false
×
36
                default:
×
37
                        fmt.Printf("invalid input %q, should be [y/n]", text)
×
38
                }
39
        }
40
}
41

42
// Readstdin reads a line from stdin trimming spaces, and returns the value.
43
// log.Fatal's if there is an error.
44
func readstdin(reader *bufio.Reader) string {
×
45
        text, err := reader.ReadString('\n')
×
46
        if err != nil {
×
47
                log.Fatalf("Error when reading input: %v", err)
×
48
        }
×
49
        return strings.TrimSpace(text)
×
50
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc