Skip to content

Commit c00962e

Browse files
authored
Merge pull request #2914 from cesanta/tests
fixes and improvements for tests
2 parents 586e072 + 9bcf1d6 commit c00962e

File tree

2 files changed

+53
-64
lines changed

2 files changed

+53
-64
lines changed

.github/workflows/nightly.yml

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,7 @@ jobs:
407407
- path: stm32/nucleo-f746zg-make-baremetal-builtin-cmsis_driver
408408
- path: stm32/nucleo-h563zi-make-baremetal-builtin
409409
- path: stm32/nucleo-h563zi-make-freertos-builtin
410+
- path: stm32/nucleo-h723zg-make-baremetal-builtin
410411
- path: stm32/nucleo-h723zg-make-freertos-builtin
411412
- path: stm32/nucleo-h743zi-make-baremetal-builtin
412413
- path: stm32/nucleo-h743zi-make-freertos-builtin
@@ -464,21 +465,6 @@ jobs:
464465
# - run: make -C examples/${{ matrix.example.path }} device_dashboard
465466
# - run: make -C examples/${{ matrix.example.path }} mqtt_dashboard
466467

467-
dual_examples_arm:
468-
runs-on: ubuntu-latest
469-
strategy:
470-
fail-fast: false
471-
matrix:
472-
example:
473-
- path: stm32/nucleo-h723zg-make-baremetal-builtin
474-
name: ${{ matrix.example.path }}
475-
steps:
476-
- uses: actions/checkout@v4
477-
with: { fetch-depth: 2 }
478-
- run: sudo apt -y update && sudo apt -y install gcc-arm-none-eabi
479-
- run: make -C examples/${{ matrix.example.path }} device_dashboard
480-
- run: make -C examples/${{ matrix.example.path }} mqtt_dashboard
481-
482468
cube_examples:
483469
runs-on: ubuntu-latest
484470
steps:

test/mip_tap_test.c

Lines changed: 52 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,57 @@
2121

2222
#include "driver_mock.c"
2323

24+
25+
#define MQTT_URL "mqtt://broker.hivemq.com:1883" // MQTT broker URL
26+
#if MG_TLS == MG_TLS_BUILTIN
27+
#define MQTTS_URL "mqtts://mongoose.ws:8883" // HiveMQ does not do TLS1.3
28+
#define MQTTS_CA mg_str(s_ca_cert)
29+
static const char *s_ca_cert =
30+
"-----BEGIN CERTIFICATE-----\n"
31+
"MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw\n"
32+
"TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n"
33+
"cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4\n"
34+
"WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu\n"
35+
"ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY\n"
36+
"MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc\n"
37+
"h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+\n"
38+
"0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U\n"
39+
"A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW\n"
40+
"T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH\n"
41+
"B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC\n"
42+
"B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv\n"
43+
"KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn\n"
44+
"OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn\n"
45+
"jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw\n"
46+
"qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI\n"
47+
"rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\n"
48+
"HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq\n"
49+
"hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL\n"
50+
"ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ\n"
51+
"3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK\n"
52+
"NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5\n"
53+
"ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur\n"
54+
"TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC\n"
55+
"jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc\n"
56+
"oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq\n"
57+
"4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA\n"
58+
"mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d\n"
59+
"emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=\n"
60+
"-----END CERTIFICATE-----\n";
61+
#elif MG_TLS
62+
#define MQTTS_URL "mqtts://broker.hivemq.com:8883" // MQTT broker URL
63+
#define MQTTS_CA mg_unpacked("/data/ca.pem")
64+
#endif
65+
66+
2467
static int s_num_tests = 0;
2568

2669
#define ASSERT(expr) \
2770
do { \
2871
s_num_tests++; \
2972
if (!(expr)) { \
3073
printf("FAILURE %s:%d: %s\n", __FILE__, __LINE__, #expr); \
74+
usleep(500000); /* 500 ms, GH print reason */ \
3175
abort(); \
3276
} \
3377
} while (0)
@@ -162,23 +206,14 @@ static void test_http_client(struct mg_mgr *mgr) {
162206
static struct mg_connection *s_conn;
163207
static char s_topic[16];
164208

165-
#define MQTT_URL "mqtt://broker.hivemq.com:1883" // MQTT broker URL
166-
#if MG_TLS == MG_TLS_BUILTIN
167-
#define MQTTS_URL "mqtts://mongoose.ws:8883" // HiveMQ does not do TLS1.3
168-
#define MQTTS_CA mg_str(s_ca_cert)
169-
static const char *s_ca_cert;
170-
#elif MG_TLS
171-
#define MQTTS_URL "mqtts://broker.hivemq.com:8883" // MQTT broker URL
172-
#define MQTTS_CA mg_unpacked("/data/ca.pem")
173-
#endif
174-
175-
176209
static void mqtt_fn(struct mg_connection *c, int ev, void *ev_data) {
177210
if (ev == MG_EV_CONNECT) {
178211
MG_DEBUG(("CONNECT"));
179212
#if MG_TLS
180-
struct mg_tls_opts opts = {.ca = MQTTS_CA,
181-
.name = mg_url_host(MQTTS_URL)};
213+
struct mg_tls_opts opts;
214+
memset(&opts, 0, sizeof(opts));
215+
opts.ca = MQTTS_CA;
216+
opts.name = mg_url_host(MQTTS_URL);
182217
mg_tls_init(c, &opts);
183218
#endif
184219
} else if (ev == MG_EV_MQTT_OPEN) {
@@ -345,9 +380,13 @@ int main(void) {
345380
#endif
346381

347382
// RUN TESTS
383+
usleep(500000); // 500 ms
348384
test_http_client(&mgr);
385+
usleep(500000); // 500 ms
349386
test_http_server(&mgr, mif.ip);
387+
usleep(500000); // 500 ms
350388
test_mqtt_connsubpub(&mgr);
389+
usleep(500000); // 500 ms
351390

352391
printf("SUCCESS. Total tests: %d\n", s_num_tests);
353392

@@ -358,39 +397,3 @@ int main(void) {
358397
close(fd);
359398
return 0;
360399
}
361-
362-
363-
#if MG_TLS == MG_TLS_BUILTIN
364-
static const char *s_ca_cert =
365-
"-----BEGIN CERTIFICATE-----\n"
366-
"MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw\n"
367-
"TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\n"
368-
"cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4\n"
369-
"WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu\n"
370-
"ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY\n"
371-
"MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc\n"
372-
"h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+\n"
373-
"0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U\n"
374-
"A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW\n"
375-
"T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH\n"
376-
"B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC\n"
377-
"B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv\n"
378-
"KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn\n"
379-
"OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn\n"
380-
"jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw\n"
381-
"qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI\n"
382-
"rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\n"
383-
"HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq\n"
384-
"hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL\n"
385-
"ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ\n"
386-
"3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK\n"
387-
"NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5\n"
388-
"ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur\n"
389-
"TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC\n"
390-
"jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc\n"
391-
"oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq\n"
392-
"4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA\n"
393-
"mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d\n"
394-
"emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=\n"
395-
"-----END CERTIFICATE-----\n";
396-
#endif

0 commit comments

Comments
 (0)