Fixes race in TestModuleInstance_CloseModuleOnCanceledOrTimeout (#1339)

Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
This commit is contained in:
Takeshi Yoneda
2023-04-03 00:48:19 -07:00
committed by GitHub
parent 967df4c1ff
commit 18195355d5

View File

@@ -6,6 +6,7 @@ import (
"fmt"
"os"
"sync"
"sync/atomic"
"testing"
"time"
@@ -271,7 +272,7 @@ func TestModuleInstance_CloseModuleOnCanceledOrTimeout(t *testing.T) {
defer done()
// Resource shouldn't be released at this point.
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), cc.Closed&exitCodeFlagMask)
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), atomic.LoadUint64(&cc.Closed)&exitCodeFlagMask)
require.NotNil(t, cc.Sys)
err := cc.FailIfClosed()
@@ -293,7 +294,7 @@ func TestModuleInstance_CloseModuleOnCanceledOrTimeout(t *testing.T) {
time.Sleep(time.Second)
// Resource shouldn't be released at this point.
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), cc.Closed&exitCodeFlagMask)
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), atomic.LoadUint64(&cc.Closed)&exitCodeFlagMask)
require.NotNil(t, cc.Sys)
err := cc.FailIfClosed()
@@ -316,7 +317,7 @@ func TestModuleInstance_CloseModuleOnCanceledOrTimeout(t *testing.T) {
defer done()
// Resource shouldn't be released at this point.
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), cc.Closed&exitCodeFlagMask)
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), atomic.LoadUint64(&cc.Closed)&exitCodeFlagMask)
require.NotNil(t, cc.Sys)
err := cc.FailIfClosed()
@@ -341,7 +342,7 @@ func TestModuleInstance_CloseModuleOnCanceledOrTimeout(t *testing.T) {
time.Sleep(time.Second)
// Resource shouldn't be released at this point.
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), cc.Closed&exitCodeFlagMask)
require.Equal(t, exitCodeFlag(exitCodeFlagResourceNotClosed), atomic.LoadUint64(&cc.Closed)&exitCodeFlagMask)
require.NotNil(t, cc.Sys)
err := cc.FailIfClosed()