| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Thank you for opening this. As I look at the unit test, I don't think we should test for legacy sort there because, as you point out, there is no guarantee of order from Metadata#names(). I removed that portion of the test in the main branch. Thank you! |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
PR Overview:
This PR fixes the flaky/non-deterministic behavior of the following test because it assumes the ordering.
org.apache.tika.cli.TikaCLITest#testJsonMetadataOutput
Test Overview:
The output returned by getParamOutContent is flaky in nature and is non-deterministic. This results in the testJsonMetadataOutput failing.
This flakiness was identified by the nondex tool created by the researchers of UIUC.
You can reproduce the issue by running the following commands:
Fix:
To fix the issue I decided to sort the JSON string. To sort the JSON string I used the Google extension "com.google.code.gson" in the tika-app/pom.xml file. This made the output deterministic and led the code to successfully passing.
https://github.com/njain2208/tika/blob/8fce6e9afcc6872e0d5cdfac08ccd2c7dfd7d0b0/tika-app/src/test/java/org/apache/tika/cli/TikaCLITest.java#L251-L271