Commit Graph

91 Commits (5437fb5aef6ba5a6eb71204da0598673ce77e833)

Author SHA1 Message Date
Roger A. Light 16feb14a57 Persistence interface updates and sqlite plugin fixes
The MOSQ_EVT_PERSIST_CLIENT_MSG_CLEAR event has been removed, due to
never being called. It is the responsibility of the plugin to remove
client subscriptions and client messages when the client is removed.

Lots of persist test improvements and additions - mostly checking item
counts.
3 years ago
Roger A. Light 7ec8417e54 Client tests: --version dummy, and float printing for sub. 3 years ago
Norbert Heusser f424667fca Merge branch 'develop' into NorbertHeusser:develop 3 years ago
Kai Buschulte a883bda9c1 Add CMake test target
Use `ctest` or `make test` to run all tests.
With this it's also possible to run tests on a Mac.

Relative paths used in tests become absolute ones to make tests
executable from any build folder.

Also fixed race condition in
  test/broker/11-persistent-subscription-no-local.py

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Kai Buschulte 4eadc96bcb Add Traceback to failing packet_match
This helps finding the caller/cause of the failure

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Roger Light 6c1bb33e86
Merge pull request #2573 from buschulte/throw-broken-pipe-error-when-loosing-connection
throw BrokenPipeError if nothing received on socket
3 years ago
Roger A. Light 34391080d6 Add dynsec init by simple file. 3 years ago
Kai Buschulte a7304083f8 throw BrokenPipeError if nothing received on sock
instead of ignoring this error, we throw an exception
the previous way might cause hard to find issues

Signed-off-by: Kai Buschulte <kai.buschulte@cedalo.com>
3 years ago
Norbert Heusser 6150ae6560 Remove mosquitto__set_state after error from send__connect in mosquitto__reconnect to
fix failing test test/lib/02-subscribe-qos1.py $@/02-subscribe-qos1-async2.test

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
3 years ago
Norbert Heusser 306b76d7f6 Create github build action to build Mosquitto and added timeout
to python tests waiting for subprocess to avoid github actione being blocked

Signed-off-by: Norbert Heusser <norbert.heusser@cedalo.com>
3 years ago
Roger A. Light 6f8ced5038 Test fixes. 4 years ago
Roger A. Light 3139eb3252 More client tests. 4 years ago
Roger A. Light a96615bd4a More client tests. 4 years ago
Roger A. Light 33f2817b1e Facility for running tests under failgrind. 4 years ago
Roger A. Light 4cd2f85e77 Unix socket connect test. 4 years ago
Roger A. Light aa29b45e70 Merge branch 'master' into develop 4 years ago
Roger Light ba2ca33671 Strict protocol compliance fixes, and extensive test suite. 4 years ago
Roger A. Light fc4099eafa Speed up tests. 4 years ago
Roger A. Light eec1ef1c55 Parallelise bridge clean session test. 4 years ago
Roger A. Light 10045394cf Easier testing with different valgrind tools. 4 years ago
Roger A. Light 0d3870585b Plugin delayed authentication. 4 years ago
Roger A. Light de9780343b Add support for MQTT v5 broker->client topic aliases.
This is on a first-come-first-served basis for now.
Also broker to bridge topic aliases.
5 years ago
Roger A. Light 1289d23b66 Convert tests to be able to run on the same broker where possible. 5 years ago
Roger A. Light 3c58ac9308 Fix `message_size_limit` not applying to the Will payload.
Closes #2022. Thanks to Umberto Morelli.
5 years ago
Roger A. Light 7d05f70fe1 Fix mosq_test.py to_string() on Python 3 5 years ago
Roger A. Light c1f0cb69d1 dynsec: ACL default access test. 5 years ago
Roger A. Light 042c2733f2 Test and fix for message expiry not increasing send quota. 5 years ago
Roger A. Light fdff255916 New dynamic security plugin. 5 years ago
Roger A. Light 4ae8971ce1 The broker now sends the receive-maximum property for MQTT v5 CONNACKs. 5 years ago
Roger A. Light 4372a2b925 Default test timeout of 60s by default is too long. 5 years ago
Roger A. Light f87ef68fae Detect closed socket in tests. 5 years ago
Roger Light 58aa41c813 Optimise use of db__message_write()
New messages are now queued for clients when old ones are sent, rather than on every iteration of the main loop. This produces good performance improvements.
5 years ago
Roger A. Light c94e111d73 expect_packet now raises an exception
This should allow tests to be simpler - no more nested ifs.
5 years ago
Roger A. Light b1e9377a20 Send DISCONNECT with malformed-packet reason code on bad SUBSCRIBEs. 5 years ago
Roger A. Light 8416b007ec Send DISCONNECT with malformed-packet reason code on bad UNSUBSCRIBEs. 5 years ago
Karl Palsson 1a93bab80a mosq_test: add do_receive_send counterpart
Like do_send_receive() but aimed for mocking the other side.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Karl Palsson e700c1c523 mosq_test: print stderr from failure to start broker
Doesn't matter when the tests are running, but useful when you're
writing tests.

Signed-off-by: Karl Palsson <karlp@etactica.com>
6 years ago
Roger A. Light c0443637e8 Merge branch 'master'
Conflicts:
	ChangeLog.txt
	config.mk
	src/context.c
	src/loop.c
	src/subs.c
	test/broker/01-connect-bad-packet.py
	test/broker/02-subpub-qos1-bad-pubcomp.py
	test/broker/02-subpub-qos1-bad-pubrec.py
	test/broker/02-subpub-qos2-bad-puback-1.py
	test/broker/02-subpub-qos2-bad-puback-2.py
	test/broker/02-subpub-qos2-bad-pubcomp.py
	test/broker/02-subpub-qos2.py
	test/broker/07-will-null-topic.py
6 years ago
Jerome Malinge d76e5fd199 Fix way of sending packets in compliance tests
According to the documentation of python 3 socket::send method
(https://docs.python.org/3/library/socket.html#socket.socket.send),
the call to send must be retry until all data is sent while sending
packet with a "large" amount of data.

Signed-off-by: Jerome Malinge <gromgromm@yahoo.com>
6 years ago
Roger A. Light 16f57cc834 Simpler v5 session expiry in tests. 6 years ago
Roger A. Light 1066750931 Restrict topic hierarchy to 200 levels to prevent possible stack overflow.
Closes #1412. Thanks to Ryan Shaw.
6 years ago
Roger A. Light 41cb9bf750 Simplify ping checking in tests. 6 years ago
Roger A. Light 8531cb1d79 Separate broker message queues into in/out.
This allows and includes better flow control handling for QoS>0.
7 years ago
Roger A. Light 2e7dcee342 Multistep auth, plus reauth, plus tests. 7 years ago
Roger A. Light e5f58a8ff3 Test for unsupported extended auth. 7 years ago
Roger A. Light 7e49d91898 Convert tests to Python 3 7 years ago
Roger A. Light 75c2a39d2c Send topic alias maximum from the broker. 7 years ago
Roger A. Light c944f840a6 Don't advertise shared subs as unavailable any more. 7 years ago
Roger A. Light 3b6b6d5fa8 Test improvements
And some related fixes.
7 years ago
Roger A. Light c506c8335b Will delay tests and implementation. 7 years ago