Skip to content

Commit fa3b7dc

Browse files
author
Advenam Tacet
committed
Speed up ASan tests
This commit lowers values in `std::vector` integration tests to as good as previous ones, but faster. One test caused a problem with buildbots: https://lab.llvm.org/buildbot/#/builders/168/builds/18126/steps/11/logs/stdio
1 parent 615b747 commit fa3b7dc

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

libcxx/test/libcxx/containers/strings/basic.string/asan_deque_integration.pass.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,18 @@ void test_string() {
4343
size_t const N = sizeof(S) < 256 ? (4096 / sizeof(S)) : 16;
4444

4545
{
46-
C d1a(1), d1b(N), d1c(N + 1), d1d(32 * N);
46+
C d1a(1), d1b(N), d1c(N + 1), d1d(5 * N);
4747
verify_inside(d1a);
4848
verify_inside(d1b);
4949
verify_inside(d1c);
5050
verify_inside(d1d);
5151
}
5252
{
5353
C d2;
54-
for (size_t i = 0; i < 16 * N; ++i) {
54+
for (size_t i = 0; i < 3 * N + 2; ++i) {
5555
d2.push_back(get_s<S, 1>(i % 10 + 'a'));
5656
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'));
5858
verify_inside(d2);
5959

6060
d2.pop_front();
@@ -63,10 +63,10 @@ void test_string() {
6363
}
6464
{
6565
C d3;
66-
for (size_t i = 0; i < 16 * N; ++i) {
66+
for (size_t i = 0; i < 3 * N + 2; ++i) {
6767
d3.push_front(get_s<S, 1>(i % 10 + 'a'));
6868
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'));
7070
verify_inside(d3);
7171

7272
d3.pop_back();
@@ -75,20 +75,20 @@ void test_string() {
7575
}
7676
{
7777
C d4;
78-
for (size_t i = 0; i < 16 * N; ++i) {
78+
for (size_t i = 0; i < 3 * N + 2; ++i) {
7979
// When there is no SSO, all elements inside should not be poisoned,
8080
// 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'));
8282
verify_inside(d4);
8383
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'));
8585
verify_inside(d4);
8686
assert(is_double_ended_contiguous_container_asan_correct(d4));
8787
}
8888
}
8989
{
9090
C d5;
91-
for (size_t i = 0; i < 5 * N; ++i) {
91+
for (size_t i = 0; i < 3 * N + 2; ++i) {
9292
// In d4 we never had poisoned memory inside deque.
9393
// Here we start with SSO, so part of the inside of the container,
9494
// will be poisoned.
@@ -98,7 +98,7 @@ void test_string() {
9898
for (size_t i = 0; i < d5.size(); ++i) {
9999
// We change the size to have long string.
100100
// Memory owne by deque should not be poisoned by string.
101-
d5[i].resize(1000);
101+
d5[i].resize(100);
102102
verify_inside(d5);
103103
}
104104

@@ -116,14 +116,14 @@ void test_string() {
116116
C d6a;
117117
assert(is_double_ended_contiguous_container_asan_correct(d6a));
118118

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'));
121121
while (!d6b.empty()) {
122122
d6b.pop_back();
123123
assert(is_double_ended_contiguous_container_asan_correct(d6b));
124124
}
125125

126-
C d6c(N + 2, get_s<S, 1002>('c'));
126+
C d6c(N + 2, get_s<S, 102>('c'));
127127
while (!d6c.empty()) {
128128
d6c.pop_back();
129129
assert(is_double_ended_contiguous_container_asan_correct(d6c));

libcxx/test/libcxx/containers/strings/basic.string/asan_vector_integration.pass.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,18 +43,18 @@ void test_string() {
4343
size_t const N = sizeof(S) < 256 ? (4096 / sizeof(S)) : 16;
4444

4545
{
46-
C d1a(1), d1b(N), d1c(N + 1), d1d(32 * N);
46+
C d1a(1), d1b(N), d1c(N + 1), d1d(5 * N);
4747
verify_inside(d1a);
4848
verify_inside(d1b);
4949
verify_inside(d1c);
5050
verify_inside(d1d);
5151
}
5252
{
5353
C d2;
54-
for (size_t i = 0; i < 16 * N; ++i) {
54+
for (size_t i = 0; i < 3 * N + 2; ++i) {
5555
d2.push_back(get_s<S, 1>(i % 10 + 'a'));
5656
verify_inside(d2);
57-
d2.push_back(get_s<S, 222>(i % 10 + 'b'));
57+
d2.push_back(get_s<S, 28>(i % 10 + 'b'));
5858
verify_inside(d2);
5959

6060
d2.erase(d2.cbegin());
@@ -63,10 +63,10 @@ void test_string() {
6363
}
6464
{
6565
C d3;
66-
for (size_t i = 0; i < 16 * N; ++i) {
66+
for (size_t i = 0; i < 3 * N + 2; ++i) {
6767
d3.push_back(get_s<S, 1>(i % 10 + 'a'));
6868
verify_inside(d3);
69-
d3.push_back(get_s<S, 222>(i % 10 + 'b'));
69+
d3.push_back(get_s<S, 28>(i % 10 + 'b'));
7070
verify_inside(d3);
7171

7272
d3.pop_back();
@@ -75,20 +75,20 @@ void test_string() {
7575
}
7676
{
7777
C d4;
78-
for (size_t i = 0; i < 16 * N; ++i) {
78+
for (size_t i = 0; i < 3 * N + 2; ++i) {
7979
// When there is no SSO, all elements inside should not be poisoned,
8080
// so we can verify vector poisoning.
81-
d4.push_back(get_s<S, 333>(i % 10 + 'a'));
81+
d4.push_back(get_s<S, 33>(i % 10 + 'a'));
8282
verify_inside(d4);
8383
assert(is_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'));
8585
verify_inside(d4);
8686
assert(is_contiguous_container_asan_correct(d4));
8787
}
8888
}
8989
{
9090
C d5;
91-
for (size_t i = 0; i < 5 * N; ++i) {
91+
for (size_t i = 0; i < 3 * N + 2; ++i) {
9292
// In d4 we never had poisoned memory inside vector.
9393
// Here we start with SSO, so part of the inside of the container,
9494
// will be poisoned.
@@ -98,7 +98,7 @@ void test_string() {
9898
for (size_t i = 0; i < d5.size(); ++i) {
9999
// We change the size to have long string.
100100
// Memory owne by vector should not be poisoned by string.
101-
d5[i].resize(1000);
101+
d5[i].resize(100);
102102
verify_inside(d5);
103103
}
104104

@@ -116,14 +116,14 @@ void test_string() {
116116
C d6a;
117117
assert(is_contiguous_container_asan_correct(d6a));
118118

119-
C d6b(N + 2, get_s<S, 1000>('a'));
120-
d6b.push_back(get_s<S, 1001>('b'));
119+
C d6b(N + 2, get_s<S, 100>('a'));
120+
d6b.push_back(get_s<S, 101>('b'));
121121
while (!d6b.empty()) {
122122
d6b.pop_back();
123123
assert(is_contiguous_container_asan_correct(d6b));
124124
}
125125

126-
C d6c(N + 2, get_s<S, 1002>('c'));
126+
C d6c(N + 2, get_s<S, 102>('c'));
127127
while (!d6c.empty()) {
128128
d6c.pop_back();
129129
assert(is_contiguous_container_asan_correct(d6c));

0 commit comments

Comments
 (0)