From 612d9de23638cf5a183a55d036900055598b3342 Mon Sep 17 00:00:00 2001 From: Yakun Xu Date: Thu, 24 Jan 2019 00:49:27 +0800 Subject: [PATCH] [posix] fix diagnostics for missing diag alarm (#3494) This commit fixes a bug that `alarm.c` misses definition of OPENTHREAD_ENABLE_DIAG for not including `openthread-core-config.h`. This commit adds the `openthread-core-config.h` to every platform sources. Also, this commit enhances the `test_diag.py` to make sure diag can send packets out. --- src/posix/platform/alarm.c | 1 + src/posix/platform/hdlc_interface.cpp | 6 +++--- src/posix/platform/logging.c | 2 +- src/posix/platform/misc.c | 1 + src/posix/platform/netif.cpp | 2 +- src/posix/platform/radio_spinel.cpp | 1 + src/posix/platform/random.c | 5 +++-- src/posix/platform/settings.cpp | 1 + src/posix/platform/sim.c | 1 + src/posix/platform/spi-stubs.c | 1 + src/posix/platform/system.c | 1 + src/posix/platform/uart.c | 1 + src/posix/platform/udp.cpp | 1 + tests/scripts/thread-cert/test_diag.py | 5 ++++- 14 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/posix/platform/alarm.c b/src/posix/platform/alarm.c index 57b61676a..8931bf572 100644 --- a/src/posix/platform/alarm.c +++ b/src/posix/platform/alarm.c @@ -26,6 +26,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/hdlc_interface.cpp b/src/posix/platform/hdlc_interface.cpp index f26ab644a..10596af65 100644 --- a/src/posix/platform/hdlc_interface.cpp +++ b/src/posix/platform/hdlc_interface.cpp @@ -31,10 +31,10 @@ * This file includes the implementation for the HDLC interface to radio (RCP). */ -#include "hdlc_interface.hpp" - +#include "openthread-core-config.h" #include "platform-posix.h" -#include "radio_spinel.hpp" + +#include "hdlc_interface.hpp" #include #include diff --git a/src/posix/platform/logging.c b/src/posix/platform/logging.c index 2f356c542..3cfacf4fc 100644 --- a/src/posix/platform/logging.c +++ b/src/posix/platform/logging.c @@ -26,8 +26,8 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "openthread-core-config.h" #include "platform-posix.h" -#include #include #include diff --git a/src/posix/platform/misc.c b/src/posix/platform/misc.c index dbfd25e23..c7f825727 100644 --- a/src/posix/platform/misc.c +++ b/src/posix/platform/misc.c @@ -26,6 +26,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/netif.cpp b/src/posix/platform/netif.cpp index 0fdf2d4f5..aa7cd195b 100644 --- a/src/posix/platform/netif.cpp +++ b/src/posix/platform/netif.cpp @@ -30,7 +30,7 @@ * @file * This file implements the platform network on Linux. */ - +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/radio_spinel.cpp b/src/posix/platform/radio_spinel.cpp index 53974e1b6..c7cef4db5 100644 --- a/src/posix/platform/radio_spinel.cpp +++ b/src/posix/platform/radio_spinel.cpp @@ -31,6 +31,7 @@ * This file implements the spinel based radio transceiver. */ +#include "openthread-core-config.h" #include "platform-posix.h" #include "radio_spinel.hpp" diff --git a/src/posix/platform/random.c b/src/posix/platform/random.c index b29be5a4a..d5331e6cc 100644 --- a/src/posix/platform/random.c +++ b/src/posix/platform/random.c @@ -32,11 +32,12 @@ * */ +#include "openthread-core-config.h" +#include "platform-posix.h" + #include #include -#include "platform-posix.h" - #include #include "code_utils.h" diff --git a/src/posix/platform/settings.cpp b/src/posix/platform/settings.cpp index a2507fd38..283f655e0 100644 --- a/src/posix/platform/settings.cpp +++ b/src/posix/platform/settings.cpp @@ -32,6 +32,7 @@ * */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/sim.c b/src/posix/platform/sim.c index 86f7bcf26..51e83a8ce 100644 --- a/src/posix/platform/sim.c +++ b/src/posix/platform/sim.c @@ -32,6 +32,7 @@ * This file implements the posix simulation. */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/spi-stubs.c b/src/posix/platform/spi-stubs.c index 0c661bd21..496debb38 100644 --- a/src/posix/platform/spi-stubs.c +++ b/src/posix/platform/spi-stubs.c @@ -32,6 +32,7 @@ * */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/system.c b/src/posix/platform/system.c index 7faea1cef..fb435a573 100644 --- a/src/posix/platform/system.c +++ b/src/posix/platform/system.c @@ -32,6 +32,7 @@ * This file includes the platform-specific initializers. */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/uart.c b/src/posix/platform/uart.c index b52699507..e0d44fe35 100644 --- a/src/posix/platform/uart.c +++ b/src/posix/platform/uart.c @@ -26,6 +26,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/src/posix/platform/udp.cpp b/src/posix/platform/udp.cpp index a4639214a..1f2d15965 100644 --- a/src/posix/platform/udp.cpp +++ b/src/posix/platform/udp.cpp @@ -36,6 +36,7 @@ #define __APPLE_USE_RFC_3542 #endif +#include "openthread-core-config.h" #include "platform-posix.h" #include diff --git a/tests/scripts/thread-cert/test_diag.py b/tests/scripts/thread-cert/test_diag.py index ee5cc799f..4c499cd17 100755 --- a/tests/scripts/thread-cert/test_diag.py +++ b/tests/scripts/thread-cert/test_diag.py @@ -69,8 +69,10 @@ class TestDiag(unittest.TestCase): 'sending 0x14 packet\(s\), length 0x64\r\nstatus 0x00\r\n'), ('diag repeat 100 100\n', 'sending packets of length 0x64 at the delay of 0x64 ms\r\nstatus 0x00\r\n'), + ('diag repeat stop\n', + 'repeated packet transmission is stopped\r\nstatus 0x00\r\n'), ('diag stop\n', - 'received packets: 0\r\nsent packets: (\d+)\r\nfirst received packet: rssi=0, lqi=0\r\n\nstop diagnostics mode\r\nstatus 0x00\r\n'), + 'received packets: 0\r\nsent packets: ([1-9]\d*)\r\nfirst received packet: rssi=0, lqi=0\r\n\nstop diagnostics mode\r\nstatus 0x00\r\n'), ('diag', 'diagnostics mode is disabled\r\n'), ('diag 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32', @@ -79,6 +81,7 @@ class TestDiag(unittest.TestCase): for case in cases: self.node_cli.send_command(case[0]) + self.simulator.go(1) self.node_cli._expect(case[1]) if __name__ == '__main__':