Skip to content

Commit f26a22a

Browse files
committed
Test parsing an empty file.
- Sort members. - Better constant name. - Move RAT check to plugin management section to de-duplicate the exclusion list.
1 parent d608f55 commit f26a22a

4 files changed

Lines changed: 173 additions & 186 deletions

File tree

pom.xml

Lines changed: 32 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,38 @@
228228
</rulesets>
229229
</configuration>
230230
</plugin>
231+
<!-- We need to add our test data files to rat exclusions -->
232+
<!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn apache-rat:check -->
233+
<plugin>
234+
<groupId>org.apache.rat</groupId>
235+
<artifactId>apache-rat-plugin</artifactId>
236+
<!-- Should agree with config in reporting section -->
237+
<configuration>
238+
<excludes>
239+
<!-- These files are used as test data and test result specifications. -->
240+
<exclude>src/test/resources/org/apache/commons/csv/empty.txt</exclude>
241+
<exclude>src/test/resources/org/apache/commons/csv/csv-167/sample1.csv</exclude>
242+
<exclude>src/test/resources/org/apache/commons/csv/CSV-198/optd_por_public.csv</exclude>
243+
<exclude>src/test/resources/org/apache/commons/csv/CSV-213/999751170.patch.csv</exclude>
244+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/bom.csv</exclude>
245+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test.csv</exclude>
246+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_default.txt</exclude>
247+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_default_comment.txt</exclude>
248+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_rfc4180.txt</exclude>
249+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_rfc4180_trim.txt</exclude>
250+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85.csv</exclude>
251+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85_default.txt</exclude>
252+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85_ignoreEmpty.txt</exclude>
253+
<!-- The ferc.gov files are included discussion in https://issues.apache.org/jira/browse/LEGAL-175. -->
254+
<exclude>src/test/resources/org/apache/commons/csv/ferc.gov/contract.txt</exclude>
255+
<exclude>src/test/resources/org/apache/commons/csv/ferc.gov/transaction.txt</exclude>
256+
<exclude>src/test/resources/**/*.bin</exclude>
257+
<exclude>src/test/resources/org/apache/commons/csv/CSV-259/sample.txt</exclude>
258+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV246.csv</exclude>
259+
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV246_checkWithNoComment.txt</exclude>
260+
</excludes>
261+
</configuration>
262+
</plugin>
231263
</plugins>
232264
</pluginManagement>
233265
<plugins>
@@ -277,36 +309,9 @@
277309
<artifactId>maven-pmd-plugin</artifactId>
278310
</plugin>
279311

280-
<!-- We need to add our test data files to rat exclusions -->
281-
<!-- Needed for command-line access, e.g mvn apache-rat:rat and mvn apache-rat:check -->
282312
<plugin>
283313
<groupId>org.apache.rat</groupId>
284314
<artifactId>apache-rat-plugin</artifactId>
285-
<!-- Should agree with config in reporting section -->
286-
<configuration>
287-
<excludes>
288-
<!-- These files are used as test data and test result specifications. -->
289-
<exclude>src/test/resources/org/apache/commons/csv/csv-167/sample1.csv</exclude>
290-
<exclude>src/test/resources/org/apache/commons/csv/CSV-198/optd_por_public.csv</exclude>
291-
<exclude>src/test/resources/org/apache/commons/csv/CSV-213/999751170.patch.csv</exclude>
292-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/bom.csv</exclude>
293-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test.csv</exclude>
294-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_default.txt</exclude>
295-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_default_comment.txt</exclude>
296-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_rfc4180.txt</exclude>
297-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/test_rfc4180_trim.txt</exclude>
298-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85.csv</exclude>
299-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85_default.txt</exclude>
300-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV85_ignoreEmpty.txt</exclude>
301-
<!-- The ferc.gov files are included discussion in https://issues.apache.org/jira/browse/LEGAL-175. -->
302-
<exclude>src/test/resources/org/apache/commons/csv/ferc.gov/contract.txt</exclude>
303-
<exclude>src/test/resources/org/apache/commons/csv/ferc.gov/transaction.txt</exclude>
304-
<exclude>src/test/resources/**/*.bin</exclude>
305-
<exclude>src/test/resources/org/apache/commons/csv/CSV-259/sample.txt</exclude>
306-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV246.csv</exclude>
307-
<exclude>src/test/resources/org/apache/commons/csv/CSVFileParser/testCSV246_checkWithNoComment.txt</exclude>
308-
</excludes>
309-
</configuration>
310315
</plugin>
311316

