mux_test.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. package gfsmux_test
  2. import (
  3. "bytes"
  4. "testing"
  5. smux "github.com/johnsonjh/gfsmux"
  6. u "github.com/johnsonjh/leaktestfe"
  7. )
  8. type buffer struct {
  9. bytes.Buffer
  10. }
  11. func (
  12. b *buffer,
  13. ) Close() error {
  14. b.Buffer.Reset()
  15. return nil
  16. }
  17. func TestConfig(
  18. t *testing.T,
  19. ) {
  20. defer u.Leakplug(
  21. t,
  22. )
  23. smux.VerifyConfig(
  24. smux.DefaultConfig(),
  25. )
  26. Config := smux.DefaultConfig()
  27. Config.KeepAliveInterval = 0
  28. err := smux.VerifyConfig(
  29. Config,
  30. )
  31. t.Log(
  32. err,
  33. )
  34. if err == nil {
  35. t.Fatal(
  36. err,
  37. )
  38. }
  39. Config = smux.DefaultConfig()
  40. Config.KeepAliveInterval = 10
  41. Config.KeepAliveTimeout = 5
  42. err = smux.VerifyConfig(
  43. Config,
  44. )
  45. t.Log(
  46. err,
  47. )
  48. if err == nil {
  49. t.Fatal(
  50. err,
  51. )
  52. }
  53. Config = smux.DefaultConfig()
  54. Config.MaxFrameSize = 0
  55. err = smux.VerifyConfig(
  56. Config,
  57. )
  58. t.Log(
  59. err,
  60. )
  61. if err == nil {
  62. t.Fatal(
  63. err,
  64. )
  65. }
  66. Config = smux.DefaultConfig()
  67. Config.MaxFrameSize = 65536
  68. err = smux.VerifyConfig(
  69. Config,
  70. )
  71. t.Log(
  72. err,
  73. )
  74. if err == nil {
  75. t.Fatal(
  76. err,
  77. )
  78. }
  79. Config = smux.DefaultConfig()
  80. Config.MaxReceiveBuffer = 0
  81. err = smux.VerifyConfig(
  82. Config,
  83. )
  84. t.Log(
  85. err,
  86. )
  87. if err == nil {
  88. t.Fatal(
  89. err,
  90. )
  91. }
  92. Config = smux.DefaultConfig()
  93. Config.MaxStreamBuffer = 0
  94. err = smux.VerifyConfig(
  95. Config,
  96. )
  97. t.Log(
  98. err,
  99. )
  100. if err == nil {
  101. t.Fatal(
  102. err,
  103. )
  104. }
  105. Config = smux.DefaultConfig()
  106. Config.MaxStreamBuffer = 100
  107. Config.MaxReceiveBuffer = 99
  108. err = smux.VerifyConfig(
  109. Config,
  110. )
  111. t.Log(
  112. err,
  113. )
  114. if err == nil {
  115. t.Fatal(
  116. err,
  117. )
  118. }
  119. var bts buffer
  120. if _, err := smux.Server(
  121. &bts,
  122. Config,
  123. ); err == nil {
  124. t.Fatal(
  125. "server started with wrong Config",
  126. )
  127. }
  128. if _, err := smux.Client(
  129. &bts,
  130. Config,
  131. ); err == nil {
  132. t.Fatal(
  133. "client started with wrong Config",
  134. )
  135. }
  136. }