Use LinkedHashMap for deterministic iteration order#7958
Use LinkedHashMap for deterministic iteration order#7958Yilinwang wants to merge 3 commits intoOpenAPITools:masterfrom
Conversation
|
Thanks for the PR but your commit (as shown in the Commits tab) is not linked to your Github account, which means this PR won't count as your contribution in https://github.com/OpenAPITools/openapi-generator/graphs/contributors. Let me know if you need help fixing it. |
|
Tests failed. Please refer to https://travis-ci.org/github/OpenAPITools/openapi-generator/builds/744096190 for more information. |
|
cc @OpenAPITools/generator-core-team as it's impacting the default codegen class. |
|
LGTM |
|
Thanks for replying. Changed the author but not sure if it works properly. |
|
Thanks for the PR. Sorry for the delay in reviewing the change. I've resolved the merge conflicts and filed #12230 instead. |
The tests
org.openapitools.codegen.kotlin.AbstractKotlinCodegenTest#convertModelName,org.openapitools.codegen.kotlin.AbstractKotlinCodegenTest#convertVarNameandorg.openapitools.codegen.DefaultCodegenTest#verifyXDiscriminatorValuecan fail due to a different iteration order of HashMap. The failures are as follows:The specification about HashMap says that "this class makes no guarantees as to the order of the map; in particular, it does not guarantee that the order will remain constant over time". The documentation is here for your reference: https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html
The fix is to change it to a LinkedHashMap so that the iteration order remains stable and the failure will not occur any more. In this way, the test will be more stable.
@bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10) @bkabrda (2020/01)
PR checklist
./bin/generate-samples.shto update all Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example./bin/generate-samples.sh bin/configs/java*. For Windows users, please run the script in Git BASH.master