- 25 Jun, 2021 8 commits
-
-
Jérome Perrin authored
With distributed caches, portal_caches.clearAllCache() does not clear cache, so using ERP5Site_cleanupSupportRequestUITestDataSet is not enough to flush the "last comment" from portal sessions, so we need to delete explicitly the session - and also commit the transaction because distributed caches are also transactional.
-
Jérome Perrin authored
when using a RAM cache for session, we can modify the temp objects directly and the changes are kept, because the same object kept in RAM is accessed by subsequent requests, but when using memcached every request get a different object, so we need to put back the object in the session so that the new version is saved in cache, so that subsequent requests use the modified object
-
Jérome Perrin authored
When sessions uses a RAMCache, the portal_caches.clearAllCache is enough to reset the session, but not when using a distributed cache.
-
Jérome Perrin authored
It was using the default UserDict.update implementation which did not remove acquisition wrapper and eventually lead to ConnectionStateError like for example > Shouldn't load state for erp5.portal_type.Interaction Workflow Interaction 0x6637 when the connection is closed which was observed when deleting sale order lines (wich triggers some interaction)
-
Tristan Cavelier authored
Previously `Ram Cache` was used, causing anonymous clients to never use portal_session properly. Mainly for public forum captcha purpose. Now `Distributed Ram Cache` is used to share the session between the zope nodes. It's required to restart all zope nodes after this BT5 upgrade.
-
Jérome Perrin authored
This was only supported for the RAMCache version of session tool, but is also good to support them in DistributedRamCache, so that we can use DistributedRamCache by default. One breaking change is that when using RAMCache, changes made to temp objects in session were persisting for the session lifetime, after this change, each time we get the object from the session we get a new fresh object, so if we make change we have to explicitly put it back to the session, which is surprising for developers used to the convenience of ZODB transparent persistence.
-
Jérome Perrin authored
Stop using Sequence, use more high level assertion methods instead of self.assert_, define the shared tests in a test case and make tests for each cache plugins inherit from the test case. Also add a few tests: - storing temp objects in Distributed cache - storing "recursive" temp objects (like a sale order with sale order lines)
-
Jérome Perrin authored
What should not be allowed is to store persistent objects in ZODB, but pickling them should be OK. This is necessary if we want to store them in memcached. This also modifies loadTempPortalTypeClass which was returning a class with a different name than requested, by prepending "Temporary ". This prevented pickling, because pickle checks that the class is can be imported under its same name. This was problematic because before this change, we had such a behavior: (Pdb) tmp = self.portal.person_module.newContent(portal_type='Person', temp_object=True) (Pdb) tmp.__class__ <class 'erp5.temp_portal_type.Temporary Person'> (Pdb) import erp5.temp_portal_type (Pdb) getattr(erp5.temp_portal_type, 'Temporary Person') <class 'erp5.temp_portal_type.Temporary Temporary Person'> My understanding is that this prefix in the class name was not useful, that class lives in another module than the "real" Person class.
-
- 23 Jun, 2021 1 commit
-
-
Jérome Perrin authored
-
- 21 Jun, 2021 2 commits
-
-
Xiaowu Zhang authored
-
Jérome Perrin authored
* expose firefox console and error logs in `geckodriver.log` * expose `geckodriver.log` in the folder testnodes expose on http * fix some cases where test were detected as "did not run" and cases where "did not run" tests were not reported as failures See merge request nexedi/erp5!1444
-
- 18 Jun, 2021 2 commits
-
-
Jérome Perrin authored
It can happen that a test running selenium fail in python, but not in selenium, like for example test_result_module/20210615-CDADEC14/183 To prevent such tests from being reported as PASS, we make the total number of failures being the sum of the python unittest failures and the selenium failures.
-
Jérome Perrin authored
It happens, for example with erp5_officejs_ui_test:testFunctionalOfficeJSPyodideNotebook on test_result_module/20210615-CDADEC14/183 that the test is considered as not running, because the test result table was not populated in time. Add an explicit wait to prevent such problems.
-
- 17 Jun, 2021 6 commits
-
-
Julien Muchembled authored
This fixes commit ea4cb55b. Our 'rmtree' helper has never been supposed to be called on a non-existing folder: the ENOENT handling is an unrelated implementation detail for Python 2. Also drop erp5.util's rmtree and use the one from slapos.core, which is a [testnode] dependency.
-
Romain Courteaud authored
This front page gadget allows user to: * create any kind of document * launch any kind of report * contribute a new documents
-
Romain Courteaud authored
This gadget can be used to replicate the xhtml access page.
-
Romain Courteaud authored
-
Jérome Perrin authored
Eventhough _getBudgetDict was cached, getAvailableBudgetDict also calculates getCurrentBudget for each cell, which is also heavy.
-
Jérome Perrin authored
Duplicate actions are actions from the same category with the same name. See merge request nexedi/erp5!1442
-
- 15 Jun, 2021 6 commits
-
-
Julien Muchembled authored
With software release test suites, there are probably files/folders with permission issues. See commit 380037f8.
-
Jérome Perrin authored
so that we can access this log directly via http
-
Jérome Perrin authored
This firefox setting cause console.log messages or javascript errors to be printed on stdout, which should help diagnosing failures sometimes.
-
Jérome Perrin authored
See merge request nexedi/erp5!1439
-
Jérome Perrin authored
By setting XORG_LOCK_DIR, we can isolate processes when running on slapos test nodes, so that instead of having all test runners used the shared /tmp, which eventually fail with EnvironmentError: All displays locked : [':123', ':124', ':125', ... errors when too many testnodes are currently running or too many testnodes have left some stale lock files. Eventhough since fbdb4ec9 (test: Do not check presence of lockfile in /tmp/ to assume Xvfb is running for this display, 2017-06-07) things have improved, it happens that the lock files are owned by a different unix user (because it was left by another testnode), then Xvfb is not able to remove the stale lock file.
-
Jérome Perrin authored
-
- 14 Jun, 2021 2 commits
-
-
Julien Muchembled authored
-
Julien Muchembled authored
This is backward compatibility code for previous commit.
-
- 11 Jun, 2021 3 commits
-
-
Jérome Perrin authored
actions in erp5_jio_view category does not seem to be directly presented to user, so rename them so that they don't use the same name "View" for coding style test_DuplicateActions
-
Jérome Perrin authored
-
Jérome Perrin authored
Duplicate actions are actions from the same category with the same name.
-
- 10 Jun, 2021 1 commit
-
-
Xavier Thompson authored
`inst/test0-0` -> `i/0` See merge request nexedi/erp5!1441
-
- 09 Jun, 2021 2 commits
-
-
Jérome Perrin authored
With bf57228a ([erp5_core] RelationField listbox must also fetch default_params value from the relationfield, 2018-05-09), we introduced a regression that listboxs from relation fields "proxy listbox ids" default params where no longer used. As a result, if we have a listbox which define some catalog search with default parameters, like for example the "Suppliers" or "Clients" listboxs from erp5_trade are doing, these parameters were not taken into account. In the case of trade listbox, this was showing all nodes. This changes Base_getRelatedObjectParameter to get catalog search from the proxy listbox if there is one.
-
Jérome Perrin authored
trade_renderjs_ui_test: tests for "Suppliers", "Clients", "Organisations" and "Persons" Proxy Listbox Ids
-
- 08 Jun, 2021 5 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Jérome Perrin authored
This is mostly for editor fields, to fix the problem that components were edited by the text editor and not the code editor. Editor is selected by Base_getEditorFieldPreferredTextEditor, which will use a text editor by default, unless the document has a content type, in which case it will return the most appropriate editor, which is by default the source code editor for documents whose text content is not text/html. It's anyway not wrong to have a content type defined here, Components are TextDocuments and TextDocuments usually have getContentType method.
-
Jérome Perrin authored
See merge request !1432
-
Jérome Perrin authored
also enable more plugins: - https://ckeditor.com/cke4/addon/autolink - https://ckeditor.com/cke4/addon/pastebase64 See merge request nexedi/erp5!1428
-
- 07 Jun, 2021 1 commit
-
-
Jérome Perrin authored
-
- 04 Jun, 2021 1 commit
-
-
Jérome Perrin authored
Instead of using an always-different logger name which confuses log analytics system, use the warning category as logger name (or what zLOG.LOG calls "subsystem")
-