From d69c8cf9ca7035de60acaf18054d03bccdf36756 Mon Sep 17 00:00:00 2001 From: Stéphane Raimbault Date: Tue, 21 Oct 2014 08:58:22 +0200 Subject: [PATCH] Fix too low response timeouts in unit tests --- tests/unit-test-client.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/unit-test-client.c b/tests/unit-test-client.c index 0bb0900..2861b03 100644 --- a/tests/unit-test-client.c +++ b/tests/unit-test-client.c @@ -746,6 +746,16 @@ int send_crafted_request(modbus_t *ctx, int function, const int EXCEPTION_RC = 2; uint8_t rsp[MODBUS_TCP_MAX_ADU_LENGTH]; int j; + uint32_t old_response_to_sec; + uint32_t old_response_to_usec; + + /* This requests can generate flushes server side so we need a higher + * response timeout than the server. The server uses the defined response + * timeout to sleep before flushing. + * The old timeouts are restored at the end. + */ + modbus_get_response_timeout(ctx, &old_response_to_sec, &old_response_to_usec); + modbus_set_response_timeout(ctx, 0, 600000); for (j=0; j<2; j++) { int rc; @@ -781,8 +791,9 @@ int send_crafted_request(modbus_t *ctx, int function, rsp[backend_offset] == (0x80 + function) && rsp[backend_offset + 1] == MODBUS_EXCEPTION_ILLEGAL_DATA_VALUE, ""); } - + modbus_set_response_timeout(ctx, old_response_to_sec, old_response_to_usec); return 0; close: + modbus_set_response_timeout(ctx, old_response_to_sec, old_response_to_usec); return -1; } -- libgit2 0.21.4