- 28 Feb, 2024 34 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
unittest does a good job of explaining the differences when using splitlines on long texts, no need to compute a diff ourselves.
-
Jérome Perrin authored
-
Jérome Perrin authored
Using portal_transforms is not deterministic, because we don't have direct chain from ods to text, so the conversion is two steps, either ods=>html=>text or ods=>pdf=>text. This caused problem with hash randomization, revealed by testDeferredStyle.TestODSDeferredStyle.test_report_method_access_request with PYTHONHASHSEED=538 on python2. When using PYTHONHASHSEED=0 , this was using ods=>html=>text and the assertion from the test was OK, but when using ods=>pdf=>text the test fails because the words are cut at end of line.
-
Jérome Perrin authored
testERP5ImageProcessor PYTHONHASHSEED: 805
-
Jérome Perrin authored
revealed by test_getHateoas_selection_compatibility with PYTHONHASHSEED 763 also change testHalJsonStyle to be deterministic when testing domain tree and domain path, revealed by test_getHateoas_selection_compatibility with PYTHONHASHSEED 191
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
This is what happens with PYTHONHASHSEED=0, but when set to something random, the order was not guaranteed.
-
Jérome Perrin authored
-
Jérome Perrin authored
This makes it easier to find the problematic listbox and also report once per listbox.
-
Jérome Perrin authored
-
Jérome Perrin authored
This reverts commit f384b68f. activity tracking impacts performance too much
-
Jérome Perrin authored
Revealed by erp5_accounting_ui_test:testERP5CurrencyExchangeLine PYTHONHASHSEED: 438 on py2
-
Jérome Perrin authored
revealed by erp5_web_renderjs_ui_test:testFunctionalRJSDeveloperMode with PYTHONHASHSEED: 977 on py2
-
Jérome Perrin authored
When searching for something like for example "A AND B", make sure that the AND complex query contains query for ["A", "B"], not ["B", "A"]. This is probably always equivalent in generated SQL, but this makes testing easier. Revealed by testSQLCatalog.TestSQLCatalog with PYTHONHASHSEED 279 on py2
-
Jérome Perrin authored
When cutting with bytes, we might cut in the middle of a multi-bytes character and later decoding it would cause an error. We could switch to sending bytes encoded to base64, because the limit would be more natural to be number of bytes, but just decoding and cutting the string is easier and in practice not so different. This bug was revealed by testERP5SyncML.TestERP5SyncML.test_28_PartialData with PYTHONHASHSEED 872 and test_28_PartialData with PYTHONHASHSEED 238 ( on python2 )
-
Jérome Perrin authored
The order is used during syncml and if "title" comes before "first_name" and "last_name", synchronizing persons causes conflicts (because title of persons is computed from first_name and last_name). Luckily, sorting properties gives an order that is OK for syncml tests, so we don't need to invent a new mechanism to control the order of properties in asXML.
-
Jérome Perrin authored
if their content type ended in xml ( such as image/svg+xml ), TextDocument._convertToBaseFormat was resetting the content type to application/xml. When doing something like: wp = web_page_module.newContent( portal_type='Web Page', content_type='image/svg+xml', text_content=svg ) wp.getContentType() was sometimes 'image/svg+xml' sometimes 'application/xml', depending on the order of edit.
-
Jérome Perrin authored
-
Jérome Perrin authored
and maybe : ERP5Type/Base: execute workflow interactions in alphabetic order With a perfect configuration, this should probably does not matter, because the order of interactions should not be important (if there are dependencies they should be handled more explicitly), but this makes the behavior deterministic. and maybe: always sort in edit
-
Jérome Perrin authored
movement.hasCategory('quantity_unit') was always false, it was a misunderstanding of hasCategory API. This was working anyway because of the order of edit (which depends on iteration order of **kw arguments passed to edit), this was only working when quantity unit was set before resource. ( this was revealed by test_01_quantity_unit_copied from testInvoice running on python2 with PYTHONHASHSEED=164 )
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
This produces stable output that we can assert more easily in the test
-
Jérome Perrin authored
-
Jérome Perrin authored
When a business template has multiple dependencies, these dependencies were installed in an order defined by iteration in dictionaries, which is not deterministic when using a random PYTHONHASHSEED on python2. As an example, when we have business template "b" depending on "b1" and "b2", the only guarantee was that "b" would be installed after "b1" and "b2", but which one of "b1" and "b2" is installed first was undefined, now it is stable, "b1" should be installed before "b2", because we added a sort. In practice it should not matter, because if in that example "b2" really needs to be installed after "b1", then "b2" should declare a dependency on "b1". test_resolveBusinessTemplateListDependency was failing on python3 because the order on python3 was different from the one using PYTHONHASHSEED=0 on python2.
-
Jérome Perrin authored
In that case, the order of actions rendering is undefined, we want to have unique priorities to have deterministic order of actions.
-
Jérome Perrin authored
-
Jérome Perrin authored
This things (in practice, tests) deterministic
-
Jérome Perrin authored
This probably happened only in the test, but it's safer not to retry for ever.
-
Jérome Perrin authored
-
Jérome Perrin authored
-
- 27 Feb, 2024 5 commits
-
-
Roque authored
-
Roque authored
See merge request nexedi/erp5!1885
-
Roque authored
-
Julien Muchembled authored
-
Georgios Dagkakis authored
-
- 26 Feb, 2024 1 commit
-
-
Jérome Perrin authored
It was using "Reference" instead of the dedicated term "Currency Code". Attribute Unicity constraint message was not correctly including the reference, the error message was always "Another currency with reference None already exists".
-