queue_unix_test.go 593 B

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