Skip to content

Commit 6639739

Browse files
committed
Fix the reporting of the issued queries count when using the composite test oracle
1 parent b30d85f commit 6639739

10 files changed

Lines changed: 16 additions & 10 deletions

File tree

src/sqlancer/CompositeTestOracle.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,22 @@
66
public class CompositeTestOracle implements TestOracle {
77

88
private final TestOracle[] oracles;
9+
private final GlobalState<?, ?> globalState;
910
private int i;
1011

11-
public CompositeTestOracle(List<TestOracle> oracles) {
12+
public CompositeTestOracle(List<TestOracle> oracles, GlobalState<?, ?> globalState) {
13+
this.globalState = globalState;
1214
this.oracles = oracles.toArray(new TestOracle[oracles.size()]);
1315
}
1416

1517
@Override
1618
public void check() throws SQLException {
1719
try {
1820
oracles[i].check();
21+
boolean lastOracleIndex = i == oracles.length - 1;
22+
if (!lastOracleIndex) {
23+
globalState.getManager().incrementSelectQueryCount();
24+
}
1925
} finally {
2026
i = (i + 1) % oracles.length;
2127
}

src/sqlancer/clickhouse/ClickHouseProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ protected TestOracle getTestOracle(ClickHouseGlobalState globalState) throws SQL
111111
throw new AssertionError(e1);
112112
}
113113
}).collect(Collectors.toList());
114-
return new CompositeTestOracle(oracles);
114+
return new CompositeTestOracle(oracles, globalState);
115115
}
116116

117117
@Override

src/sqlancer/cockroachdb/CockroachDBOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public TestOracle create(CockroachDBGlobalState globalState) throws SQLException
8686
oracles.add(new CockroachDBTLPGroupByOracle(globalState));
8787
oracles.add(new CockroachDBTLPExtendedWhereOracle(globalState));
8888
oracles.add(new CockroachDBTLPDistinctOracle(globalState));
89-
return new CompositeTestOracle(oracles);
89+
return new CompositeTestOracle(oracles, globalState);
9090
}
9191
};
9292

src/sqlancer/duckdb/DuckDBOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public TestOracle create(DuckDBGlobalState globalState) throws SQLException {
140140
oracles.add(new DuckDBQueryPartitioningAggregateTester(globalState));
141141
oracles.add(new DuckDBQueryPartitioningDistinctTester(globalState));
142142
oracles.add(new DuckDBQueryPartitioningGroupByTester(globalState));
143-
return new CompositeTestOracle(oracles);
143+
return new CompositeTestOracle(oracles, globalState);
144144
}
145145
};
146146

src/sqlancer/duckdb/DuckDBProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ protected TestOracle getTestOracle(DuckDBGlobalState globalState) throws SQLExce
127127
} catch (SQLException e1) {
128128
throw new AssertionError(e1);
129129
}
130-
}).collect(Collectors.toList()));
130+
}).collect(Collectors.toList()), globalState);
131131
}
132132

133133
@Override

src/sqlancer/postgres/PostgresOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public TestOracle create(PostgresGlobalState globalState) throws SQLException {
5959
oracles.add(new PostgresTLPWhereOracle(globalState));
6060
oracles.add(new PostgresTLPHavingOracle(globalState));
6161
oracles.add(new PostgresTLPAggregateOracle(globalState));
62-
return new CompositeTestOracle(oracles);
62+
return new CompositeTestOracle(oracles, globalState);
6363
}
6464
};
6565

src/sqlancer/postgres/PostgresProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ protected TestOracle getTestOracle(PostgresGlobalState globalState) throws SQLEx
215215
throw new AssertionError(e1);
216216
}
217217
}).collect(Collectors.toList());
218-
return new CompositeTestOracle(oracles);
218+
return new CompositeTestOracle(oracles, globalState);
219219
}
220220

221221
@Override

src/sqlancer/sqlite3/SQLite3Options.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ public TestOracle create(SQLite3GlobalState globalState) throws SQLException {
146146
oracles.add(new SQLite3TLPGroupByOracle(globalState));
147147
oracles.add(new SQLite3TLPHavingOracle(globalState));
148148
oracles.add(new SQLite3TLPAggregateOracle(globalState));
149-
return new CompositeTestOracle(oracles);
149+
return new CompositeTestOracle(oracles, globalState);
150150
}
151151
};
152152

src/sqlancer/tidb/TiDBOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public TestOracle create(TiDBGlobalState globalState) throws SQLException {
3939
List<TestOracle> oracles = new ArrayList<>();
4040
oracles.add(new TiDBTLPWhereOracle(globalState));
4141
oracles.add(new TiDBTLPHavingOracle(globalState));
42-
return new CompositeTestOracle(oracles);
42+
return new CompositeTestOracle(oracles, globalState);
4343
}
4444
};
4545

src/sqlancer/tidb/TiDBProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ protected TestOracle getTestOracle(TiDBGlobalState globalState) throws SQLExcept
144144
throw new AssertionError(e1);
145145
}
146146
}).collect(Collectors.toList());
147-
return new CompositeTestOracle(oracles);
147+
return new CompositeTestOracle(oracles, globalState);
148148
}
149149

150150
@Override

0 commit comments

Comments
 (0)