@@ -43,18 +43,18 @@ void test_string() {
43
43
size_t const N = sizeof (S) < 256 ? (4096 / sizeof (S)) : 16 ;
44
44
45
45
{
46
- C d1a (1 ), d1b (N), d1c (N + 1 ), d1d (32 * N);
46
+ C d1a (1 ), d1b (N), d1c (N + 1 ), d1d (5 * N);
47
47
verify_inside (d1a);
48
48
verify_inside (d1b);
49
49
verify_inside (d1c);
50
50
verify_inside (d1d);
51
51
}
52
52
{
53
53
C d2;
54
- for (size_t i = 0 ; i < 16 * N; ++i) {
54
+ for (size_t i = 0 ; i < 3 * N + 2 ; ++i) {
55
55
d2.push_back (get_s<S, 1 >(i % 10 + ' a' ));
56
56
verify_inside (d2);
57
- d2.push_back (get_s<S, 222 >(i % 10 + ' b' ));
57
+ d2.push_back (get_s<S, 22 >(i % 10 + ' b' ));
58
58
verify_inside (d2);
59
59
60
60
d2.pop_front ();
@@ -63,10 +63,10 @@ void test_string() {
63
63
}
64
64
{
65
65
C d3;
66
- for (size_t i = 0 ; i < 16 * N; ++i) {
66
+ for (size_t i = 0 ; i < 3 * N + 2 ; ++i) {
67
67
d3.push_front (get_s<S, 1 >(i % 10 + ' a' ));
68
68
verify_inside (d3);
69
- d3.push_front (get_s<S, 222 >(i % 10 + ' b' ));
69
+ d3.push_front (get_s<S, 28 >(i % 10 + ' b' ));
70
70
verify_inside (d3);
71
71
72
72
d3.pop_back ();
@@ -75,20 +75,20 @@ void test_string() {
75
75
}
76
76
{
77
77
C d4;
78
- for (size_t i = 0 ; i < 16 * N; ++i) {
78
+ for (size_t i = 0 ; i < 3 * N + 2 ; ++i) {
79
79
// When there is no SSO, all elements inside should not be poisoned,
80
80
// so we can verify deque poisoning.
81
- d4.push_front (get_s<S, 333 >(i % 10 + ' a' ));
81
+ d4.push_front (get_s<S, 33 >(i % 10 + ' a' ));
82
82
verify_inside (d4);
83
83
assert (is_double_ended_contiguous_container_asan_correct (d4));
84
- d4.push_back (get_s<S, 222 >(i % 10 + ' b' ));
84
+ d4.push_back (get_s<S, 28 >(i % 10 + ' b' ));
85
85
verify_inside (d4);
86
86
assert (is_double_ended_contiguous_container_asan_correct (d4));
87
87
}
88
88
}
89
89
{
90
90
C d5;
91
- for (size_t i = 0 ; i < 5 * N; ++i) {
91
+ for (size_t i = 0 ; i < 3 * N + 2 ; ++i) {
92
92
// In d4 we never had poisoned memory inside deque.
93
93
// Here we start with SSO, so part of the inside of the container,
94
94
// will be poisoned.
@@ -98,7 +98,7 @@ void test_string() {
98
98
for (size_t i = 0 ; i < d5.size (); ++i) {
99
99
// We change the size to have long string.
100
100
// Memory owne by deque should not be poisoned by string.
101
- d5[i].resize (1000 );
101
+ d5[i].resize (100 );
102
102
verify_inside (d5);
103
103
}
104
104
@@ -116,14 +116,14 @@ void test_string() {
116
116
C d6a;
117
117
assert (is_double_ended_contiguous_container_asan_correct (d6a));
118
118
119
- C d6b (N + 2 , get_s<S, 1000 >(' a' ));
120
- d6b.push_front (get_s<S, 1001 >(' b' ));
119
+ C d6b (N + 2 , get_s<S, 100 >(' a' ));
120
+ d6b.push_front (get_s<S, 101 >(' b' ));
121
121
while (!d6b.empty ()) {
122
122
d6b.pop_back ();
123
123
assert (is_double_ended_contiguous_container_asan_correct (d6b));
124
124
}
125
125
126
- C d6c (N + 2 , get_s<S, 1002 >(' c' ));
126
+ C d6c (N + 2 , get_s<S, 102 >(' c' ));
127
127
while (!d6c.empty ()) {
128
128
d6c.pop_back ();
129
129
assert (is_double_ended_contiguous_container_asan_correct (d6c));
0 commit comments