@@ -2518,6 +2518,7 @@ class test_ucp_sockaddr_protocols : public test_ucp_sockaddr {
2518
2518
std::string sb (size, ' x' );
2519
2519
std::string rb (size, ' y' );
2520
2520
std::string shdr (hdr_size, ' x' );
2521
+ std::string shdr_copy = shdr;
2521
2522
std::string rhdr (hdr_size, ' y' );
2522
2523
ucp_mem_h smemh (NULL );
2523
2524
ucp_mem_h rmemh (NULL );
@@ -2543,6 +2544,14 @@ class test_ucp_sockaddr_protocols : public test_ucp_sockaddr {
2543
2544
ucs_status_ptr_t sreq = ucp_am_send_nbx (sender ().ep (), 0 ,
2544
2545
&shdr[0 ], hdr_size,
2545
2546
&sb[0 ], size, ¶m);
2547
+ /* First message request triggers connection establishment and
2548
+ * is placed into pending queue.
2549
+ * To check UCP_AM_SEND_FLAG_COPY_HEADER we change AM header
2550
+ * content while the request is still in pending queue.*/
2551
+ if (flags & UCP_AM_SEND_FLAG_COPY_HEADER) {
2552
+ shdr.assign (shdr.size (), ' a' );
2553
+ }
2554
+
2546
2555
request_wait (sreq);
2547
2556
wait_for_flag (&arg.received );
2548
2557
// wait for receive request completion after 'received' flag set to
@@ -2551,7 +2560,7 @@ class test_ucp_sockaddr_protocols : public test_ucp_sockaddr {
2551
2560
EXPECT_TRUE (arg.received );
2552
2561
2553
2562
compare_buffers (sb, rb);
2554
- compare_buffers (shdr , rhdr);
2563
+ compare_buffers (shdr_copy , rhdr);
2555
2564
2556
2565
set_am_data_handler (receiver (), 0 , NULL , NULL );
2557
2566
@@ -2785,28 +2794,27 @@ UCS_TEST_SKIP_COND_P(test_ucp_sockaddr_protocols,
2785
2794
test_am_send_recv (64 * UCS_KBYTE, 0 , 2 , true , true );
2786
2795
}
2787
2796
UCS_TEST_SKIP_COND_P (test_ucp_sockaddr_protocols, am_short_reset,
2788
- RUNNING_ON_VALGRIND, " PROTO_ENABLE=n " , " ZCOPY_THRESH=inf" )
2797
+ RUNNING_ON_VALGRIND, " ZCOPY_THRESH=inf" )
2789
2798
{
2790
2799
test_am_send_recv (16 , 8 , 1 , false , false , UCP_AM_SEND_FLAG_COPY_HEADER);
2791
2800
}
2792
2801
2793
2802
UCS_TEST_SKIP_COND_P (test_ucp_sockaddr_protocols, am_bcopy_reset,
2794
- RUNNING_ON_VALGRIND,
2795
- " PROTO_ENABLE=n" , " ZCOPY_THRESH=inf" )
2803
+ RUNNING_ON_VALGRIND, " ZCOPY_THRESH=inf" )
2796
2804
{
2797
2805
test_am_send_recv (2 * UCS_KBYTE, 8 , 1 , false , false ,
2798
2806
UCP_AM_SEND_FLAG_COPY_HEADER);
2799
2807
}
2800
2808
2801
2809
UCS_TEST_SKIP_COND_P (test_ucp_sockaddr_protocols, am_zcopy_reset,
2802
- RUNNING_ON_VALGRIND, " PROTO_ENABLE=n " )
2810
+ RUNNING_ON_VALGRIND)
2803
2811
{
2804
2812
test_am_send_recv (16 * UCS_KBYTE, 8 , 1 , false , false ,
2805
2813
UCP_AM_SEND_FLAG_COPY_HEADER);
2806
2814
}
2807
2815
2808
2816
UCS_TEST_SKIP_COND_P (test_ucp_sockaddr_protocols, am_rndv_reset,
2809
- RUNNING_ON_VALGRIND, " PROTO_ENABLE=n " , " RNDV_THRESH=0" )
2817
+ RUNNING_ON_VALGRIND, " RNDV_THRESH=0" )
2810
2818
{
2811
2819
test_am_send_recv (16 * UCS_KBYTE, 8 , 1 , false , false ,
2812
2820
UCP_AM_SEND_FLAG_COPY_HEADER);
0 commit comments