Fix race in current stage fo go-progress

Signed-off-by: Will Murphy <will.murphy@anchore.com>
This commit is contained in:
Will Murphy
2023-09-08 07:48:42 -04:00
parent 3842d28e90
commit 8e9d1d5e91
10 changed files with 22 additions and 43 deletions
+5 -5
View File
@@ -65,7 +65,7 @@ func (m *Handler) handleAttestationStarted(e partybus.Event) []tea.Model {
return nil
}
stage := progress.Stage{}
stage := progress.NewStage("")
tsk := m.newTaskProgress(
taskprogress.Title{
@@ -79,7 +79,7 @@ func (m *Handler) handleAttestationStarted(e partybus.Event) []tea.Model {
progress.Stager
}{
Progressable: prog,
Stager: &stage,
Stager: stage,
},
),
)
@@ -94,7 +94,7 @@ func (m *Handler) handleAttestationStarted(e partybus.Event) []tea.Model {
return []tea.Model{
tsk,
newLogFrame(newBackgroundLineReader(m.Running, reader, &stage), prog, borderStyle),
newLogFrame(newBackgroundLineReader(m.Running, reader, stage), prog, borderStyle),
}
}
@@ -146,9 +146,9 @@ func (l *backgroundLineReader) read(reader io.Reader, stage *progress.Stage) {
if len(fields) == 2 {
present = fmt.Sprintf("transparency log index: %s", fields[1])
}
stage.Current = present
stage.Set(present)
} else if strings.Contains(text, "WARNING: skipping transparency log upload") {
stage.Current = "transparency log upload skipped"
stage.Set("transparency log upload skipped")
}
// only show the last X lines of the shell output
+2 -6
View File
@@ -33,9 +33,7 @@ func TestHandler_handleFetchImage(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -58,9 +56,7 @@ func TestHandler_handleFetchImage(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -33,9 +33,7 @@ func TestHandler_handleFileDigestsCatalogerStarted(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -57,9 +55,7 @@ func TestHandler_handleFileDigestsCatalogerStarted(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
+2 -6
View File
@@ -33,9 +33,7 @@ func TestHandler_handleFileIndexingStarted(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -58,9 +56,7 @@ func TestHandler_handleFileIndexingStarted(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -33,9 +33,7 @@ func TestHandler_handleFileMetadataCatalogerStarted(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -57,9 +55,7 @@ func TestHandler_handleFileMetadataCatalogerStarted(t *testing.T) {
progress.Stager
}{
Progressable: prog,
Stager: &progress.Stage{
Current: "current",
},
Stager: progress.NewStage("current"),
}
return partybus.Event{
@@ -25,9 +25,7 @@ func TestHandler_handleSecretsCatalogerStarted(t *testing.T) {
{
name: "cataloging in progress",
eventFn: func(t *testing.T) partybus.Event {
stage := &progress.Stage{
Current: "current",
}
stage := progress.NewStage("current")
secretsDiscovered := progress.NewManual(-1)
secretsDiscovered.Set(64)
prog := progress.NewManual(72)
@@ -47,9 +45,7 @@ func TestHandler_handleSecretsCatalogerStarted(t *testing.T) {
{
name: "cataloging complete",
eventFn: func(t *testing.T) partybus.Event {
stage := &progress.Stage{
Current: "current",
}
stage := progress.NewStage("current")
secretsDiscovered := progress.NewManual(-1)
secretsDiscovered.Set(64)
prog := progress.NewManual(72)