Skip to content

Commit f2d3ab7

Browse files
change: reworked main menu to make it autodocumenting
1 parent 80a54f2 commit f2d3ab7

6 files changed

Lines changed: 25 additions & 16 deletions

File tree

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ func executeTools(args []string, opsHome string) int {
243243

244244
case "retry":
245245
args[0] = "-retry"
246-
if err := tools.ExpBackoffRetry(args[1:]); err != nil {
246+
if err := tools.ExpBackoffRetry(args); err != nil {
247247
log.Fatalf("error: %s", err.Error())
248248
}
249249
return 0

tests/login.bats

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ setup() {
2424
@test "ops -login help" {
2525
run ops -login
2626
assert_line "Usage:"
27-
assert_line "ops login <apihost> [<user>]"
27+
assert_line "ops -login <apihost> [<user>]"
2828
assert_line "error: missing apihost"
2929

3030
run ops -login -h

tests/plugin.bats

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ setup() {
2424
}
2525

2626
@test "ops prints 'Plugins:'" {
27-
run ops
27+
run ops -t
2828
assert_line 'Plugins:'
2929
assert_line " plugin (local)"
3030
}
3131

3232
@test "ops skips invalid plugin folders (without opsfile.yml)" {
3333
run mkdir olaris-test2
34-
run ops
34+
run ops -t
3535
refute_line " test2 (local)"
3636
run rm -rf olaris-test2
3737
}
@@ -61,7 +61,7 @@ setup() {
6161
@test "other plugin without olaris is shown" {
6262
cd testdata
6363
run ops -update
64-
run ops
64+
run ops -t
6565
assert_line 'Plugins:'
6666
assert_line " other (local)"
6767
}
@@ -104,7 +104,7 @@ setup() {
104104
run ops -plugin https://github.com/sciabarracom/olaris-test.git
105105
assert_success
106106

107-
run ops
107+
run ops -t
108108
assert_line 'Plugins:'
109109
assert_line " plugin (local)"
110110
assert_line " test (ops)"

tests/prereq.bats

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ setup() {
2020
load 'test_helper/bats-assert/load'
2121
export NO_COLOR=1
2222
export OPS_BRANCH="0.1.0-testing"
23-
rm -Rvf ~/.ops/
23+
ops -reset force
2424
cd prereq
2525
}
2626

2727
@test "ops prereq" {
28-
run ops
28+
run ops -t
2929
assert_line --partial "ensuring prerequisite 7zz"
3030
#assert_line --partial "ensuring prerequisite coreutils"
3131
#assert_line --partial "ensuring prerequisite bun"
3232
#assert_line --partial "ensuring prerequisite kubectl"
3333
#assert_line --partial "ensuring prerequisite kind"
3434
#assert_line --partial "ensuring prerequisite k3sup"
3535
assert_line --partial "info"
36-
run ops
36+
run ops -t
3737
refute_line "ensuring prerequisite 7zz"
3838
#refute_line "ensuring prerequisite coreutils"
3939
#refute_line "ensuring prerequisite bun"
@@ -45,27 +45,27 @@ setup() {
4545

4646

4747
@test "windows" {
48-
run env __OS=windows ops
48+
run env __OS=windows ops -t
4949
assert_line --partial "ensuring prerequisite 7zz"
5050
assert test -e ~/.ops/windows-*/bin/7zz.exe
5151
}
5252

5353
@test "linux" {
54-
run env __OS=linux __ARCH=amd64 ops
54+
run env __OS=linux __ARCH=amd64 ops -t
5555
assert_line --partial "ensuring prerequisite 7zz"
5656
assert test -e ~/.ops/linux-amd64/bin/7zz
5757

58-
run env __OS=linux __ARCH=arm64 ops
58+
run env __OS=linux __ARCH=arm64 ops -t
5959
assert_line --partial "ensuring prerequisite 7zz"
6060
assert test -e ~/.ops/linux-arm64/bin/7zz
6161
}
6262

6363
@test "darwin" {
64-
run env __OS=darwin __ARCH=amd64 ops
64+
run env __OS=darwin __ARCH=amd64 ops -t
6565
assert_line --partial "ensuring prerequisite 7zz"
6666
assert test -e ~/.ops/darwin-amd64/bin/7zz
6767

68-
run env __OS=darwin __ARCH=arm64 ops
68+
run env __OS=darwin __ARCH=arm64 ops -t
6969
assert_line --partial "ensuring prerequisite 7zz"
7070
assert test -e ~/.ops/darwin-arm64/bin/7zz
7171
}

tests/retry.bats

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ setup() {
4141
assert_failure
4242

4343
run ops -retry -t 0 -v ops failing
44-
assert_line "Retry Parameters: max time=60 seconds, retries=0 times"
44+
assert_line "Retry Parameters: max time=60 seconds, retries=0 times."
4545
assert_line "error: failure after 0 retries or 60 seconds."
4646
assert_failure
4747

tools/retry.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,18 @@ func ExpBackoffRetry(args []string) error {
6363
}
6464

6565
if verboseFlag {
66-
fmt.Printf("Retry Parameters: max time=%d seconds, retries=%d times\n", maxFlag, triesFlag)
66+
fmt.Printf("Retry Parameters: max time=%d seconds, retries=%d times.\nCommand: %v\n", maxFlag, triesFlag, rest)
6767
}
68+
69+
counter := 0
70+
startTime := time.Now()
71+
6872
runCmd := func(args []string) error {
73+
if verboseFlag {
74+
counter += 1
75+
elapsedTime := time.Since(startTime)
76+
fmt.Printf("retry attempt %-3d elapsed %-3d seconds\n", counter, int(elapsedTime.Seconds()))
77+
}
6978
cmd := exec.Command(rest[0], rest[1:]...)
7079
cmd.Stdout = os.Stdout
7180
cmd.Stderr = os.Stderr

0 commit comments

Comments
 (0)