1
0
mirror of https://github.com/qt/qtmqtt.git synced 2026-10-25 16:16:26 +00:00
qtmqtt/tests
Maurice Kalinowski 5277f58a2a Fix potential race condition for receiving messages
When iterating through the list of active subscriptions to emit the
messageReceived signal, the handler can add further subscriptions, which
renders the iterator to be invalid. Instead store the subscriptions in a
list, which are supposed to receive the signal and only act upon these.

Fixes: QTBUG-106203
Pick-to: 6.4 6.2 5.15
Change-Id: I790a6081c332e82da8e53b15df8ad8494f35cc46
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
2022-10-19 06:41:12 +02:00
..
auto Fix potential race condition for receiving messages 2022-10-19 06:41:12 +02:00
benchmarks Use SPDX license identifiers 2022-06-16 10:22:20 +02:00
common Use SPDX license identifiers 2022-06-16 10:22:20 +02:00
libfuzzer/mqtt/data_receive Use SPDX license identifiers 2022-06-16 10:22:20 +02:00
manual/sslconfiguration Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 10:00:53 +02:00
CMakeLists.txt Change the license of all CMakeLists.txt and *.cmake files to BSD 2022-08-23 10:00:53 +02:00
README.txt Add README for using auto tests 2018-02-02 07:59:27 +00:00

The tests included in the subdirectories check for functionality and
conformance of the Qt MQTT module.

To be able to run the tests successfully, a broker needs to be available and
reachable.

The continuous integration utilized the paho conformance test broker. It can
be obtained at this location:
https://github.com/eclipse/paho.mqtt.testing

For the unit tests being able to locate this script, use the
MQTT_TEST_BROKER_LOCATION environment variable and set it
to “<install-path>/interoperability/startbroker.py”.

Alternatively, any broker can be instantiated and passed to the auto tests
by using the environment variable MQTT_TEST_BROKER. This must point to a
valid url. The broker must run on the standardized port 1883.

Note, that the unit tests verify functionality against the MQTT 3.1.1 version
of the standard, hence the broker needs to be compliant to the adherent
specifications.