20
20
21
21
import java .io .File ;
22
22
import java .io .IOException ;
23
+ import java .util .Arrays ;
24
+ import java .util .List ;
23
25
import java .util .logging .Level ;
24
26
import java .util .logging .Logger ;
25
27
import net .sf .jsqlparser .JSQLParserException ;
@@ -46,6 +48,157 @@ public class SpecialOracleTest {
46
48
private static final File SQLS_DIR = new File ("target/test-classes/net/sf/jsqlparser/statement/oracle-tests" );
47
49
private static final Logger LOG = Logger .getLogger (SpecialOracleTest .class .getName ());
48
50
51
+ private List <String > successes = Arrays .asList ("aggregate01.sql" ,
52
+ "analytic_query06.sql" ,
53
+ "analytic_query08.sql" ,
54
+ "analytic_query09.sql" ,
55
+ "analytic_query10.sql" ,
56
+ "bindvar01.sql" ,
57
+ "bindvar02.sql" ,
58
+ "case_when01.sql" ,
59
+ "case_when02.sql" ,
60
+ "case_when03.sql" ,
61
+ "case_when04.sql" ,
62
+ "case_when05.sql" ,
63
+ "cast_multiset01.sql" ,
64
+ "cast_multiset02.sql" ,
65
+ "cast_multiset03.sql" ,
66
+ "cast_multiset04.sql" ,
67
+ "cast_multiset05.sql" ,
68
+ "cast_multiset06.sql" ,
69
+ "cast_multiset08.sql" ,
70
+ "cast_multiset10.sql" ,
71
+ "cast_multiset11.sql" ,
72
+ "cast_multiset12.sql" ,
73
+ "cast_multiset16.sql" ,
74
+ "cast_multiset17.sql" ,
75
+ "cast_multiset20.sql" ,
76
+ "cast_multiset21.sql" ,
77
+ "cast_multiset23.sql" ,
78
+ "cast_multiset25.sql" ,
79
+ "cast_multiset28.sql" ,
80
+ "cast_multiset29.sql" ,
81
+ "cast_multiset30.sql" ,
82
+ "cast_multiset31.sql" ,
83
+ "cast_multiset32.sql" ,
84
+ "cast_multiset33.sql" ,
85
+ "cast_multiset35.sql" ,
86
+ "cast_multiset36.sql" ,
87
+ "cast_multiset40.sql" ,
88
+ "cast_multiset41.sql" ,
89
+ "cast_multiset42.sql" ,
90
+ "cast_multiset43.sql" ,
91
+ "columns01.sql" ,
92
+ "condition01.sql" ,
93
+ "condition02.sql" ,
94
+ "condition03.sql" ,
95
+ "condition04.sql" ,
96
+ "condition05.sql" ,
97
+ "condition07.sql" ,
98
+ "condition09.sql" ,
99
+ "condition10.sql" ,
100
+ "condition12.sql" ,
101
+ "condition14.sql" ,
102
+ "condition20.sql" ,
103
+ "connect_by02.sql" ,
104
+ "connect_by03.sql" ,
105
+ "connect_by04.sql" ,
106
+ "connect_by05.sql" ,
107
+ "connect_by07.sql" ,
108
+ "datetime02.sql" ,
109
+ "datetime04.sql" ,
110
+ "datetime05.sql" ,
111
+ "datetime06.sql" ,
112
+ "dblink01.sql" ,
113
+ "for_update01.sql" ,
114
+ "for_update02.sql" ,
115
+ "for_update03.sql" ,
116
+ "for_update05.sql" ,
117
+ "function01.sql" ,
118
+ "function02.sql" ,
119
+ "groupby08.sql" ,
120
+ "groupby09.sql" ,
121
+ "groupby12.sql" ,
122
+ "groupby14.sql" ,
123
+ "groupby19.sql" ,
124
+ "groupby20.sql" ,
125
+ "groupby21.sql" ,
126
+ "groupby22.sql" ,
127
+ "groupby23.sql" ,
128
+ "interval02.sql" ,
129
+ "interval04.sql" ,
130
+ "join01.sql" ,
131
+ "join02.sql" ,
132
+ "join03.sql" ,
133
+ "join04.sql" ,
134
+ "join06.sql" ,
135
+ "join07.sql" ,
136
+ "join08.sql" ,
137
+ "join09.sql" ,
138
+ "join10.sql" ,
139
+ "join11.sql" ,
140
+ "join12.sql" ,
141
+ "join14.sql" ,
142
+ "join15.sql" ,
143
+ "join16.sql" ,
144
+ "join18.sql" ,
145
+ "join19.sql" ,
146
+ "join20.sql" ,
147
+ "join21.sql" ,
148
+ "keywordasidentifier01.sql" ,
149
+ "keywordasidentifier02.sql" ,
150
+ "keywordasidentifier03.sql" ,
151
+ "keywordasidentifier05.sql" ,
152
+ "lexer02.sql" ,
153
+ "lexer03.sql" ,
154
+ "lexer04.sql" ,
155
+ "lexer05.sql" ,
156
+ "like01.sql" ,
157
+ "order_by01.sql" ,
158
+ "order_by02.sql" ,
159
+ "order_by03.sql" ,
160
+ "order_by04.sql" ,
161
+ "order_by05.sql" ,
162
+ "order_by06.sql" ,
163
+ "pivot02.sql" ,
164
+ "pivot03.sql" ,
165
+ "pivot05.sql" ,
166
+ "pivot06.sql" ,
167
+ "pivot07.sql" ,
168
+ "pivot08.sql" ,
169
+ "pivot09.sql" ,
170
+ "pivot11.sql" ,
171
+ "query_factoring01.sql" ,
172
+ "query_factoring02.sql" ,
173
+ "query_factoring03.sql" ,
174
+ "query_factoring06.sql" ,
175
+ "query_factoring08.sql" ,
176
+ "query_factoring09.sql" ,
177
+ "query_factoring11.sql" ,
178
+ "query_factoring12.sql" ,
179
+ "set01.sql" ,
180
+ "set02.sql" ,
181
+ "simple02.sql" ,
182
+ "simple03.sql" ,
183
+ "simple06.sql" ,
184
+ "simple07.sql" ,
185
+ "simple08.sql" ,
186
+ "simple09.sql" ,
187
+ "simple10.sql" ,
188
+ "simple11.sql" ,
189
+ "simple12.sql" ,
190
+ "simple13.sql" ,
191
+ "union01.sql" ,
192
+ "union02.sql" ,
193
+ "union03.sql" ,
194
+ "union04.sql" ,
195
+ "union05.sql" ,
196
+ "union06.sql" ,
197
+ "union07.sql" ,
198
+ "union08.sql" ,
199
+ "union09.sql" ,
200
+ "union10.sql" );
201
+
49
202
@ Test
50
203
public void testAllSqlsParseDeparse () throws IOException {
51
204
int count = 0 ;
@@ -57,9 +210,11 @@ public void testAllSqlsParseDeparse() throws IOException {
57
210
count ++;
58
211
LOG .log (Level .INFO , "testing {0}" , file .getName ());
59
212
String sql = FileUtils .readFileToString (file );
213
+ boolean parsed = false ;
60
214
try {
61
215
assertSqlCanBeParsedAndDeparsed (sql , true );
62
216
success ++;
217
+ parsed = true ;
63
218
LOG .info (" -> SUCCESS" );
64
219
} catch (JSQLParserException ex ) {
65
220
ex .printStackTrace ();
@@ -70,6 +225,10 @@ public void testAllSqlsParseDeparse() throws IOException {
70
225
} catch (ComparisonFailure ex ) {
71
226
LOG .log (Level .INFO , " -> PROBLEM {0}" , ex .toString ());
72
227
}
228
+
229
+ if (!parsed && successes .contains (file .getName ())) {
230
+ LOG .log (Level .WARNING , " -> regression on file {0}" , file .getName ());
231
+ }
73
232
}
74
233
}
75
234
0 commit comments