Commit Graph

292 Commits

Author SHA1 Message Date
Roger A. Light
1e6117bcf5 Fix duplicate string property tests. 2018-12-14 14:10:30 +00:00
Roger A. Light
4fe75b1af0 Make user functions for reading properties easier to use. 2018-12-06 16:59:53 +00:00
Roger A. Light
608b8d33e7 Remove no longer used file. 2018-12-06 10:55:58 +00:00
Roger A. Light
9896e61727 Test and small fix for response-topic and correlation-data props. 2018-12-06 09:29:25 +00:00
Roger A. Light
6ef2c79e9a Add max_keepalive, for limiting keepalives of MQTT v5 clients. 2018-12-06 08:49:02 +00:00
Roger A. Light
fda66e8311 Add broker test for assigned client id. 2018-12-05 20:26:43 +00:00
Roger A. Light
f01042fb97 Simplify test makefiles. 2018-12-05 13:53:00 +00:00
Roger A. Light
085fdf3593 Add tests for Content Type property sending. 2018-12-05 13:28:26 +00:00
Roger A. Light
d5108956bf Process session-expiry-interval on CONNECT and DISCONNECT.
Add test to check for invalid values.
2018-11-27 12:23:21 +00:00
Roger A. Light
34e7da426c Use test helper for importing modules. 2018-11-27 11:26:21 +00:00
Roger A. Light
c31aae25a8 Fix v5 tests with no CONNECT properties. 2018-11-27 10:01:56 +00:00
Roger A. Light
3647dc357a Test for retain_available=false. 2018-11-22 21:32:49 +00:00
Roger A. Light
0123ff1efe Rename *_with_properties() -> *_v5(). 2018-11-22 18:55:04 +00:00
Roger Light
17d213b79a Declare lack of support for shared subs and sub IDs. 2018-11-22 18:54:12 +00:00
Roger A. Light
29cf4266d9 Remove old tests from ptest.py. 2018-11-20 23:00:02 +00:00
Roger A. Light
bb745b3308 Client prop test for format-payload-indicator. 2018-11-20 23:00:02 +00:00
Roger A. Light
22f284671d Request-response test with/without correlation data 2018-11-20 18:42:21 +00:00
Roger A. Light
353990e856 Tidy up test directory. 2018-11-13 12:14:28 +00:00
Roger A. Light
d7bcec4878 Don't disconnect clients when a plugin denies SUBSCRIBE.
Thanks to Ibrahim Koujar.

