Author: centic
Date: Sun Apr 7 07:17:47 2019
New Revision: 1857068
URL: http://svn.apache.org/viewvc?rev=1857068&view=rev
Log:
Fix a flaky test, it seems if the document is not closed, the automatic
closing of file-handles interferes with subsequent tests, by closing the
document this flakiness seems to be gone.
Flakiness could be reproduced locally by continuously running test with IntelliJ
"run until failure" run-config option and after aprox. 17,000 test-executions!
Modified:
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java
Modified:
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java
URL:
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java?rev=1857068&r1=1857067&r2=1857068&view=diff
==============================================================================
---
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java
(original)
+++
poi/trunk/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestBug47563.java
Sun Apr 7 07:17:47 2019
@@ -49,7 +49,7 @@ public class TestBug47563 {
data.add(new Object[] {6, 1});
data.add(new Object[] {2, 2});
data.add(new Object[] {3, 2});
- data.add(new Object[] {2, 3});
+ data.add(new Object[] {2, 3}); //
data.add(new Object[] {3, 3});
return data;
@@ -62,46 +62,47 @@ public class TestBug47563 {
// POI apparently can't create a document from scratch,
// so we need an existing empty dummy document
- HWPFDocument doc =
HWPFTestDataSamples.openSampleFile("empty.doc");
+ try (HWPFDocument doc =
HWPFTestDataSamples.openSampleFile("empty.doc")) {
+ Range range = doc.getRange();
+ range.sanityCheck();
- Range range = doc.getRange();
- range.sanityCheck();
+ Table table = range.insertTableBefore((short) columns,
rows);
+ table.sanityCheck();
- Table table = range.insertTableBefore((short) columns, rows);
- table.sanityCheck();
-
- for (int rowIdx = 0; rowIdx < table.numRows(); rowIdx++) {
- TableRow row = table.getRow(rowIdx);
- row.sanityCheck();
-
- System.out.println("row " + rowIdx);
- for (int colIdx = 0; colIdx < row.numCells(); colIdx++)
{
- TableCell cell = row.getCell(colIdx);
- cell.sanityCheck();
-
- System.out.println("column " + colIdx + ", num
paragraphs "
- + cell.numParagraphs());
-
- Paragraph par = cell.getParagraph(0);
- par.sanityCheck();
-
- par.insertBefore("" + (rowIdx * row.numCells()
+ colIdx));
- par.sanityCheck();
-
+ for (int rowIdx = 0; rowIdx < table.numRows();
rowIdx++) {
+ TableRow row = table.getRow(rowIdx);
row.sanityCheck();
- table.sanityCheck();
- range.sanityCheck();
+
+ System.out.println("row " + rowIdx);
+ for (int colIdx = 0; colIdx < row.numCells();
colIdx++) {
+ TableCell cell = row.getCell(colIdx);
+ cell.sanityCheck();
+
+ System.out.println("column " + colIdx +
", num paragraphs "
+ + cell.numParagraphs());
+
+ Paragraph par = cell.getParagraph(0);
+ par.sanityCheck();
+
+ par.insertBefore("" + (rowIdx *
row.numCells() + colIdx));
+ par.sanityCheck();
+
+ row.sanityCheck();
+ table.sanityCheck();
+ range.sanityCheck();
+ }
}
- }
- String text = range.text();
- int mustBeAfter = 0;
- for (int i = 0; i < rows * columns; i++) {
- int next = text.indexOf(Integer.toString(i),
mustBeAfter);
- assertTrue("Test with " + rows + "/" + columns + ":
Should not find " + i + " but found it at " + next + " with " + mustBeAfter + "
in " + text + "\n" +
-
text.indexOf(Integer.toString(i), mustBeAfter),
- next != -1);
- mustBeAfter = next;
+ String text = range.text();
+ int mustBeAfter = 0;
+ for (int i = 0; i < rows * columns; i++) {
+ int next = text.indexOf(Integer.toString(i),
mustBeAfter);
+ assertTrue("Test with " + rows + "/" + columns
+ ": Should not find " + i +
+ " but found it
at " + next + " with " + mustBeAfter + " in " + text + "\n" +
+
text.indexOf(Integer.toString(i), mustBeAfter),
+ next != -1);
+ mustBeAfter = next;
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]