From 65b1a9648d740f1615277d7fc4cc2e338c6667ab Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Mon, 23 Aug 2021 16:45:46 -0400 Subject: [PATCH] Tools/HIL/run_nsh_cmd.py: fail if ERROR printed in output --- .ci/Jenkinsfile-hardware | 8 ++++---- Tools/HIL/nsh_param_set.py | 2 +- Tools/HIL/run_nsh_cmd.py | 8 +++++++- Tools/HIL/run_tests.py | 2 +- platforms/common/uORB/uORB_tests/uORBTest_UnitTest.cpp | 2 +- src/modules/mavlink/mavlink_ftp.cpp | 2 +- 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.ci/Jenkinsfile-hardware b/.ci/Jenkinsfile-hardware index 848cd0394b..5824a46489 100644 --- a/.ci/Jenkinsfile-hardware +++ b/.ci/Jenkinsfile-hardware @@ -398,7 +398,7 @@ pipeline { steps { sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"' - sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests" || true' + sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true' } } @@ -543,7 +543,7 @@ pipeline { steps { sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"' - sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests" || true' + sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true' } } @@ -861,12 +861,12 @@ void runTests() { sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "top once"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "work_queue status"' - sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander_tests"' + sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "commander_tests" || true' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "controllib_test"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "lightware_laser_test"' sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "mavlink_tests" || true' // TODO sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests"' - sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test"' + sh './Tools/HIL/run_nsh_cmd.py --device `find /dev/serial -name *usb-*` --cmd "uorb_tests latency_test" || true' sh './Tools/HIL/run_tests.py --device `find /dev/serial -name *usb-*`' diff --git a/Tools/HIL/nsh_param_set.py b/Tools/HIL/nsh_param_set.py index 24871295b1..72aea7ab5d 100755 --- a/Tools/HIL/nsh_param_set.py +++ b/Tools/HIL/nsh_param_set.py @@ -35,7 +35,7 @@ def do_param_set_cmd(port, baudrate, param_name, param_value): ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.1, xonxoff=True, rtscts=False, dsrdtr=False) timeout_start = time.time() - timeout = 10 # 10 seconds + timeout = 30 # 30 seconds # wait for nsh prompt while True: diff --git a/Tools/HIL/run_nsh_cmd.py b/Tools/HIL/run_nsh_cmd.py index faede85a26..5534e7d326 100755 --- a/Tools/HIL/run_nsh_cmd.py +++ b/Tools/HIL/run_nsh_cmd.py @@ -37,7 +37,7 @@ def do_nsh_cmd(port, baudrate, cmd): ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.2, xonxoff=True, rtscts=False, dsrdtr=False) timeout_start = time.time() - timeout = 10 # 10 seconds + timeout = 30 # 30 seconds # wait for nsh prompt while True: @@ -90,13 +90,19 @@ def do_nsh_cmd(port, baudrate, cmd): timeout_start = time.time() timeout = 180 # 3 minutes + return_code = 0 + while True: serial_line = ser.readline().decode("ascii", errors='ignore') if success_cmd in serial_line: + sys.exit(return_code) break else: if len(serial_line) > 0: + if "ERROR " in serial_line: + return_code = -1 + print_line(serial_line) if "nsh>" in serial_line: diff --git a/Tools/HIL/run_tests.py b/Tools/HIL/run_tests.py index f8312ab1ed..4682c25c31 100755 --- a/Tools/HIL/run_tests.py +++ b/Tools/HIL/run_tests.py @@ -39,7 +39,7 @@ def do_test(port, baudrate, test_name): ser = serial.Serial(port, baudrate, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=0.2, xonxoff=True, rtscts=False, dsrdtr=False) timeout_start = time.time() - timeout = 10 # 10 seconds + timeout = 30 # 30 seconds # wait for nsh prompt while True: diff --git a/platforms/common/uORB/uORB_tests/uORBTest_UnitTest.cpp b/platforms/common/uORB/uORB_tests/uORBTest_UnitTest.cpp index 531808fcb7..bffb2685b6 100644 --- a/platforms/common/uORB/uORB_tests/uORBTest_UnitTest.cpp +++ b/platforms/common/uORB/uORB_tests/uORBTest_UnitTest.cpp @@ -796,7 +796,7 @@ int uORBTest::UnitTest::test_SubscriptionMulti() if (sub.get_last_generation() != last_gen + 1) { //return test_fail("sub %d generation should be %d + 1, but it's %d", sub_instance, last_gen, sub.get_last_generation()); - PX4_ERR("sub %d generation should be %d + 1, but it's %d", sub_instance, last_gen, sub.get_last_generation()); + PX4_WARN("sub %d generation should be %d + 1, but it's %d", sub_instance, last_gen, sub.get_last_generation()); } } } diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp index 10062f7401..b45445d612 100644 --- a/src/modules/mavlink/mavlink_ftp.cpp +++ b/src/modules/mavlink/mavlink_ftp.cpp @@ -560,7 +560,7 @@ MavlinkFTP::_workRead(PayloadHeader *payload) // We have to test seek past EOF ourselves, lseek will allow seek past EOF if (payload->offset >= _session_info.file_size) { - PX4_ERR("request past EOF"); + PX4_WARN("request past EOF"); return kErrEOF; }