Bug: https://github.com/eclipse/mosquitto/issues/1016
2018-11-07 10:06:32 +00:00
Roger A. Light
c26892244c Test x509 generation script requires no interaction now. 2018-11-06 23:02:33 +00:00
Roger A. Light
f77c1ca91b private struct mqtt5__property -> public mosquitto_property. 2018-11-01 23:50:54 +00:00
Roger A. Light
12cba75c73 Client support for adding properties. 2018-10-31 12:38:39 +00:00
Roger A. Light
636e813d1c Load of constant renames ahead of making mqtt_protocol.h public. 2018-10-30 11:11:31 +00:00
Roger A. Light
9eebcf6704 Rename property__free_all->mosquitto_property_free_all
Make public function.
2018-10-30 10:16:42 +00:00
Roger A. Light
12fa336140 Handle some incoming PUBLISH properties.
PAYLOAD_FORMAT_INDICATOR, CORRELATION_DATA, USER_PROPERTY, CONTENT_TYPE
are now all passed on to subscribing clients from an incoming PUBLISH
only (not from Wills). The other PUBLISH properties are silently
dropped.
2018-10-25 16:35:24 +01:00
Roger A. Light
6996fd450a Simple pub/sub/unsub tests for v5. 2018-10-25 14:57:41 +01:00
Roger A. Light
52c25fa899 Simple connect test for v5. 2018-10-25 14:43:43 +01:00
Roger A. Light
723d9c2782 Check whether properties are on the correct commands. 2018-10-25 11:23:04 +01:00
Roger A. Light
42896112a1 Pub/sub topic checking tests. 2018-10-16 23:09:08 +01:00
Roger A. Light
1e9e552034 Property write bad identifier test. 2018-10-16 22:57:52 +01:00
Roger A. Light
40ed672ecf Fix topic matching tests and function. 2018-10-16 22:49:13 +01:00
Roger A. Light
77099bb58c Add property write tests. 2018-10-16 21:32:13 +01:00
Roger A. Light
a7fff2ad2e Topic test improvements. 2018-10-16 13:49:38 +01:00
Roger A. Light
6609bbac10 Move topic matching tests to unit tests. Needs improving. 2018-10-10 17:52:41 +01:00
Roger A. Light
c0ff424082 Add property__get_length_all() and property__get_length().
For getting the number of bytes needed for writing a property list.
2018-10-10 14:50:30 +01:00
Roger A. Light
a17dcb4e8f Property string pair, varint and more complicated packet tests. 2018-10-07 00:37:38 +01:00
Roger A. Light
e1d0bde0b1 Binary property read tests. 2018-10-05 12:43:05 +01:00
Roger A. Light
194d013279 Finish property string read tests. 2018-10-04 23:08:53 +01:00
Roger A. Light
bc1caedc32 Some property string read tests. 2018-10-04 22:49:34 +01:00
Roger A. Light
f59526a014 Property read in16 tests. 2018-10-04 21:16:46 +01:00
Roger A. Light
e14b613a02 Property read int32 tests. 2018-10-04 19:04:21 +01:00
Roger A. Light
f4b2838574 Property reading, and tests for byte properties. 2018-10-04 17:18:57 +01:00
Roger A. Light
34c8c28e9d Remove old UTF-8 tests. 2018-10-04 13:18:46 +01:00
Roger A. Light
cdb22edb1c Split malformed UTF-8 validation tests to ensure better coverage. 2018-10-04 12:04:40 +01:00
Roger A. Light
1635dd3883 Multiple bytes read tests. 2018-10-04 09:23:42 +01:00
Roger A. Light
c9d9ad8e72 UTF-8 validation tests and fixes. 2018-10-04 09:03:54 +01:00
Roger A. Light
8c7220d7a5 UTF-8 String write tests. 2018-10-03 22:37:57 +01:00
Roger A. Light
c124b07929 Four Byte Integer write test. 2018-10-03 22:29:45 +01:00
Roger A. Light
e701608e71 Two Byte Integer write test. 2018-10-03 22:22:42 +01:00
Roger A. Light
eec3220622 Byte write test. 2018-10-03 21:54:10 +01:00
Roger A. Light
72131c84ce Binary data read functions and tests. 2018-10-03 21:35:33 +01:00
Roger A. Light
99e324e860 Make test strings unsigned. 2018-10-03 20:50:39 +01:00
Roger A. Light
ed06255847 Rename to _read so _write can be separate. 2018-10-03 20:40:56 +01:00
Roger A. Light
debf7493ad UTF-8 validation tests and fixes. 2018-10-03 18:42:15 +01:00
Roger A. Light
0fad0bd025 UTF-8 String read tests. 2018-10-03 15:04:55 +01:00
Roger A. Light
d532253f10 Byte read tests. 2018-10-03 13:02:58 +01:00
Roger A. Light
d157e5c41e Four Byte Integer read tests. 2018-10-03 12:40:16 +01:00
Roger A. Light
ff67672a2c Two Byte Integer read tests. 2018-10-03 12:04:26 +01:00
Roger A. Light
b6b8da1fa6 Variable Byte Integer reading tests. 2018-10-03 11:57:20 +01:00
Roger A. Light
9df05e93c0 Add test for $test publishing bug. 2018-09-25 14:25:54 +01:00
Roger A. Light
ba175e581e Update expired test certs. 2018-09-18 11:53:11 +01:00
Roger A. Light
f6f509031a Add missing test. 2018-08-16 23:23:56 +01:00
Roger A. Light
11395f9852 Fix accessor functions for username and client id when used in plugin auth check. 2018-08-16 17:00:00 +01:00
Roger A. Light
6a75eb377b Add test for issue in #828.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-09 13:01:34 +01:00
Roger A. Light
7c496153a9 Add test for issue 505. 2018-08-09 11:24:45 +01:00
Roger A. Light
50abaedaff Add new test to parallel test script.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-08 13:49:12 +01:00
Wolfgang Hottgenroth
50b0c0b1f1 Add test which currently fails.
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
2018-08-08 13:42:50 +01:00
Wolfgang Hottgenroth
9912418f78 Change test scripts according to hints in #507 (replace localhost by 127.0.0.1)
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
2018-08-08 13:42:50 +01:00
Roger A. Light
f40ccd195d Disable queued bytes test pending a fix.
Signed-off-by: Roger A. Light <roger@atchoo.org>
2018-08-02 00:35:00 +01:00
Roger A. Light
9fd55c0d44 Simplify broker tests with helper function. 2018-08-01 22:51:19 +01:00
Roger A. Light
40e2eab4c4 Disable queued bytes test temporarily. 2018-08-01 21:36:58 +01:00
Roger A. Light
cd271041f5 Add test for issue #874. 2018-08-01 19:26:12 +01:00
Roger A. Light
d3b3ba86f1 Updated crude performance test. 2018-05-02 17:32:48 +01:00
Roger A. Light
ba71bc3b32 Experimental parallel testing for library. 2018-04-16 10:02:22 +01:00
Roger A. Light
5d2f5c25d7 Experimental parallel testing for broker. 2018-04-15 23:38:18 +01:00
Roger A. Light
51aa7b7121 Update tests as a step towards parallelism. 2018-04-13 22:04:40 +01:00
Roger A. Light
8cb3a29fd7 Fix a variety of protocol handling errors.
Closes #704
Closes #705
Closes #730
Closes #732

