You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2021/01/02 01:32:26 UTC
[Bug 65046] New: Simplify integration tests
https://bz.apache.org/bugzilla/show_bug.cgi?id=65046
Bug ID: 65046
Summary: Simplify integration tests
Product: POI
Version: 4.1.x-dev
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P2
Component: POI Overall
Assignee: dev@poi.apache.org
Reporter: kiwiwings@apache.org
Target Milestone: ---
Created attachment 37678
--> https://bz.apache.org/bugzilla/attachment.cgi?id=37678&action=edit
Integration test patch
The TestAllFiles class is a bit non-deterministic, i.e. the several try catches
and various expected failure lists are confusing.
I've changed the implementation so it's now based on a test list which takes
into account which ...
- file,
- file handler
- test case,
- password
- and exception/message
... is processed.
To have comparable exceptions, I've removed the wrapping
IOException/POIXMLException.
Furthermore I've activated concurrent processing, which cuts the test time on
my machine by 50% - only active for the integration tests.
As this would affect our current regression test comparability, I stash it here
until we've released POI 5.0.0 ... and maybe you want to give it a review.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
[Bug 65046] Simplify integration tests
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65046
--- Comment #1 from Dominik Stadler <do...@gmx.at> ---
Thanks for the suggestion, yes, sound like a good idea to clean up the
integration-testing a bit and also the speedup sounds very good as it is
becoming a bit long-running already.
I will review the impact on the mass-testing, the following items are used
currently:
* reuse the excludes via TestAllFiles.SCAN_EXCLUDES
* a way to lookup matching handlers based on file-extension via POIFileScanner
* use the interface FileHandler for executing the test for each file
* use BaseIntegrationTest.test() for executing tests for each file
None of the logic in TestAllFiles itself is needed, so refactoring it should be
possible as long as the basic FileHandler implementations are kept as-is.
Removing POIFileScanner would need some other way of getting a list of matching
documents. Keeping this in one place would be nice to not duplicate this logic
in both projects.
Not sure how much impact the changed Exception-handling will have, this will
need a closer look.
But let's keep this until after the 5.0.0 release so we do not introduce more
changes right now.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
[Bug 65046] Simplify integration tests
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65046
Andreas Beeker <ki...@apache.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #2 from Andreas Beeker <ki...@apache.org> ---
Applied via r1885538
I've removed POIFileScanner as it's not need for the internal integration
tests.
To lookup the handler, you can copy the logic of TestAllFiles.allfiles.
If this doesn't work, POIFileScanner can be reverted.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
[Bug 65046] Simplify integration tests
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65046
--- Comment #4 from Andreas Beeker <ki...@apache.org> ---
I refactored the TestAllFiles class and extracted some classes.
Have a look at TestAllFiles.allfiles - the StressMap is used to retrieve the
FileHandlers. It must be initialized with the mapping file before.
For the mass test, the "Exceptions" sheet doesn't need to be provided.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
[Bug 65046] Simplify integration tests
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65046
Dominik Stadler <do...@gmx.at> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #37678|text/plain |application/x-gzip
mime type| |
Attachment #37678|1 |0
is patch| |
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
[Bug 65046] Simplify integration tests
Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=65046
--- Comment #3 from Dominik Stadler <do...@gmx.at> ---
POIFileScanner can easily be moved to the regression-test project, but it is
now complicated to use the integration-test functionality to find a matching
handler for an arbitrary file, i.e.
"TestAllFiles.HANDLERS.get(TestAllFiles.getExtension(file))" does not work any
more. I would like to re-use this "knowledge" from poi about the relation of
extensions to file-handlers.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org