@@ -1495,6 +1495,9 @@ TEST(hpack, enc_table_index)
1495
1495
TfwHPackNodeIter pl = {};
1496
1496
const TfwHPackNode * node = NULL ;
1497
1497
unsigned short index = 0 ;
1498
+ TfwStr s1_name = {}, s1_val = {};
1499
+ TfwStr s2_name = {}, s2_val = {};
1500
+ TfwStr s3_name = {}, s3_val = {};
1498
1501
1499
1502
#define HDR_NAME_1 "test-custom-header-name"
1500
1503
#define HDR_VALUE_1 "foo test example value"
@@ -1535,6 +1538,10 @@ TEST(hpack, enc_table_index)
1535
1538
collect_compound_str (s3 , s3_value , 0 );
1536
1539
collect_compound_str (s3 , s3_rws , TFW_STR_OWS );
1537
1540
1541
+ tfw_http_hdr_split (s1 , & s1_name , & s1_val , true);
1542
+ tfw_http_hdr_split (s2 , & s2_name , & s2_val , true);
1543
+ tfw_http_hdr_split (s3 , & s3_name , & s3_val , true);
1544
+
1538
1545
tbl = & ctx .hpack .enc_tbl ;
1539
1546
1540
1547
/*
@@ -1544,7 +1551,7 @@ TEST(hpack, enc_table_index)
1544
1551
res = hpack_rbtree_find (tbl , s1 , & node , & pl );
1545
1552
EXPECT_EQ (res , HPACK_IDX_ST_NOT_FOUND );
1546
1553
EXPECT_NULL (node );
1547
- EXPECT_OK (tfw_hpack_add_node (tbl , s1 , & pl , true ));
1554
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s1_name , & s1_val , & pl ));
1548
1555
1549
1556
node = NULL ;
1550
1557
bzero_fast (& pl , sizeof (pl ));
@@ -1553,7 +1560,7 @@ TEST(hpack, enc_table_index)
1553
1560
EXPECT_NULL (node );
1554
1561
EXPECT_NOT_NULL (pl .parent );
1555
1562
if (pl .parent )
1556
- EXPECT_OK (tfw_hpack_add_node (tbl , s2 , & pl , true ));
1563
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s2_name , & s2_val , & pl ));
1557
1564
1558
1565
node = NULL ;
1559
1566
bzero_fast (& pl , sizeof (pl ));
@@ -1562,7 +1569,7 @@ TEST(hpack, enc_table_index)
1562
1569
EXPECT_NULL (node );
1563
1570
EXPECT_NOT_NULL (pl .parent );
1564
1571
if (pl .parent )
1565
- EXPECT_OK (tfw_hpack_add_node (tbl , s3 , & pl , true ));
1572
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s3_name , & s3_val , & pl ));
1566
1573
1567
1574
/*
1568
1575
* Verify that headers had been correctly added into encoder dynamic
@@ -1623,6 +1630,11 @@ TEST(hpack, enc_table_rbtree)
1623
1630
const TfwHPackNode * node = NULL ;
1624
1631
const TfwHPackNode * n1 = NULL , * n2 = NULL , * n3 = NULL ;
1625
1632
const TfwHPackNode * n4 = NULL , * n5 = NULL ;
1633
+ TfwStr s1_name = {}, s1_val = {};
1634
+ TfwStr s2_name = {}, s2_val = {};
1635
+ TfwStr s3_name = {}, s3_val = {};
1636
+ TfwStr s4_name = {}, s4_val = {};
1637
+ TfwStr s5_name = {}, s5_val = {};
1626
1638
1627
1639
#define HDR_NAME_1 "test-custom-name"
1628
1640
#define HDR_VALUE_1 "test-custom-value"
@@ -1658,6 +1670,12 @@ TEST(hpack, enc_table_rbtree)
1658
1670
collect_compound_str (s5 , col , 0 );
1659
1671
collect_compound_str (s5 , s5_value , 0 );
1660
1672
1673
+ tfw_http_hdr_split (s1 , & s1_name , & s1_val , true);
1674
+ tfw_http_hdr_split (s2 , & s2_name , & s2_val , true);
1675
+ tfw_http_hdr_split (s3 , & s3_name , & s3_val , true);
1676
+ tfw_http_hdr_split (s4 , & s4_name , & s4_val , true);
1677
+ tfw_http_hdr_split (s5 , & s5_name , & s5_val , true);
1678
+
1661
1679
tbl = & ctx .hpack .enc_tbl ;
1662
1680
1663
1681
/*
@@ -1681,7 +1699,7 @@ TEST(hpack, enc_table_rbtree)
1681
1699
res = hpack_rbtree_find (tbl , s1 , & node , & pl );
1682
1700
EXPECT_EQ (res , HPACK_IDX_ST_NOT_FOUND );
1683
1701
EXPECT_NULL (node );
1684
- EXPECT_OK (tfw_hpack_add_node (tbl , s1 , & pl , true ));
1702
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s1_name , & s1_val , & pl ));
1685
1703
rbt_validate (tbl );
1686
1704
bzero_fast (& pl , sizeof (pl ));
1687
1705
res = hpack_rbtree_find (tbl , s1 , & n1 , & pl );
@@ -1701,7 +1719,7 @@ TEST(hpack, enc_table_rbtree)
1701
1719
EXPECT_NULL (node );
1702
1720
EXPECT_NOT_NULL (pl .parent );
1703
1721
if (pl .parent ) {
1704
- EXPECT_OK (tfw_hpack_add_node (tbl , s2 , & pl , true ));
1722
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s2_name , & s2_val , & pl ));
1705
1723
rbt_validate (tbl );
1706
1724
}
1707
1725
bzero_fast (& pl , sizeof (pl ));
@@ -1717,7 +1735,7 @@ TEST(hpack, enc_table_rbtree)
1717
1735
EXPECT_NULL (node );
1718
1736
EXPECT_NOT_NULL (pl .parent );
1719
1737
if (pl .parent ) {
1720
- EXPECT_OK (tfw_hpack_add_node (tbl , s3 , & pl , true ));
1738
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s3_name , & s3_val , & pl ));
1721
1739
rbt_validate (tbl );
1722
1740
}
1723
1741
bzero_fast (& pl , sizeof (pl ));
@@ -1766,7 +1784,7 @@ TEST(hpack, enc_table_rbtree)
1766
1784
EXPECT_NULL (node );
1767
1785
EXPECT_NOT_NULL (pl .parent );
1768
1786
if (pl .parent ) {
1769
- EXPECT_OK (tfw_hpack_add_node (tbl , s4 , & pl , true ));
1787
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s4_name , & s4_val , & pl ));
1770
1788
rbt_validate (tbl );
1771
1789
}
1772
1790
bzero_fast (& pl , sizeof (pl ));
@@ -1812,7 +1830,7 @@ TEST(hpack, enc_table_rbtree)
1812
1830
EXPECT_NULL (node );
1813
1831
EXPECT_NOT_NULL (pl .parent );
1814
1832
if (pl .parent ) {
1815
- EXPECT_OK (tfw_hpack_add_node (tbl , s5 , & pl , true ));
1833
+ EXPECT_OK (tfw_hpack_add_node (tbl , & s5_name , & s5_val , & pl ));
1816
1834
rbt_validate (tbl );
1817
1835
}
1818
1836
bzero_fast (& pl , sizeof (pl ));
@@ -1956,6 +1974,8 @@ TEST(hpack, enc_table_eviction)
1956
1974
char long_val [255 ] = "qwertyuiopqwertyuiopqwertyuiopqwertyuiopqwerty"
1957
1975
"uiopqwertyuiopqwertyuiop" ;
1958
1976
const TfwHPackNode * node = NULL ;
1977
+ TfwStr f_name = {}, f_val = {};
1978
+ TfwStr l_name = {}, l_val = {};
1959
1979
1960
1980
TFW_STR (col , ":" );
1961
1981
TFW_STR (f_hdr_val , "first header" );
@@ -1969,12 +1989,16 @@ TEST(hpack, enc_table_eviction)
1969
1989
res = hpack_rbtree_find (tbl , f_hdr , & node , & pl );
1970
1990
EXPECT_EQ (res , HPACK_IDX_ST_NOT_FOUND );
1971
1991
EXPECT_NULL (node );
1972
- EXPECT_OK (tfw_hpack_add_node (tbl , f_hdr , & pl , true));
1992
+
1993
+ tfw_http_hdr_split (f_hdr , & f_name , & f_val , true);
1994
+
1995
+ EXPECT_OK (tfw_hpack_add_node (tbl , & f_name , & f_val , & pl ));
1973
1996
bzero_fast (& pl , sizeof (pl ));
1974
1997
1975
1998
for (;;) {
1976
1999
unsigned long node_size ;
1977
2000
unsigned long new_size ;
2001
+ TfwStr fil_name = {}, fil_val = {};
1978
2002
1979
2003
sprintf (hdr , "Header%i" , i );
1980
2004
@@ -1990,10 +2014,12 @@ TEST(hpack, enc_table_eviction)
1990
2014
if (new_size > tbl -> window )
1991
2015
break ;
1992
2016
2017
+ tfw_http_hdr_split (filler , & fil_name , & fil_val , true);
2018
+
1993
2019
res = hpack_rbtree_find (tbl , filler , & node , & pl );
1994
2020
EXPECT_GT (res , HPACK_IDX_ST_FOUND );
1995
2021
EXPECT_NULL (node );
1996
- EXPECT_OK (tfw_hpack_add_node (tbl , filler , & pl , true ));
2022
+ EXPECT_OK (tfw_hpack_add_node (tbl , & fil_name , & fil_val , & pl ));
1997
2023
bzero_fast (& pl , sizeof (pl ));
1998
2024
bzero_fast (hdr , sizeof (hdr ));
1999
2025
i ++ ;
@@ -2008,10 +2034,12 @@ TEST(hpack, enc_table_eviction)
2008
2034
collect_compound_str (l_hdr , col , 0 );
2009
2035
collect_compound_str (l_hdr , l_hdr_val , 0 );
2010
2036
2037
+ tfw_http_hdr_split (l_hdr , & l_name , & l_val , true);
2038
+
2011
2039
res = hpack_rbtree_find (tbl , l_hdr , & node , & pl );
2012
2040
EXPECT_EQ (res , HPACK_IDX_ST_NOT_FOUND );
2013
2041
EXPECT_NULL (node );
2014
- EXPECT_OK (tfw_hpack_add_node (tbl , l_hdr , & pl , true ));
2042
+ EXPECT_OK (tfw_hpack_add_node (tbl , & l_name , & l_val , & pl ));
2015
2043
bzero_fast (& pl , sizeof (pl ));
2016
2044
2017
2045
/* first header must not present. */
@@ -2021,10 +2049,12 @@ TEST(hpack, enc_table_eviction)
2021
2049
2022
2050
#define ADD_NODE (s , n ) \
2023
2051
do { \
2052
+ TfwStr s_name = {}, s_val = {}; \
2053
+ tfw_http_hdr_split(s, &s_name, &s_val, true); \
2024
2054
res = hpack_rbtree_find(tbl, s, &n, &pl); \
2025
2055
EXPECT_EQ(res, HPACK_IDX_ST_NOT_FOUND); \
2026
2056
EXPECT_NULL(n); \
2027
- EXPECT_OK(tfw_hpack_add_node(tbl, s , &pl, true )); \
2057
+ EXPECT_OK(tfw_hpack_add_node(tbl, &s_name , &s_val, &pl )); \
2028
2058
bzero_fast(&pl, sizeof(pl)); \
2029
2059
res = hpack_rbtree_find(tbl, s, &n, &pl); \
2030
2060
EXPECT_EQ(res, HPACK_IDX_ST_FOUND); \
0 commit comments