10
10
//
11
11
// ===----------------------------------------------------------------------===//
12
12
13
+ #define DEBUG_TYPE " swift-blot-map-vector-test"
13
14
#include " swift/Basic/BlotMapVector.h"
14
15
#include " swift/Basic/LLVM.h"
15
16
#include " swift/Basic/Lazy.h"
19
20
#include " llvm/ADT/StringExtras.h"
20
21
#include " llvm/ADT/STLExtras.h"
21
22
#include " llvm/Support/raw_ostream.h"
23
+ #include " llvm/Support/Debug.h"
22
24
#include " gtest/gtest.h"
23
25
#include < map>
24
26
#include < set>
@@ -93,31 +95,31 @@ class CtorTester {
93
95
94
96
CtorTester () : Value(new int (-1 )) {
95
97
dump (" Constructing ()" );
96
- llvm::outs () << " \n " ;
98
+ DEBUG ( llvm::errs () << " \n " ) ;
97
99
// EXPECT_TRUE(ConstructedTesters->insert(this));
98
100
assert (!isLive ());
99
101
fflush (stdout);
100
102
}
101
103
102
104
explicit CtorTester (EmptyTester) : Value(new int (-2 )) {
103
105
dump (" Constructing Empty" );
104
- llvm::outs () << " \n " ;
106
+ DEBUG ( llvm::errs () << " \n " ) ;
105
107
// EXPECT_TRUE(ConstructedTesters->insert(this));
106
108
assert (!isLive ());
107
109
fflush (stdout);
108
110
}
109
111
110
112
explicit CtorTester (TombstoneTester) : Value(new int (-3 )) {
111
113
dump (" Constructing Tombstone" );
112
- llvm::outs () << " \n " ;
114
+ DEBUG ( llvm::errs () << " \n " ) ;
113
115
// EXPECT_TRUE(ConstructedTesters->insert(this));
114
116
assert (!isLive ());
115
117
fflush (stdout);
116
118
}
117
119
118
120
explicit CtorTester (int V) : Value(new int (V)) {
119
121
dump (" Constructing Normal" );
120
- llvm::outs () << " \n " ;
122
+ DEBUG ( llvm::errs () << " \n " ) ;
121
123
EXPECT_TRUE (ConstructedTesters->insert (this ));
122
124
assert (!isIgnorableTester ());
123
125
assert (isLive ());
@@ -126,7 +128,7 @@ class CtorTester {
126
128
127
129
explicit CtorTester (uint32_t V) : Value(new int (V)) {
128
130
dump (" Constructing Normal" );
129
- llvm::outs () << " \n " ;
131
+ DEBUG ( llvm::errs () << " \n " ) ;
130
132
EXPECT_TRUE (ConstructedTesters->insert (this ));
131
133
assert (!isIgnorableTester ());
132
134
assert (isLive ());
@@ -136,7 +138,7 @@ class CtorTester {
136
138
CtorTester (const CtorTester &Arg) : Value(new int (*Arg.Value.get())) {
137
139
dump (" CopyConstructing" );
138
140
Arg.dump (" From" );
139
- llvm::outs () << " \n " ;
141
+ DEBUG ( llvm::errs () << " \n " ) ;
140
142
if (!Arg.isIgnorableTester ()) {
141
143
EXPECT_TRUE (ConstructedTesters->insert (this ));
142
144
fflush (stdout);
@@ -146,7 +148,7 @@ class CtorTester {
146
148
CtorTester (CtorTester &&Arg) : Value(new int (-1 )) {
147
149
dump (" Operator Move Constructor" );
148
150
Arg.dump (" From" );
149
- llvm::outs () << " \n " ;
151
+ DEBUG ( llvm::errs () << " \n " ) ;
150
152
assert (Value);
151
153
assert (Arg.Value );
152
154
// If Arg is not ignorable, it will be now and we will not be.
@@ -155,13 +157,13 @@ class CtorTester {
155
157
EXPECT_EQ (1u , ConstructedTesters->erase (&Arg));
156
158
}
157
159
std::swap (Value, Arg.Value );
158
- fflush (stdout);
160
+ DEBUG ( fflush (stdout) );
159
161
}
160
162
161
163
CtorTester &operator =(const CtorTester &Arg) {
162
164
dump (" Operator Copy Assignment" );
163
165
Arg.dump (" From" );
164
- llvm::outs () << " \n " ;
166
+ DEBUG ( llvm::errs () << " \n " ) ;
165
167
assert (Value);
166
168
assert (Arg.Value );
167
169
@@ -178,7 +180,7 @@ class CtorTester {
178
180
CtorTester &operator =(CtorTester &&Arg) {
179
181
dump (" Operator Move Assignment" );
180
182
Arg.dump (" From" );
181
- llvm::outs () << " \n " ;
183
+ DEBUG ( llvm::errs () << " \n " ) ;
182
184
assert (Value);
183
185
assert (Arg.Value );
184
186
if (!Arg.isIgnorableTester () && isIgnorableTester ()) {
@@ -190,14 +192,14 @@ class CtorTester {
190
192
}
191
193
192
194
std::swap (Value, Arg.Value );
193
- fflush (stdout);
195
+ DEBUG ( fflush (stdout) );
194
196
return *this ;
195
197
}
196
198
197
199
~CtorTester () {
198
200
bool IsIgnorable = isIgnorableTester ();
199
201
dump (" Destroying" );
200
- llvm::outs () << " \n " ;
202
+ DEBUG ( llvm::errs () << " \n " ) ;
201
203
delete Value.get ();
202
204
Value = nullptr ;
203
205
fflush (stdout);
@@ -224,9 +226,9 @@ class CtorTester {
224
226
Addr += llvm::utohexstr (uintptr_t (this ));
225
227
std::string ValueAddr = " 0x" ;
226
228
ValueAddr += llvm::utohexstr (uintptr_t (Value.get ()));
227
- llvm::outs () << Name << " <Tester Addr:" << Addr
228
- << " ValueAddr:" << ValueAddr << " Value:" << *Value.get ()
229
- << " >" ;
229
+ DEBUG ( llvm::errs () << Name << " <Tester Addr:" << Addr
230
+ << " ValueAddr:" << ValueAddr << " Value:" << *Value.get ()
231
+ << " >" ) ;
230
232
}
231
233
};
232
234
@@ -236,7 +238,7 @@ void CtorTesterSet::dumpLiveTesters() const {
236
238
continue ;
237
239
llvm::SmallString<64 > Hex;
238
240
std::string Addr = llvm::utohexstr (uintptr_t (Tester));
239
- llvm::outs () << " <Tester Addr:" << Addr << " Value:" << Tester->getValue ()
241
+ llvm::errs () << " <Tester Addr:" << Addr << " Value:" << Tester->getValue ()
240
242
<< " >\n " ;
241
243
}
242
244
}
@@ -331,7 +333,7 @@ template <typename T> class BlotMapVectorTest : public ::testing::Test {
331
333
332
334
~BlotMapVectorTest () override {
333
335
ConstructedTesters->verifyTesters ();
334
- llvm::outs () << " Destroying Fixture\n " ;
336
+ DEBUG ( llvm::errs () << " Destroying Fixture\n " ) ;
335
337
ConstructedTesters->finalize ();
336
338
}
337
339
0 commit comments