From 0b816f26cf705be2dde67e140ef01ee136eea378 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 4 Sep 2024 14:44:29 +0200 Subject: pkg/manager: properly handle NeedRepro() == false It was processed incorrectly in the repro loop - we should have skipped that crash and looked for another one, but we actually ignored its return value. --- pkg/manager/repro_test.go | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'pkg/manager/repro_test.go') diff --git a/pkg/manager/repro_test.go b/pkg/manager/repro_test.go index 80d224fd5..0149aafdb 100644 --- a/pkg/manager/repro_test.go +++ b/pkg/manager/repro_test.go @@ -119,19 +119,14 @@ func TestReproRWRace(t *testing.T) { assert.True(t, mock.NeedRepro(nil)) called := <-mock.run - called.ret <- &ReproResult{} // Pretend that processRepro() is finished and // we've written "repro.prog" to the disk. mock.reproProgExist.Store(true) assert.False(t, mock.NeedRepro(nil)) + called.ret <- &ReproResult{} assert.True(t, obj.CanReproMore()) - called2 := <-mock.run - called2.ret <- &ReproResult{} - assert.False(t, mock.NeedRepro(nil)) - assert.True(t, obj.CanReproMore()) - - // Reproducers may be still running. + // The second repro process will never be started. mock.onVMShutdown(t, obj) } -- cgit mrf-deployment