test.py 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. #!/usr/bin/env python3
  2. import mosq_test_helper
  3. import ptest
  4. tests = [
  5. #(ports required, 'path'),
  6. (1, './01-connect-575314.py'),
  7. (1, './01-connect-allow-anonymous.py'),
  8. (1, './01-connect-disconnect-v5.py'),
  9. (1, './01-connect-max-connections.py'),
  10. (1, './01-connect-max-keepalive.py'),
  11. (1, './01-connect-uname-no-password-denied.py'),
  12. (1, './01-connect-uname-or-anon.py'),
  13. (1, './01-connect-uname-password-denied-no-will.py'),
  14. (1, './01-connect-uname-password-denied.py'),
  15. (1, './01-connect-windows-line-endings.py'),
  16. (2, './01-connect-zero-length-id.py'),
  17. (1, './02-shared-qos0-v5.py'),
  18. (1, './02-subhier-crash.py'),
  19. (1, './02-subpub-qos0-long-topic.py'),
  20. (1, './02-subpub-qos0-oversize-payload.py'),
  21. (1, './02-subpub-qos0-queued-bytes.py'),
  22. (1, './02-subpub-qos0-retain-as-publish.py'),
  23. (1, './02-subpub-qos0-send-retain.py'),
  24. (1, './02-subpub-qos0-subscription-id.py'),
  25. (1, './02-subpub-qos0-topic-alias-unknown.py'),
  26. (1, './02-subpub-qos0-topic-alias.py'),
  27. (1, './02-subpub-qos1-message-expiry-retain.py'),
  28. (1, './02-subpub-qos1-message-expiry-will.py'),
  29. (1, './02-subpub-qos1-message-expiry.py'),
  30. (1, './02-subpub-qos1-nolocal.py'),
  31. (1, './02-subpub-qos1-oversize-payload.py'),
  32. (1, './02-subpub-qos1.py'),
  33. (1, './02-subpub-qos2-1322.py'),
  34. (1, './02-subpub-qos2-max-inflight-bytes.py'),
  35. (1, './02-subpub-qos2-pubrec-error.py'),
  36. (1, './02-subpub-qos2-receive-maximum-1.py'),
  37. (1, './02-subpub-qos2-receive-maximum-2.py'),
  38. (1, './02-subpub-qos2.py'),
  39. (1, './02-subpub-recover-subscriptions.py'),
  40. (1, './02-subscribe-dollar-v5.py'),
  41. (1, './02-subscribe-invalid-utf8.py'),
  42. (1, './02-subscribe-long-topic.py'),
  43. (1, './02-subscribe-persistence-flipflop.py'),
  44. #(1, './03-publish-qos1-queued-bytes.py'),
  45. (1, './03-pattern-matching.py'),
  46. (1, './03-publish-b2c-disconnect-qos1.py'),
  47. (1, './03-publish-b2c-disconnect-qos2.py'),
  48. (1, './03-publish-b2c-qos1-len.py'),
  49. (1, './03-publish-b2c-qos2-len.py'),
  50. (1, './03-publish-c2b-disconnect-qos2.py'),
  51. (1, './03-publish-c2b-qos2-len.py'),
  52. (1, './03-publish-dollar-v5.py'),
  53. (1, './03-publish-dollar.py'),
  54. (1, './03-publish-invalid-utf8.py'),
  55. (1, './03-publish-long-topic.py'),
  56. (1, './03-publish-qos1-max-inflight-expire.py'),
  57. (1, './03-publish-qos1-max-inflight.py'),
  58. (1, './03-publish-qos1-no-subscribers-v5.py'),
  59. (1, './03-publish-qos1-retain-disabled.py'),
  60. (1, './03-publish-qos1.py'),
  61. (1, './03-publish-qos2-max-inflight.py'),
  62. (1, './03-publish-qos2.py'),
  63. (1, './04-retain-check-source-persist.py'),
  64. (1, './04-retain-check-source.py'),
  65. (1, './04-retain-qos0-clear.py'),
  66. (1, './04-retain-qos0-fresh.py'),
  67. (1, './04-retain-qos0-repeated.py'),
  68. (1, './04-retain-qos0.py'),
  69. (1, './04-retain-qos1-qos0.py'),
  70. (1, './04-retain-upgrade-outgoing-qos.py'),
  71. (2, './04-retain-check-source-persist-diff-port.py'),
  72. (1, './05-clean-session-qos1.py'),
  73. (1, './05-session-expiry-v5.py'),
  74. (2, './06-bridge-b2br-disconnect-qos1.py'),
  75. (2, './06-bridge-b2br-disconnect-qos2.py'),
  76. (2, './06-bridge-b2br-late-connection-retain.py'),
  77. (2, './06-bridge-b2br-late-connection.py'),
  78. (2, './06-bridge-b2br-remapping.py'),
  79. (2, './06-bridge-br2b-disconnect-qos1.py'),
  80. (2, './06-bridge-br2b-disconnect-qos2.py'),
  81. (2, './06-bridge-br2b-remapping.py'),
  82. (2, './06-bridge-clean-session-csF-lcsF.py'),
  83. (2, './06-bridge-clean-session-csF-lcsN.py'),
  84. (2, './06-bridge-clean-session-csF-lcsT.py'),
  85. (2, './06-bridge-clean-session-csT-lcsF.py'),
  86. (2, './06-bridge-clean-session-csT-lcsN.py'),
  87. (2, './06-bridge-clean-session-csT-lcsT.py'),
  88. (2, './06-bridge-fail-persist-resend-qos1.py'),
  89. (2, './06-bridge-fail-persist-resend-qos2.py'),
  90. (1, './06-bridge-no-local.py'),
  91. (2, './06-bridge-outgoing-retain.py'),
  92. (3, './06-bridge-per-listener-settings.py'),
  93. (2, './06-bridge-reconnect-local-out.py'),
  94. (1, './07-will-delay-invalid-573191.py'),
  95. (1, './07-will-delay-reconnect.py'),
  96. (1, './07-will-delay-recover.py'),
  97. (1, './07-will-delay-session-expiry.py'),
  98. (1, './07-will-delay-session-expiry2.py'),
  99. (1, './07-will-delay.py'),
  100. (1, './07-will-disconnect-with-will.py'),
  101. (1, './07-will-invalid-utf8.py'),
  102. (1, './07-will-no-flag.py'),
  103. (1, './07-will-null-topic.py'),
  104. (1, './07-will-null.py'),
  105. (1, './07-will-oversize-payload.py'),
  106. (1, './07-will-per-listener.py'),
  107. (1, './07-will-properties.py'),
  108. (1, './07-will-qos0.py'),
  109. (1, './07-will-reconnect-1273.py'),
  110. (1, './07-will-takeover.py'),
  111. (2, './08-ssl-bridge.py'),
  112. (2, './08-ssl-connect-cert-auth-crl.py'),
  113. (2, './08-ssl-connect-cert-auth-expired.py'),
  114. (2, './08-ssl-connect-cert-auth-revoked.py'),
  115. (2, './08-ssl-connect-cert-auth-without.py'),
  116. (2, './08-ssl-connect-cert-auth.py'),
  117. (2, './08-ssl-connect-identity.py'),
  118. (2, './08-ssl-connect-no-auth-wrong-ca.py'),
  119. (2, './08-ssl-connect-no-auth.py'),
  120. (2, './08-ssl-connect-no-identity.py'),
  121. (1, './08-ssl-hup-disconnect.py'),
  122. (2, './08-tls-psk-pub.py'),
  123. (3, './08-tls-psk-bridge.py'),
  124. (1, './09-acl-access-variants.py'),
  125. (1, './09-acl-change.py'),
  126. (1, './09-acl-empty-file.py'),
  127. (1, './09-auth-bad-method.py'),
  128. (1, './09-extended-auth-change-username.py'),
  129. (1, './09-extended-auth-multistep-reauth.py'),
  130. (1, './09-extended-auth-multistep.py'),
  131. (1, './09-extended-auth-reauth.py'),
  132. (1, './09-extended-auth-single.py'),
  133. (1, './09-plugin-acl-change.py'),
  134. (1, './09-plugin-auth-acl-pub.py'),
  135. (1, './09-plugin-auth-acl-sub-denied.py'),
  136. (1, './09-plugin-auth-acl-sub.py'),
  137. (1, './09-plugin-auth-context-params.py'),
  138. (1, './09-plugin-auth-defer-unpwd-fail.py'),
  139. (1, './09-plugin-auth-defer-unpwd-success.py'),
  140. (1, './09-plugin-auth-msg-params.py'),
  141. (1, './09-plugin-auth-unpwd-fail.py'),
  142. (1, './09-plugin-auth-unpwd-success.py'),
  143. (1, './09-plugin-auth-v2-unpwd-fail.py'),
  144. (1, './09-plugin-auth-v2-unpwd-success.py'),
  145. (1, './09-plugin-publish.py'),
  146. (1, './09-pwfile-parse-invalid.py'),
  147. (2, './10-listener-mount-point.py'),
  148. (1, './11-message-expiry.py'),
  149. (1, './11-persistent-subscription.py'),
  150. (1, './11-persistent-subscription-v5.py'),
  151. (1, './11-persistent-subscription-no-local.py'),
  152. (1, './11-pub-props.py'),
  153. (1, './11-subscription-id.py'),
  154. (1, './12-prop-assigned-client-identifier.py'),
  155. (1, './12-prop-maximum-packet-size-broker.py'),
  156. (1, './12-prop-maximum-packet-size-publish-qos1.py'),
  157. (1, './12-prop-maximum-packet-size-publish-qos2.py'),
  158. (1, './12-prop-response-topic-correlation-data.py'),
  159. (1, './12-prop-response-topic.py'),
  160. (1, './12-prop-server-keepalive.py'),
  161. (1, './12-prop-subpub-content-type.py'),
  162. (1, './12-prop-subpub-payload-format.py'),
  163. (1, './13-malformed-publish-v5.py'),
  164. (1, './13-malformed-subscribe-v5.py'),
  165. (1, './13-malformed-unsubscribe-v5.py'),
  166. (1, './14-dynsec-acl.py'),
  167. (1, './14-dynsec-anon-group.py'),
  168. (1, './14-dynsec-auth.py'),
  169. (1, './14-dynsec-client.py'),
  170. (1, './14-dynsec-client-invalid.py'),
  171. (1, './14-dynsec-default-access.py'),
  172. (1, './14-dynsec-disable-client.py'),
  173. (1, './14-dynsec-group.py'),
  174. (1, './14-dynsec-group-invalid.py'),
  175. (1, './14-dynsec-modify-client.py'),
  176. (1, './14-dynsec-modify-group.py'),
  177. (1, './14-dynsec-modify-role.py'),
  178. (1, './14-dynsec-plugin-invalid.py'),
  179. (1, './14-dynsec-role.py'),
  180. (1, './14-dynsec-role-invalid.py'),
  181. ]
  182. ptest.run_tests(tests)