github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/rtutils/singlethread/singlethread_test.go (about)

     1  package singlethread
     2  
     3  import (
     4  	"sync"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func Test_Singlethread(t *testing.T) {
    11  	tt := New()
    12  	defer tt.Close()
    13  	y := 0
    14  
    15  	wg := &sync.WaitGroup{}
    16  	for x := 0; x < 1000; x++ {
    17  		wg.Add(1)
    18  		go func() {
    19  			err := tt.Run(func() error {
    20  				defer wg.Done()
    21  				y = y + 1
    22  				return nil
    23  			})
    24  			assert.NoError(t, err)
    25  		}()
    26  	}
    27  	wg.Wait()
    28  	assert.Equal(t, 1000, y)
    29  }