Skip to content

Commit 453aafc

Browse files
committed
Revisit the tests and ensure they have the right thresholds to test what they intended to test
Some tests were dropped because they only make sense to test if the given configuration is not disabled.
1 parent 40dbfee commit 453aafc

File tree

1 file changed

+18
-39
lines changed

1 file changed

+18
-39
lines changed

clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp

Lines changed: 18 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,15 @@ TEST_F(LimitedZ3CrosscheckOracleTest, AcceptsSAT) {
8989

9090
TEST_F(DefaultZ3CrosscheckOracleTest, SATWhenItGoesOverTime) {
9191
// Even if it times out, if it is SAT, we should accept it.
92-
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 310_ms, 1000_step}));
92+
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 15'010_ms, 1000_step}));
9393
}
9494
TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenItGoesOverTime) {
9595
// Even if it times out, if it is SAT, we should accept it.
9696
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 310_ms, 1000_step}));
9797
}
9898

9999
TEST_F(DefaultZ3CrosscheckOracleTest, UNSATWhenItGoesOverTime) {
100-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 310_ms, 1000_step}));
100+
ASSERT_EQ(RejectEQClass, interpretQueryResult({UNSAT, 15'010_ms, 1000_step}));
101101
}
102102
TEST_F(LimitedZ3CrosscheckOracleTest, UNSATWhenItGoesOverTime) {
103103
ASSERT_EQ(RejectEQClass, interpretQueryResult({UNSAT, 310_ms, 1000_step}));
@@ -106,7 +106,7 @@ TEST_F(LimitedZ3CrosscheckOracleTest, UNSATWhenItGoesOverTime) {
106106
TEST_F(DefaultZ3CrosscheckOracleTest, RejectsTimeout) {
107107
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
108108
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
109-
ASSERT_EQ(RejectReport, interpretQueryResult({UNDEF, 310_ms, 1000_step}));
109+
ASSERT_EQ(RejectEQClass, interpretQueryResult({UNDEF, 15'010_ms, 1000_step}));
110110
}
111111
TEST_F(LimitedZ3CrosscheckOracleTest, RejectsTimeout) {
112112
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
@@ -132,9 +132,9 @@ TEST_F(LimitedZ3CrosscheckOracleTest, RejectsUNSATs) {
132132

133133
TEST_F(DefaultZ3CrosscheckOracleTest, RejectEQClassIfSpendsTooMuchTotalTime) {
134134
// Simulate long queries, that barely doesn't trigger the timeout.
135-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 290_ms, 1000_step}));
136-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 290_ms, 1000_step}));
137-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 290_ms, 1000_step}));
135+
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 14'990_ms, 1000_step}));
136+
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 14'990_ms, 1000_step}));
137+
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 14'990_ms, 1000_step}));
138138
}
139139
TEST_F(LimitedZ3CrosscheckOracleTest, RejectEQClassIfSpendsTooMuchTotalTime) {
140140
// Simulate long queries, that barely doesn't trigger the timeout.
@@ -145,9 +145,9 @@ TEST_F(LimitedZ3CrosscheckOracleTest, RejectEQClassIfSpendsTooMuchTotalTime) {
145145

146146
TEST_F(DefaultZ3CrosscheckOracleTest, SATWhenItSpendsTooMuchTotalTime) {
147147
// Simulate long queries, that barely doesn't trigger the timeout.
148-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 290_ms, 1000_step}));
149-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 290_ms, 1000_step}));
150-
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 290_ms, 1000_step}));
148+
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 14'990_ms, 1000_step}));
149+
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 14'990_ms, 1000_step}));
150+
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 14'990_ms, 1000_step}));
151151
}
152152
TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenItSpendsTooMuchTotalTime) {
153153
// Simulate long queries, that barely doesn't trigger the timeout.
@@ -156,15 +156,8 @@ TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenItSpendsTooMuchTotalTime) {
156156
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 290_ms, 1000_step}));
157157
}
158158

159-
TEST_F(DefaultZ3CrosscheckOracleTest, RejectEQClassIfAttemptsManySmallQueries) {
160-
// Simulate quick, but many queries: 35 quick UNSAT queries.
161-
// 35*20ms = 700ms, which is equal to the 700ms threshold.
162-
for (int i = 0; i < 35; ++i) {
163-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 20_ms, 1000_step}));
164-
}
165-
// Do one more to trigger the heuristic.
166-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 1_ms, 1000_step}));
167-
}
159+
// Z3CrosscheckEQClassTimeoutThreshold is disabled in default configuration, so
160+
// it doesn't make sense to test that.
168161
TEST_F(LimitedZ3CrosscheckOracleTest, RejectEQClassIfAttemptsManySmallQueries) {
169162
// Simulate quick, but many queries: 35 quick UNSAT queries.
170163
// 35*20ms = 700ms, which is equal to the 700ms threshold.
@@ -175,17 +168,9 @@ TEST_F(LimitedZ3CrosscheckOracleTest, RejectEQClassIfAttemptsManySmallQueries) {
175168
ASSERT_EQ(RejectEQClass, interpretQueryResult({UNSAT, 1_ms, 1000_step}));
176169
}
177170

178-
TEST_F(DefaultZ3CrosscheckOracleTest, SATWhenIfAttemptsManySmallQueries) {
179-
// Simulate quick, but many queries: 35 quick UNSAT queries.
180-
// 35*20ms = 700ms, which is equal to the 700ms threshold.
181-
for (int i = 0; i < 35; ++i) {
182-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 20_ms, 1000_step}));
183-
}
184-
// Do one more to trigger the heuristic, but given this was SAT, we still
185-
// accept the query.
186-
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 200_ms, 1000_step}));
187-
}
188-
TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenIfAttemptsManySmallQueries) {
171+
// Z3CrosscheckEQClassTimeoutThreshold is disabled in default configuration, so
172+
// it doesn't make sense to test that.
173+
TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenItAttemptsManySmallQueries) {
189174
// Simulate quick, but many queries: 35 quick UNSAT queries.
190175
// 35*20ms = 700ms, which is equal to the 700ms threshold.
191176
for (int i = 0; i < 35; ++i) {
@@ -196,22 +181,16 @@ TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenIfAttemptsManySmallQueries) {
196181
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 200_ms, 1000_step}));
197182
}
198183

199-
TEST_F(DefaultZ3CrosscheckOracleTest, RejectEQClassIfExhaustsRLimit) {
200-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
201-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
202-
ASSERT_EQ(RejectReport, interpretQueryResult({UNDEF, 25_ms, 405'000_step}));
203-
}
184+
// Z3CrosscheckRLimitThreshold is disabled in default configuration, so it
185+
// doesn't make sense to test that.
204186
TEST_F(LimitedZ3CrosscheckOracleTest, RejectEQClassIfExhaustsRLimit) {
205187
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
206188
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
207189
ASSERT_EQ(RejectEQClass, interpretQueryResult({UNDEF, 25_ms, 405'000_step}));
208190
}
209191

210-
TEST_F(DefaultZ3CrosscheckOracleTest, SATWhenItExhaustsRLimit) {
211-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
212-
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
213-
ASSERT_EQ(AcceptReport, interpretQueryResult({SAT, 25_ms, 405'000_step}));
214-
}
192+
// Z3CrosscheckRLimitThreshold is disabled in default configuration, so it
193+
// doesn't make sense to test that.
215194
TEST_F(LimitedZ3CrosscheckOracleTest, SATWhenItExhaustsRLimit) {
216195
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));
217196
ASSERT_EQ(RejectReport, interpretQueryResult({UNSAT, 25_ms, 1000_step}));

0 commit comments

Comments
 (0)