Details
-
Task
-
Resolution: Done
-
P3: Somewhat important
-
None
-
None
-
a97a36aac550c175a2e2045ead55ad4d263a24ed 48f8d0cf20f8bcdb35bfc49057ad1fa768e66825 a7027e7ecc0bfc97030110105436fd5406256108 74c91e9f6de56728de5472b9d7c2372e480f37b3 e3be9077b284174a97bff82f52ffbfda11369d18 da48bbe66b7821416bee1ebc0215bc93e68f0a2a
Description
QtScript module is extensively tested by automatic tests. Not only API is tested, but also ECMA Script compliance (look also at QTBUG-16606), behavior and many different "edge cases". On one hand this allow us to quickly find regressions and ensure really good stability. On other hand many tests "enforce" behavior even if we are not sure if it is sensible or important.
For example tst_QScriptValueIterator, it enforce iterating order even if ECMA Script describe it as "undefined". Nobody should relay on this behavior, even if the test may suggest something different.
I would suggest to:
1. Add, inside test code, comments that describe purpose of the test
- what is the goal of the test, what behavior it actually tests
- why it was written (bug report, crash, ECMA standard...)
- impact of breaking it (none, corner case, ECMA compliance...)
2. Split tests into really small chunks
3. Rewrite some tests (if possible) to not define undefined behaviors.