queue_test.go 568 B

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