Thanks to Umberto Boscolo.
2018-04-13 12:41:34 +01:00
Roger A. Light
7615ae24ce Handle CONNECT protocol errors.
Don't allow username when no username flag set.
Don't allow password when no password flag set.

Closes #730. Closes #731.

Thanks to Umberto Boscolo.
2018-04-12 22:53:49 +01:00
Roger A. Light
729a09310a Add UTF-8 tests, plus some validation fixes.
Closes #693.
2018-04-12 22:20:10 +01:00
Roger A. Light
24d68b5af8 Remove support for openssl 1.0.0 and 1.0.1.
These are no longer supported by openssl.
2018-04-11 17:12:25 +01:00
Roger A. Light
8676cc0359 Replace mentions of deprecated 'c_rehash' with 'openssl rehash'. 2018-04-07 11:26:43 +01:00
Roger A. Light
40e6a75709 Use c99 as compiling standard.
Closes: #765.
2018-04-06 00:33:22 +01:00
Roger A. Light
c3314fd593 Add missing tests (Closes #748). 2018-04-05 23:57:03 +01:00
Roger A. Light
dbdd113c86 Merge branch 'develop' of github.com:eclipse/mosquitto into develop 2018-03-26 22:57:32 +01:00
Roger A. Light
a979ed6535 Per listener plugins. 2018-03-26 15:23:00 +01:00
Pierre Fersing
6dd63d3000 Add more test for auth-plugin
Tests for:

* MOSQ_ACL_SUBSCRIBE acl check
* MOSQ_ERR_PLUGIN_DEFER with 2 auth-plugin
* Binary compatibility with v2 of auth-plugin

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2018-03-13 17:52:22 +00:00
Roger A. Light
81cb7ab547 Merge branch 'fixes' into develop 2018-02-13 14:16:47 +00:00
Roger A. Light
b02c1a41bb [670] Fix topic matching of foo/bar against foo/+/#
Thanks to mrdis.

Bug: https://github.com/eclipse/mosquitto/issues/670
2018-01-09 14:36:19 +00:00
Tatsuzo Osawa
024fd400d4 Fix Unsubscribe with No Topic
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2018-01-06 12:11:06 +00:00
Pierre Fersing
7775924bae [534]Fix upgrade_outgoing_qos for retained message 2018-01-03 18:50:34 +01:00
Pierre Fersing
a47c1a821b Add test for bridge topic name mapping
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-12-29 16:59:39 +01:00
Roger A. Light
d2118aeb17 [636] Don't run TLS-PSK tests when disabled at compile time.
Thanks to 'TBK'.

Bug: https://github.com/eclipse/mosquitto/issues/636
2017-12-03 21:20:40 +00:00
Tatsuzo Osawa
355bb37ab9 Fix 08-ssl-bridge.conf to dial localhost by ipv4.
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
2017-08-09 21:25:32 +01:00
Roger A. Light
b11855821e Update UTF-8 validation checks. 2017-07-30 21:57:43 +01:00
Roger A. Light
a480a9daf9 Fix 08-ssl-bridge.py test when using async dns lookups.
Thanks to Tatsuzo Osawa.

Bug: https://github.com/eclipse/mosquitto/issues/507
2017-07-30 11:35:45 +01:00
Pierre Fersing
31639fec65 Add test for persistent subscription (#501)
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
2017-07-20 19:02:55 +01:00
Roger A. Light
e74203de2c Merge branch 'master' into develop 2017-07-16 22:52:01 +01:00
Roger A. Light
96db6d6644 Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3. 2017-06-27 11:11:43 +01:00
Roger A. Light
41a1b51c31 Print warning, skip test if paho-mqtt not available. 2016-09-10 09:11:26 +01:00
Karl Palsson
c6aac741c2 broker: support byte based queueing
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.

Fixes (partof) https://github.com/eclipse/mosquitto/issues/100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-09-09 17:27:39 +00:00
Karl Palsson
9d00eab64c tests: support generating longer publish packets
Remaining length for publish packets wasn't being handled completely.

Signed-off-by: Karl Palsson <karlp@etactica.com>
2016-08-17 10:27:37 +00:00
Roger A. Light
883af8af53 Better subtree searching. 2016-07-19 15:05:53 +01:00
Roger A. Light
e4db6a760f Backwards compatibility for auth plugins. 2016-07-10 23:17:30 +01:00
Roger A. Light
025e56fd4c New mosquitto_auth_psk_key_get() 2016-07-08 13:52:02 +01:00
Roger A. Light
b3df015ea7 New mosquitto_unpwd_check(). 2016-07-08 13:27:14 +01:00
Roger A. Light
63f46a999f Add username accessor. 2016-07-08 11:50:50 +01:00
Roger A. Light
6a6efb6143 Fix ssl bridge test. 2016-06-22 11:04:49 +01:00
Roger A. Light
2b2279363b Bridge defaults to mqtt3.1.1 as per documentation. 2016-06-22 00:04:47 +01:00
Roger A. Light
1c3988a397 Merge branch 'master' into develop 2016-06-21 23:33:58 +01:00
Roger A. Light
a8a5daf06b Check client topic inputs for valid UTF-8. 2016-06-20 22:56:01 +01:00
Roger A. Light
30686f2dc9 Fix mosquitto_topic_matches_sub(). 2016-06-02 20:53:09 +01:00
Roger A. Light
a187b3f5fa [57] Handle PUB* with unknown message id gracefully.
Allows message flow to complete where e.g. the broker didn't persist a
partially complete flow.

Thanks to jsaak jsaak and Hiram van Paassen.

Bug: https://github.com/eclipse/mosquitto/issues/57
2016-05-19 15:16:19 +01:00
Roger A. Light
4a67fcebc5 More codacy test fixes. 2016-04-09 22:39:41 +01:00
Roger A. Light
07b21f0fe5 Fix minor test problems highlighted by codacy.com. 2016-04-09 22:18:11 +01:00
Roger A. Light
37dceb38f9 Fix some defects discovered by coverity. 2016-03-18 11:54:36 +00:00
Roger A. Light
6c8c649ac2 More test fixes. 2016-03-13 08:23:02 +00:00
Roger A. Light
8906d67ad4 Default to MQTT v3.1.1 in tests. 2016-03-13 08:01:39 +00:00
Roger Light
e2324ff9bb Merge remote-tracking branch 'remotes/origin/master' into develop
Conflicts:
	CMakeLists.txt
	ChangeLog.txt
	THANKS.txt
	appveyor.yml
	config.mk
	installer/mosquitto-cygwin.nsi
	installer/mosquitto.nsi
	lib/messages_mosq.c
	lib/messages_mosq.h
	lib/mosquitto.c
	lib/mosquitto.h
	lib/net_mosq.c
	lib/net_mosq.h
	lib/send_client_mosq.c
	lib/send_mosq.c
	lib/socks_mosq.c
	lib/will_mosq.c
	src/bridge.c
	src/conf.c
	src/context.c
	src/database.c
	src/loop.c
	src/mosquitto.c
	src/mosquitto_broker.h
	src/net.c
	src/read_handle.c
	src/read_handle_server.c
	src/subs.c
2015-09-09 22:02:46 +01:00
Roger A. Light
cdbe62c2bb Outgoing messages with QoS>0 are no longer retried after a timeout.
This change in behaviour can be justified by considering when the
timeout may have occurred.

* If a connection is unreliable and has dropped, but without one end
  noticing, the messages will be retried on reconnection. Sending
  additional PUBLISH or PUBREL would not have changed anything.

* If a client is overloaded/unable to respond/has a slow connection then
  sending additional PUBLISH or PUBREL would not help the client catch
  up. Once the backlog has cleared the client will respond. If it is not
  able to catch up, sending additional duplicates would not help either.
2015-05-24 11:59:53 +01:00
Roger A. Light
4195fde70b Last raft of renames for the moment. 2015-05-18 09:29:22 +01:00
Roger A. Light
756a6cd281 More test fixes. 2015-05-07 00:54:12 -05:00
Roger A. Light
ccb3ea86be Test fixes. 2015-05-06 17:32:15 -05:00
Roger A. Light
ff038b312a Disable fake ca test. 2015-02-09 22:14:00 +00:00
Roger A. Light
570be5e417 [458353] Fix typo in test.
Thanks to Michael Laing.

Bug:  https://bugs.eclipse.org/bugs/show_bug.cgi?id=458353
2015-01-25 13:29:25 +00:00
Roger A. Light
4c72b2dd45 [457373] Fix tests when compiled with WITH_TLS=no.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457373
2015-01-16 21:39:42 +00:00
Roger A. Light
5b6f6976c7 Fix use of "dup" with pubrel, subscribe, unsubscribe.
Thanks to Paolo Patierno.
2014-11-19 21:28:52 +00:00
Roger A. Light
94cd34c86d Add executable permissions. 2014-11-17 22:42:44 +00:00
Roger A. Light
070d783c9f Merge 1.3.2-1.3.5 into 1.4. 2014-10-12 11:17:13 +01:00
Roger A. Light
b612c6bf22 Fix test. 2014-08-02 22:17:30 +01:00
Roger A. Light
405b7f0aab Don't free here, leads to potential double free. 2014-07-03 17:37:31 +01:00
Roger A. Light
cabcada849 Test fixes. 2014-07-01 22:33:03 +01:00
Roger A. Light
fd9496433c Configure client tests for valgrind. 2014-07-01 22:02:06 +01:00
Roger A. Light
d75903b0ae Fix reconnect support for websockets. 2014-06-30 23:30:43 +01:00
Roger A. Light
39674a443e Need bigger delay for valgrind. 2014-06-30 22:55:56 +01:00
Roger A. Light
15efd2d072 Various memory fixes. 2014-06-28 01:38:58 +01:00
Roger A. Light
6427105bf6 Tests can now use valgrind. 2014-06-26 23:12:55 +01:00
Roger A. Light
717e0addae Use default tls version in tests where possible. 2014-06-13 14:30:25 +01:00
Roger A. Light
2e221538ce Test no longer needed. 2014-06-03 02:11:45 +01:00
Roger A. Light
87579e0cac Remove STRICT_PROTOCOL #ifdefs. 2014-05-31 21:53:35 +01:00
Roger A. Light
5146779c44 Add client test for encrypted x509 keys. 2014-05-26 15:48:07 +01:00
Roger Light
9ff56eefd0 Fix topic matching edge case.
Thanks to Tobias Assarsson.
2014-05-08 22:56:16 +01:00
Roger Light
0364bd1be7 Initial contribution. 2014-05-07 23:27:00 +01:00