312317
</plugins>
@@ -384,34 +389,9 @@
384389
</tagListOptions>
385390
</configuration>
386391
</plugin>
387-
<!-- We need to add our test data files to rat exclusions -->
388392
<plugin>
389393
<groupId>org.apache.rat</groupId>
390394
<artifactId>apache-rat-plugin</artifactId>
391-
<version>${commons.rat.version}</version>
392-
<!-- Should agree with config in build section -->
393-
<configuration>
394-
<excludes>
395-
<exclude>src/test/resources/csv-167/sample1.csv</exclude>
396-
<exclude>src/test/resources/CSV-198/optd_por_public.csv</exclude>
397-
<exclude>src/test/resources/CSV-213/999751170.patch.csv</exclude>
398-
<exclude>src/test/resources/CSVFileParser/bom.csv</exclude>
399-
<exclude>src/test/resources/CSVFileParser/test.csv</exclude>
400-
<exclude>src/test/resources/CSVFileParser/test_default.txt</exclude>
401-
<exclude>src/test/resources/CSVFileParser/test_default_comment.txt</exclude>
402-
<exclude>src/test/resources/CSVFileParser/test_rfc4180.txt</exclude>
403-
<exclude>src/test/resources/CSVFileParser/test_rfc4180_trim.txt</exclude>
404-
<exclude>src/test/resources/CSVFileParser/testCSV85.csv</exclude>
405-
<exclude>src/test/resources/CSVFileParser/testCSV85_default.txt</exclude>
406-
<exclude>src/test/resources/CSVFileParser/testCSV85_ignoreEmpty.txt</exclude>
407-
<exclude>src/test/resources/ferc.gov/contract.txt</exclude>
408-
<exclude>src/test/resources/ferc.gov/transaction.txt</exclude>
409-
<exclude>src/test/resources/**/*.bin</exclude>
410-
<exclude>src/test/resources/CSV-259/sample.txt</exclude>
411-
<exclude>src/test/resources/CSVFileParser/testCSV246.csv</exclude>
412-
<exclude>src/test/resources/CSVFileParser/testCSV246_checkWithNoComment.txt</exclude>
413-
</excludes>
414-
</configuration>
415395
</plugin>
416396
</plugins>
417397
</reporting>

src/test/java/org/apache/commons/csv/CSVFileParserTest.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
import java.io.BufferedReader;
2626
import java.io.File;
2727
import java.io.FileReader;
28-
import java.io.FilenameFilter;
2928
import java.io.IOException;
3029
import java.net.URL;
3130
import java.nio.charset.Charset;
3231
import java.nio.charset.StandardCharsets;
32+
import java.nio.file.Files;
3333
import java.util.Arrays;
3434
import java.util.stream.Stream;
3535

@@ -41,7 +41,7 @@
4141
*/
4242
public class CSVFileParserTest {
4343

44-
private static final File BASE = new File("src/test/resources/org/apache/commons/csv/CSVFileParser");
44+
private static final File BASE_DIR = new File("src/test/resources/org/apache/commons/csv/CSVFileParser");
4545

4646
private String readTestData(final BufferedReader reader) throws IOException {
4747
String line;
@@ -52,8 +52,7 @@ private String readTestData(final BufferedReader reader) throws IOException {
5252
}
5353

5454
public static Stream<File> generateData() {
55-
final FilenameFilter fileNameFilter = (dir, name) -> name.startsWith("test") && name.endsWith(".txt");
56-
final File[] files = BASE.listFiles(fileNameFilter);
55+
final File[] files = BASE_DIR.listFiles((dir, name) -> name.startsWith("test") && name.endsWith(".txt"));
5756
return files != null ? Stream.of(files) : Stream.empty();
5857
}
5958

@@ -88,7 +87,7 @@ public void testCSVFile(final File testFile) throws Exception {
8887

8988
// Now parse the file and compare against the expected results
9089
// We use a buffered reader internally so no need to create one here.
91-
try (final CSVParser parser = CSVParser.parse(new File(BASE, split[0]), Charset.defaultCharset(), format)) {
90+
try (final CSVParser parser = CSVParser.parse(new File(BASE_DIR, split[0]), Charset.defaultCharset(), format)) {
9291
for (final CSVRecord record : parser) {
9392
String parsed = Arrays.toString(record.values());
9493
final String comment = record.getComment();

0 commit comments

Comments
 (0)