transport: test: Pass time to trigger pldm_transport_poll(..., 0)

The test transport uses a timerfd to implement latency when required,
but also to indicate readiness when latency hasn't been specified. The
implementation for immediate readiness is a bit of a hack, as it just
sets an exceptionally short timer period (1ns). However, intermittently
it appears this 1ns expiry is not exceeded by the time we test the fd
state via poll().

To resolve that issue, ensure we've waited twice the timer expiry
period.

Also fix a subsequent segfault when the readiness test fails. The
memcmp(msg, ...) invocation must be protected by a prior `ASSERT_EQ()`
as the msg pointer may not be valid if the result is not
PLDM_REQUESTER_SUCCESS (execution is allowed to proceed if an EXPECT_*()
condition fails).

Prior to the fix the failure was often triggered at least once with the
following invocation:

```
meson test -C build --repeat 10 --test-args="--gtest_filter=Transport.send_recv_drain_one_unwanted" transport
```

After the fix, increasing the repeat count up to 100 failed to reproduce
the failure.

Fixes: f56e4dcd2545 ("transport: free un-wanted responses in pldm_transport_send_recv_msg()")
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: If67c58f5c7f06ce76d24b8c6b9430ae080d83441
diff --git a/tests/transport.cpp b/tests/transport.cpp
index fcf2d0a..83f0a34 100644
--- a/tests/transport.cpp
+++ b/tests/transport.cpp
@@ -255,13 +255,13 @@
     struct pldm_transport_test* test = NULL;
     struct pldm_transport* ctx;
     size_t len;
-    void* msg;
+    void* msg = NULL;
     int rc;
 
     EXPECT_EQ(pldm_transport_test_init(&test, seq, ARRAY_SIZE(seq)), 0);
     ctx = pldm_transport_test_core(test);
     rc = pldm_transport_send_recv_msg(ctx, 1, req, sizeof(req), &msg, &len);
-    EXPECT_EQ(rc, PLDM_SUCCESS);
+    ASSERT_EQ(rc, PLDM_REQUESTER_SUCCESS);
     EXPECT_NE(memcmp(msg, unwanted, len), 0);
     EXPECT_EQ(memcmp(msg, resp, len), 0);
     free(msg);