mirror of
https://github.com/qt/qtmqtt.git
synced 2026-10-25 16:16:26 +00:00
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> |
||
|---|---|---|
| .. | ||
| auto | ||
| benchmarks | ||
| common | ||
| libfuzzer/mqtt/data_receive | ||
| manual/sslconfiguration | ||
| CMakeLists.txt | ||
| README.txt | ||
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.