github.com/rhatdan/docker@v0.7.7-0.20180119204836-47a0dcbcd20a/libcontainerd/queue_test.go (about)

     1  package libcontainerd
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestSerialization(t *testing.T) {
    11  	var (
    12  		q             queue
    13  		serialization = 1
    14  	)
    15  
    16  	q.append("aaa", func() {
    17  		//simulate a long time task
    18  		time.Sleep(10 * time.Millisecond)
    19  		require.EqualValues(t, serialization, 1)
    20  		serialization = 2
    21  	})
    22  	q.append("aaa", func() {
    23  		require.EqualValues(t, serialization, 2)
    24  		serialization = 3
    25  	})
    26  	q.append("aaa", func() {
    27  		require.EqualValues(t, serialization, 3)
    28  		serialization = 4
    29  	})
    30  	time.Sleep(20 * time.Millisecond)
    31  }